Design and Evaluation of a Compiler for Embedded Stream Programs

DSpace/Manakin Repository

Design and Evaluation of a Compiler for Embedded Stream Programs

Citable link to this page


Title: Design and Evaluation of a Compiler for Embedded Stream Programs
Author: Newton, Ryan R.; Girod, Lewis D.; Craig, Michael B.; Madden, Samuel R.; Morrisett, John Gregory

Note: Order does not necessarily reflect citation order of authors.

Citation: Newton, Ryan R., Lewis D. Girod, Michael B. Craig, Samuel R. Madden, and J. Greg Morrisett. 2008. Design and evaluation of a compiler for embedded stream programs. In LCTES '08 proceedings of the 2008 ACM SIGPLAN-SIGBED conference on languages, compilers and tools for embedded systems: Tucson, Arizona, June 12-13, 2008, ed. K. Flautner, 131-140. New York, N.Y.: Association for Computing Machinery.
Access Status: Full text of the requested work is not available in DASH at this time (“dark deposit”). For more information on dark deposits, see our FAQ.
Full Text & Related Files:
Abstract: Applications that combine live data streams with embedded, parallel, and distributed processing are becoming more commonplace. WaveScript is a domain-specific language that brings high-level, type-safe, garbage-collected programming to these domains. This is made possible by three primary implementation techniques, each of which leverages characteristics of the streaming domain. First, we employ a novel evaluation strategy that uses a combination of interpretation and reification to partially evaluate programs into stream dataflow graphs. Second, we use profile-driven compilation to enable many optimizations that are normally only available in the synchronous (rather than asynchronous) dataflow domain. Finally, we incorporate an extensible system for rewrite rules to capture algebraic properties in specific domains (such as signal processing).

We have used our language to build and deploy a sensornetwork for the acoustic localization of wild animals, in particular, the Yellow-Bellied marmot. We evaluate WaveScript's performance on this application, showing that it yields good performance on both embedded and desktop-class machines, including distributed execution and substantial parallel speedups. Our language allowed us to implement the application rapidly, while outperforming a previous C implementation by over 35%, using fewer than half the lines of code. We evaluate the contribution of our optimizations to this success.
Published Version: doi:10.1145/1375657.1375675
Other Sources:
Citable link to this page:
Downloads of this work:

Show full Dublin Core record

This item appears in the following Collection(s)


Search DASH

Advanced Search