StreaMIT: A Language for Streaming Applications
We characterize high-performance streaming applications as a new and distinct domain of programs that is becoming increasingly important. The StreaMIT language provides novel high-level representations to improve programmer productivity and program robustness within the streaming domain. At the same...
Main Authors: | , , |
---|---|
Published: |
2023
|
Online Access: | https://hdl.handle.net/1721.1/149309 |
_version_ | 1811071170779283456 |
---|---|
author | Thies, William F. Karczmarek, Michael Amarasinghe, Saman |
author_facet | Thies, William F. Karczmarek, Michael Amarasinghe, Saman |
author_sort | Thies, William F. |
collection | MIT |
description | We characterize high-performance streaming applications as a new and distinct domain of programs that is becoming 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 analyses and optimizations. In this paper, we motivate, describe and justify the language features of StreaMIT, which include: a structured model of streams, a messaging system for control, a re-initialization mechanism, and a natural textual syntax. We also present a means of reasoning about time in terms of "information flow": a concept that we believe is fundamental to the streaming domain. Using this concept, we give a formal semantics for StreaMIT's messaging system, as well as a simple algorithm for detecting deadlock and buffer overlow. |
first_indexed | 2024-09-23T08:47:08Z |
id | mit-1721.1/149309 |
institution | Massachusetts Institute of Technology |
last_indexed | 2024-09-23T08:47:08Z |
publishDate | 2023 |
record_format | dspace |
spelling | mit-1721.1/1493092023-03-30T04:17:59Z StreaMIT: A Language for Streaming Applications Thies, William F. Karczmarek, Michael Amarasinghe, Saman We characterize high-performance streaming applications as a new and distinct domain of programs that is becoming 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 analyses and optimizations. In this paper, we motivate, describe and justify the language features of StreaMIT, which include: a structured model of streams, a messaging system for control, a re-initialization mechanism, and a natural textual syntax. We also present a means of reasoning about time in terms of "information flow": a concept that we believe is fundamental to the streaming domain. Using this concept, we give a formal semantics for StreaMIT's messaging system, as well as a simple algorithm for detecting deadlock and buffer overlow. 2023-03-29T14:42:24Z 2023-03-29T14:42:24Z 2001-08 https://hdl.handle.net/1721.1/149309 MIT-LCS-TM-620 application/pdf |
spellingShingle | Thies, William F. Karczmarek, Michael Amarasinghe, Saman StreaMIT: A Language for Streaming Applications |
title | StreaMIT: A Language for Streaming Applications |
title_full | StreaMIT: A Language for Streaming Applications |
title_fullStr | StreaMIT: A Language for Streaming Applications |
title_full_unstemmed | StreaMIT: A Language for Streaming Applications |
title_short | StreaMIT: A Language for Streaming Applications |
title_sort | streamit a language for streaming applications |
url | https://hdl.handle.net/1721.1/149309 |
work_keys_str_mv | AT thieswilliamf streamitalanguageforstreamingapplications AT karczmarekmichael streamitalanguageforstreamingapplications AT amarasinghesaman streamitalanguageforstreamingapplications |