Top Banner
SLAAC/ACS API: SLAAC/ACS API: A Status Report A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999
21

SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Jan 18, 2016

Download

Documents

Willis Parks
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

SLAAC/ACS API: SLAAC/ACS API: A Status ReportA Status Report

Virginia TechConfigurable Computing LabSLAAC Retreat March 1999

Page 2: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

The Virginia Tech SLAAC The Virginia Tech SLAAC TeamTeam

• Dr. Peter AthanasDr. Peter Athanas

• Dr. Mark JonesDr. Mark Jones

• Heather HillHeather Hill

• Emad IbrahimEmad Ibrahim

• Zahi NakadZahi Nakad

• Kuan Yao Kuan Yao

• Diron DriverDiron Driver

• Karen ChenKaren Chen

• Chris TwaddleChris Twaddle

• Jonathan Jonathan ScottScott

• Luke ScharfLuke Scharf

• Lou PochetLou Pochet

• John ShiflettJohn Shiflett

• Peng PengPeng Peng

• Sarah AireySarah Airey

• Chris LaughlinChris Laughlin

Page 3: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Problem DefinitionProblem Definition

• A single adaptive computing board is A single adaptive computing board is insufficient for many applicationsinsufficient for many applications

• Difficult to move an application from a Difficult to move an application from a research laboratory to practical research laboratory to practical applicationapplication

• Need for application to move to new Need for application to move to new platforms as they become available platforms as they become available without unreasonable effortwithout unreasonable effort

Page 4: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Solution ApproachSolution Approach

• Define a platform independent API that Define a platform independent API that allows for configuration and control of a allows for configuration and control of a multi-board ACS multi-board ACS

• Provide efficient implementations of the Provide efficient implementations of the API for research & field platformsAPI for research & field platforms

– exploit high speed networkingexploit high speed networking

– modular design that performs more complex modular design that performs more complex control tasks on a OS-equipped hostcontrol tasks on a OS-equipped host

Page 5: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Representative Field Representative Field SystemSystem

• Embedded, distributed systemEmbedded, distributed system– sensor nodessensor nodes

– actuator nodesactuator nodes

– adaptive computing nodesadaptive computing nodes

• Limited OS/Limited OS/microprocessor microprocessor support on most nodessupport on most nodes

• Heterogeneous networkHeterogeneous network

Page 6: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Tower of PowerTower of Power

• 16 PII 300 MHz PCs 16 PII 300 MHz PCs w/ 256 MB RAMw/ 256 MB RAM

• Myrinet and Fast Myrinet and Fast Ethernet Switched Ethernet Switched NetworksNetworks

• AMS Wildforce AMS Wildforce Reconfigurable Reconfigurable Computing EngineComputing Engine

Page 7: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Project TimelineProject Timeline

Nov 98 Aug 99Feb 99 May 99

Kickoff

Multiboard API

Intervention Free Operation

Multiboard Debugger

Applications

SLAAC-1 & 2 Integration

Page 8: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Requirements (1)Requirements (1)

• Address wide range of applications on Address wide range of applications on cluster and embedded systemscluster and embedded systems

• PortabilityPortability

– Must allow application porting without Must allow application porting without source modificationsource modification

• Simplicity Simplicity

– Single program for system controlSingle program for system control

Page 9: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Requirements (2)Requirements (2)

• ExpandabilityExpandability– Support new node typesSupport new node types

• PerformancePerformance– Must keep an acceptable level of Must keep an acceptable level of

performanceperformance

Page 10: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Requirements (3)Requirements (3)

• SimplicitySimplicity– Single host program initializes and Single host program initializes and

controls systemcontrols system• Host process controls host node, control Host process controls host node, control

process runs on others process runs on others

– Standard functions provide unified Standard functions provide unified control of hardware and control of hardware and communicationcommunication

Page 11: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Requirements (4)Requirements (4)

• ExpandabilityExpandability– Object Oriented Implementation Object Oriented Implementation

• Inherit node class and modify functionsInherit node class and modify functions

• PerformancePerformance– Zero copy buffersZero copy buffers

– Recognizes differences between remote Recognizes differences between remote and local node to reduce overheadand local node to reduce overhead

Page 12: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

1

2

3

0

System Creation System Creation FunctionsFunctions

• ACS_Initialize ACS_Initialize – Parses command line.Parses command line.

