Presentation is loading. Please wait.

Presentation is loading. Please wait.

SLAAC/ACS API: Control of Systems of Adaptive Computing Nodes Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999.

Similar presentations


Presentation on theme: "SLAAC/ACS API: Control of Systems of Adaptive Computing Nodes Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999."— Presentation transcript:

1 SLAAC/ACS API: Control of Systems of Adaptive Computing Nodes Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999

2 The Virginia Tech SLAAC Team Dr. Peter AthanasDr. Peter Athanas Dr. Mark JonesDr. Mark Jones Heather HillHeather Hill Emad IbrahimEmad Ibrahim Zahi NakadZahi Nakad Kuan YaoKuan Yao Diron DriverDiron Driver Karen ChenKaren Chen Chris Twaddle Jonathan Scott Luke Scharf Lou Pochet John Shiflett Peng Sarah Airey Chris Laughlin

3 Problem Definition A single adaptive computing board is insufficient for many applicationsA single adaptive computing board is insufficient for many applications –insufficient power & functionality Difficult to move an application from a research reference platform to deployment in a field systemDifficult to move an application from a research reference platform to deployment in a field system Need for application to move to new platforms as they become available without unreasonable effortNeed for application to move to new platforms as they become available without unreasonable effort

4 Research Reference Platform Network of ACS- accelerated workstations.Network of ACS- accelerated workstations. –Inexpensive readily available platform for ACS development. –Tracks performance advances in workstations and cluster computing. ACS hardware is PCI-based.ACS hardware is PCI-based. OS is NT or Unix.OS is NT or Unix. Network is simple Ethernet or high speed such as Myrinet.Network is simple Ethernet or high speed such as Myrinet.

5 Representative Field System Embedded, distributed systemEmbedded, distributed system –sensor nodes –actuator nodes –adaptive computing nodes Limited OS/ microprocessor support on most nodesLimited OS/ microprocessor support on most nodes Heterogeneous networkHeterogeneous network Simplest carrier is a cluster of single-board computers.Simplest carrier is a cluster of single-board computers. ACS hardware is VME-based.ACS hardware is VME-based. OS is VxWorks.OS is VxWorks. Network is Myrinet SAN.Network is Myrinet SAN. VME

6 Solution Approach Define a platform independent API that allows for configuration and control of a multi-board ACSDefine a platform independent API that allows for configuration and control of a multi-board ACS Provide efficient implementations of the API for research & field platformsProvide efficient implementations of the API for research & field platforms –exploit high speed networking –modular design that performs more complex control tasks on a OS-equipped host

7 Capabilities of SLAAC/ACS API Allows control of a distributed system of adaptive computing nodes from a single host through functions defined in the APIAllows control of a distributed system of adaptive computing nodes from a single host through functions defined in the API Allows migration between platforms w/o modification of host source codeAllows migration between platforms w/o modification of host source code –lightweight runtime environment on nodes Channel-based model of computation allows for flexible, efficient combining of high-performance networks & ACS nodesChannel-based model of computation allows for flexible, efficient combining of high-performance networks & ACS nodes

8 Programming Model ACS API defines a system of nodes and channels.ACS API defines a system of nodes and channels. –System dynamically allocated at runtime. –Channels stream data between FIFOs on host/nodes. –API provides common control primitives to a distributed system configure, readback, set_clock, run, etc.configure, readback, set_clock, run, etc. Hosts Nodes Network

9 Network Channels Use network channels in place of physical point- to-point connections.Use network channels in place of physical point- to-point connections. Crossbar F M F M F M F M F M F M F M F M F M F M F M F M F M F M F M F M Network-channel –Boards operate on individual clocks, but are data-synchronous. –Channels can apply back-pressure to stall producers.

10 Programmable Topology Channels allow data to flow through the system with a programmable topology.Channels allow data to flow through the system with a programmable topology. Crossbar F M F M F M F M F M F M F M F M F M F M F M F M F M F M F M F M –Adds multiple dimensions of scalability. –Channel topology can be changed dynamically.

11 1 2 3 0 System Creation Functions ACS_InitializeACS_Initialize –Parses command line. –Initializes globals. ACS_System_CreateACS_System_Create –Allocates nodes and channels. –Creates opaque system object in host program. –Same host program can manage multiple systems. –Nodes and channels are logically numbered in order of creation. –Host is node zero. 0 1 2 3

12 Memory Access Functions ACS_Read()ACS_Read() –Gets block of memory from (system, node, address, count) into user buffer. ACS_Write()ACS_Write() –Puts block of memory from user buffer to (system, node, address, count). ACS_Copy() –Copies memory from (node1, address1) to (node2, address2) directly. ACS_Interrupt() –Generates an interrupt signal at node.

13 Streaming Data Functions Each node/system has a set of FIFO buffers.Each node/system has a set of FIFO buffers. Channels connect two FIFO buffers.Channels connect two FIFO buffers. Arbitrary streaming- data topologies supported.Arbitrary streaming- data topologies supported. ACS_Enqueue() –put user data into FIFO ACS_Dequeue() –get user data from FIFO 1 0 FIFO 0 FIFO 1 FIFO 2 FIFO 3 FIFO 0 FIFO 1 FIFO 2 FIFO 3 2 FIFO 0 FIFO 1 FIFO 2 FIFO 3

14 Implementation Strategy CommunicationCommunication –Rely on MPI for high-performance communication where available –When MPI not available or convenient, tightly couple network & ACS hardware PortabilityPortability –limited new code is required to extend API implementation for a new ACS board –control program for compute nodes is simple enough to run w/o complex OS

15 API Implementation Status Completed implementation of v1.0 of APICompleted implementation of v1.0 of API –Implemented in C++ (callable from C) –Software: NT + MPI (WMPI & MPI-FM) –Hardware: WildForce Runs on the Tower of PowerRuns on the Tower of Power –16-node cluster of PCs –WildForce board on each PC –Myrinet network connecting all PCs

16 Performance Monitor Dynamic topology display Performance Metrics Playback (future) Use to confirm the configuration of the system Use to identify performance bottlenecks

17 ACS Multiboard Debugger Based on Boardscope and Jbits Will provide –Waveforms –State Status –Channel Status Interfaces through SLAAC API

18 Project Timeline Nov 98Aug 99Feb 99May 99 Kickoff Multiboard API Intervention Free Operation Multiboard Debugger Applications SLAAC-1 & 2 Integration

19 Why Use This API? Single Board SystemsSingle Board Systems –API closely matches accepted API’s, e.g. AMS Wildforce & Splash –Virtually no overhead –Your application will port to SLAAC Multi Board SystemsMulti Board Systems –Single program for multi-node applications –Inherent management of the network Zero sided communicationZero sided communication It’s FREEIt’s FREE

20 Future Work Support for Linux in addition to NTSupport for Linux in addition to NT Support for RunTime Reconfiguration (RTR)Support for RunTime Reconfiguration (RTR) Extension to SLAAC-1 & 2 boardsExtension to SLAAC-1 & 2 boards API implementation for embedded systemsAPI implementation for embedded systems System level management of multiple programsSystem level management of multiple programs

21 Summary Latest versions of source code and design documents available for download http://acamar.visc.ece.vt.edu/For more information visit TOP website http://acamar.visc.ece.vt.edu/


Download ppt "SLAAC/ACS API: Control of Systems of Adaptive Computing Nodes Virginia Tech Configurable Computing Lab SLAAC Retreat March 1999."

Similar presentations


Ads by Google