Skip to main content
Log in

Language and Compiler Design for Streaming Applications

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

High-performance streaming applications are a new and distinct domain of programs that is increasingly important. The StreamIt language provides novel high-level representations to improve programmer productivity and program robustness within the streaming domain. At the same time, the StreamIt compiler aims to improve the performance of streaming applications via stream-specific analysis and optimizations. In this paper, we motivate, describes and justify the StreamIt language which include a structured model of streams, a messaging system for control, and a natural textual syntax.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. S. Rixner, W. Dally, U. Kapasi, P. Mattson, J. Owens, B. Khailany, and A. Lopez-Lagunas, A Bandwidth-Efficient Architecture for Media Processing, in Int. Symp. on Microarchitecture, pp. 3–13 (December 1998).

  2. H. Abelson G. Sussman (1985) Structure and Interpretation of Computer Programs MIT Press Cambridge, MA.

    Google Scholar 

  3. R. Stephens (1997) ArticleTitleA Survey of Stream Processing Acta Informatica 34 IssueID7 491–541

    Google Scholar 

  4. Mai K., Paaske T., Jayasena N., Ho R., Dally W., Horowitz M. (2000). Smart Memories: A Modular Recongurable Architecture

  5. E. Waingold et al. (1997) Baring it all to Software: The Raw Machine MIT-LCS Technical Report 709 Cambridge, MA.

    Google Scholar 

  6. K. Sankaralingam, R. Nagarajan, S. Keckler, and D. Burger, A Technology-Scalable Architecture for Fast Clocks and High ILP, UT Austin Tech Report 01-02 (2001).

  7. E. Kohler R. Morris B. Chen J. Jannotti M.F. Kaashoek (2000) ArticleTitleThe Click Modular Router ACM Trans. Comput. Syst. 18 IssueID3 263–197

    Google Scholar 

  8. Tennenhouse D., Bose V. (1999). The Spectrum Ware Approach to Wireless Signal Processing, Wireless Netw.

  9. V. Bose, M. Ismert, M. Welborn, and J. Guttag, Virtual Radios, IEEE/JSAC, Special Issue on Software Radios (April 1999).

  10. B. Volume and B. July, Bluetooth Specification, Vol. 1, Bluetooth Consortium (July 1999).

  11. M. Mouly and M. B. Pautet, The GSM System for Mobile Communications, Cell&Sys, Palaiseau, France (1992).

  12. EIA/TIA, Mobile Station–Land Station Compatibility Spec., Technical Report 553, ANSI/EIA/TIA (1989).

  13. Microsoft Corporation, Microsoft DirectShow, Online Documentation (2001).

  14. RealNetworks, Software Developer’s Kit, Online Documentation (2001).

  15. J. Lebak, Polymorphous Computing Architecture (PCA) Example Applications and Description, External Report, MIT Lincoln Laboratory (August 2001).

  16. B. Thies M. Karczmarek S. Amarasinghe (August 2001) StreamIt: A Language for Streaming Applications MIT-LCS Technical Memo TM-620 Cambridge, MA.

    Google Scholar 

  17. W. Thies M. Karczmarek M. Gordon D. Maze J. Wong H. Hoffmann M. Brown S. Amarasinghe (December 2001) StreamIt: A Compiler for Streaming Applications Technical Memo TM-622, MIT-LCS Cambridge, MA.

    Google Scholar 

  18. V. Gay-Para, T. Graf, A.-G. Lemonnier, and E. Wais, Kopi Reference Manual, http://www.dms.at/kopi/docs/kopi.html (2001).

  19. M. I. Gordon et al., A Stream Compiler for Communication-Exposed Architectures, in Proc. of the 10th Int. Conf. on Architectural Support for Programming Languages and Operating Systems, San Jose, CA (October 2002), URL http: //cag.1cs.mit.edu/commit/papers/02/streamit-asplos.pdf.

  20. A.A. Lamb W. Thies S. Amarasinghe (June 2003) Linear Analysis and Optimization of Stream Programs Proc. of the SIGPLAN ’03 Conf. on Programming Language Design and Implementation San Diego, CA

    Google Scholar 

  21. N. Halbwachs P. Caspi P. Raymond D. Pilaud (September 1991) ArticleTitleThe synchronous data-flow programming language LUSTRE Proc. IEEE 79 IssueID9 1305–1320

    Google Scholar 

  22. G. Berry G. Gonthier (1992) ArticleTitleThe Esterel Synchronous Programming Language: Design, Semantics, Implementation Science of Computer Programming. 19 IssueID2 87–152

    Google Scholar 

  23. E.A. Lee (March 2001) Overview of the Ptolemy Project, UCB/ERL Technical Memorandum UCB/ERL M01/1, Dept. EECS University of California Berkeley, CA.

    Google Scholar 

  24. S. S. Bhattacharyya, P. K. Murthy, and E. A. Lee, Software Synthesis from Dataflow Graphs, Kluwer Academic Publishers (1996), URL http://www.wkap.nl/book.htm/0-7923-9722-3, 189 pages.

  25. Kapasi U.J., Mattson P., Dally W.J., Owens J.D., Towles B. (2001). Stream Scheduling, in Proc. of the 3rd Workshop on Media and Streaming Processors, pp. 101–106

  26. S. Seneff, Speech transformation system (spectrum and/or excitation) without pitch extraction, Master’s thesis, Massachussetts Institute of Technology (1980).

  27. 3rd Generation Partnership Project, 3GPP TS 25.201, V3.3.0, Technical Specification (March 2002).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Saman Amarasinghe.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Amarasinghe, S., Gordon, M.l., Karczmarek, M. et al. Language and Compiler Design for Streaming Applications. Int J Parallel Prog 33, 261–278 (2005). https://doi.org/10.1007/s10766-005-3590-6

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-005-3590-6

Keywords

Navigation