Publication | Closed Access
Design and evaluation of a compiler for embedded stream programs
29
Citations
17
References
2008
Year
Unknown Venue
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringEmbedded SystemsData Streaming ArchitectureSoftware AnalysisFormal VerificationData ScienceSystems EngineeringParallel ComputingCompilersDynamic CompilationStream ProcessingData FlowCompiler SupportStreaming EngineComputer EngineeringComputer ScienceOptimizing CompilerSignal ProcessingSoftware DesignProgram AnalysisFormal MethodsParallel ProgrammingEmbedded Stream ProgramsSystem SoftwareStreaming DomainLive Data Streams
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).
| Year | Citations | |
|---|---|---|
Page 1
Page 1