DSpace Repository

StreamIt: A Language and Compiler for Communication-Exposed Architectures

Show simple item record

dc.creator Thies, William
dc.creator Gordon, Michael I.
dc.creator Karczmarek, Michal
dc.creator Maze, David
dc.creator Amarasinghe, Saman P.
dc.date 2003-11-17T16:54:18Z
dc.date 2003-11-17T16:54:18Z
dc.date 2003-01
dc.date.accessioned 2013-10-09T02:32:02Z
dc.date.available 2013-10-09T02:32:02Z
dc.date.issued 2013-10-09
dc.identifier http://hdl.handle.net/1721.1/3690
dc.identifier.uri http://koha.mediu.edu.my:8181/xmlui/handle/1721
dc.description With the increasing miniaturization of transistors, wire delays are becoming a dominant factor in microprocessor performance. To address this issue, a number of emerging architectures contain replicated processing units with software-exposed communication between one unit and another (e.g., Raw, SmartMemories, TRIPS). However, for their use to be widespread, it will be necesary to develop a common machine language to allow programmers to express an algorithm in a way that can be efficiently mapped across these architectures. We propose a new common machine language for grid-based software-exposed architectures: StreamIt. StreamIt is a high-level programming language with explicit support for streaming computation. Unlike sequential programs with obscured dependence information and complex communication patterns, a stream program is naturally written as a set of concurrent filters with regular steady-state communication. The language imposes a hierarchical structure on the stream graph that enables novel representations and optimizations within the StreamIt compiler. We have implemented a fully functional compiler that parallelizes StreamIt applications for Raw, including several load-balancing transformations. Though StreamIt exposes the parallelism and communication patterns of stream programs, analysis is needed to adapt a stream program to a software-exposed processor. We describe a partitioning algorithm that employs fission and fusion transformations to adjust the granularity of a stream graph, a layout algorithm that maps a stream graph to a given network topology, and a scheduling strategy that generates a fine-grained static communication pattern for each computational element. Using the cycle-accurate Raw simulator, we demonstrate that the StreamIt compiler can automatically map a high-level stream abstraction to Raw. We consider this work to be a first step towards a portable programming model for communication-exposed architectures.
dc.description Singapore-MIT Alliance (SMA)
dc.format 726684 bytes
dc.format application/pdf
dc.language en_US
dc.relation Computer Science (CS);
dc.subject communication-exposed architectures
dc.subject StreamIt
dc.subject Raw
dc.subject software-exposed architectures
dc.subject streaming application domain
dc.title StreamIt: A Language and Compiler for Communication-Exposed Architectures
dc.type Article


Files in this item

Files Size Format View

There are no files associated with this item.

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account