WaveScript: A Case-Study in Applying a Distributed Stream-Processing Language

msra(2008)

引用 32|浏览23
暂无评分
摘要
Applications that combine live data streams with embedded, paral- lel, 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. First, we employ a novel evaluation strategy that uses a combi- nation of interpretation and reification to partially evaluate pro- grams 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 sensor- network for the acoustic localization of wild animals, in partic- ular, the Yellow-Bellied marmot. We evaluate WaveScript's per- formance on this application, showing that it yields good perfor- mance on both embedded and desktop-class machines, including distributed execution and substantial parallel speedups. Our lan- guage allowed us to implement the application rapidly, while out- performing 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.
更多
查看译文
关键词
sensor network,wild animal,distributed processing,partial evaluation,garbage collection,stream processing,domain specific language,signal processing,lines of code
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要