– Initializes globals.Initializes globals.

• ACS_System_Create ACS_System_Create – Allocates nodes and Allocates nodes and

channels.channels.

– Creates opaque Creates opaque system system objectobject in host program. in host program.

– Same host program can Same host program can manage multiple manage multiple systems.systems.

– NodesNodes and and channelschannels are logically are logically numbered in order numbered in order of creation.of creation.

– Host is node zero.Host is node zero.

0

1

2

3

Page 13: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Memory Access FunctionsMemory Access Functions

• ACS_Read()ACS_Read()– Gets block of memory Gets block of memory

from (system, node, from (system, node, address, count) into address, count) into user buffer.user buffer.

• ACS_Write()ACS_Write()– Puts block of memory Puts block of memory

from user buffer to from user buffer to (system, node, (system, node, address, count). address, count).

• ACS_Copy()ACS_Copy()– Copies memory from Copies memory from

(node1, address1) to (node1, address1) to (node2, address2) (node2, address2) directly.directly.

• ACS_Interrupt()ACS_Interrupt()– Generates an Generates an

interrupt signal at interrupt signal at node.node.

Page 14: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Streaming Data FunctionsStreaming Data Functions• Each node/system Each node/system

has a set of FIFO has a set of FIFO buffers.buffers.

• Channels connect Channels connect two FIFO buffers.two FIFO buffers.

• Arbitrary streaming-Arbitrary streaming-data topologies data topologies supported.supported.

• ACS_Enqueue()ACS_Enqueue()

– put user data into FIFOput user data into FIFO

• ACS_Dequeue()ACS_Dequeue()

– get user data from FIFOget user data from FIFO

1

0FIFO 0

FIFO 1

FIFO 2

FIFO 3

FIFO 0

FIFO 1

FIFO 2

FIFO 3

2

FIFO 0

FIFO 1

FIFO 2

FIFO 3

Page 15: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

PerformancePerformanceMonitorMonitor

•Dynamic Topology Display

•Performance Metrics•Playback (future)

Page 16: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

ACS Multiboard DebuggerACS Multiboard Debugger

• Based on Based on Boardscope and Boardscope and JbitsJbits

• Will provideWill provide– WaveformsWaveforms

– State StatusState Status

– Channel StatusChannel Status

• Interfaces through Interfaces through SLAAC APISLAAC API

Page 17: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

ApplicationsApplications

• Video/Image processingVideo/Image processing– Real Time FilteringReal Time Filtering

• Super Real Time WirelessSuper Real Time Wireless Channel Model Channel Model

• 2-D FIR Filter2-D FIR Filter

• 2-D Wavelet and Image Interpolator2-D Wavelet and Image Interpolator

Page 18: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

DeficienciesDeficiencies

• FIFO LimitationsFIFO Limitations– Too small and slow for efficient bus transferToo small and slow for efficient bus transfer

– Drivers limit I/O performance Drivers limit I/O performance

– Cannot keep board supplied with data to processCannot keep board supplied with data to process

• Closed Board ArchitectureClosed Board Architecture

• Closed Driver SourceClosed Driver Source

• Benefits of SLAAC-1 & 2Benefits of SLAAC-1 & 2– Higher I/O throughput capabilityHigher I/O throughput capability

– Open Architecture modelOpen Architecture model

Page 19: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Hostless Integration of Hostless Integration of ACS Node and MyrinetACS Node and Myrinet

• Allows for Communication without Host Allows for Communication without Host InterventionIntervention– Lower latencyLower latency

– More efficient use of bus bandwidthMore efficient use of bus bandwidth

• Protocol with LANaiProtocol with LANai– Header fields determine packet destination Header fields determine packet destination

within a nodewithin a node

– DMA transfers initiated by LANaiDMA transfers initiated by LANai

Page 20: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Future WorkFuture Work

• Support for RunTime Support for RunTime Reconfiguration (RTR)Reconfiguration (RTR)

• API implementation for embedded API implementation for embedded systemssystems

• System level management of System level management of multiple programsmultiple programs

Page 21: SLAAC/ACS API: A Status Report Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

SummarySummary

• Latest versions of source code and design documents available for download

• For more information visit TOP websitehttp://acamar.visc.ece.vt.edu/http://acamar.visc.ece.vt.edu/