StreamIt: A Language for Streaming Applications

StreamIt: A Language for Streaming Applications

2002 | William Thies, Michal Karczmarek, and Saman Amarasinghe
StreamIt is a high-level programming language designed for streaming applications, aiming to improve programmer productivity and program robustness while enhancing performance through stream-specific optimizations. The language introduces novel features such as a structured model of streams, a messaging system for control, a re-initialization mechanism, and a natural textual syntax. StreamIt's primary goal is to provide high-level abstractions that are more intuitive and efficient than general-purpose languages like C or C++. The paper motivates and describes these features, including the use of Java syntax for implementation. StreamIt supports various streaming applications, from embedded devices to high-performance servers, and includes constructs for composing filters into hierarchical stream structures. The language also addresses challenges in streaming applications, such as dynamic flow rates and modular broadcast messaging. The authors present a detailed example of a software radio and discuss the performance results of their prototype compiler, showing that StreamIt can achieve significant performance improvements over existing solutions. Future work includes extending StreamIt to support hierarchical data frames and dynamically varying I/O rates.StreamIt is a high-level programming language designed for streaming applications, aiming to improve programmer productivity and program robustness while enhancing performance through stream-specific optimizations. The language introduces novel features such as a structured model of streams, a messaging system for control, a re-initialization mechanism, and a natural textual syntax. StreamIt's primary goal is to provide high-level abstractions that are more intuitive and efficient than general-purpose languages like C or C++. The paper motivates and describes these features, including the use of Java syntax for implementation. StreamIt supports various streaming applications, from embedded devices to high-performance servers, and includes constructs for composing filters into hierarchical stream structures. The language also addresses challenges in streaming applications, such as dynamic flow rates and modular broadcast messaging. The authors present a detailed example of a software radio and discuss the performance results of their prototype compiler, showing that StreamIt can achieve significant performance improvements over existing solutions. Future work includes extending StreamIt to support hierarchical data frames and dynamically varying I/O rates.
Reach us at info@study.space
[slides] StreamIt%3A A Language for Streaming Applications | StudySpace