WaveScope: Stream Programming on Heterogeneous Wireless Devices

45
Опубликовано 7 сентября 2016, 17:04
How do we maintain programmer productivity in an era with an exploding number of networked processing cores and increasing diversity among them? In this talk I offer a partial solution in the form of WaveScope, a programming environment for embedded, distributed stream-processing that we have used in a variety of sensor network applications. Sensor networks are a prime example of heterogeneous parallelism; they are distributed collections of phones, low-power embedded devices, and PCs containing a variety of processing cores. WaveScope is based on an asynchronous dataflow model and is suited for applications from signal processing to financial analysis and distributed data processing. A WaveScope program generates a graph of communicating actors; the compiler profiles these actors on various target platforms and then solves the partitioning problem: spreading actors across heterogeneous devices as well as across homogeneous multicores. To achieve performance and platform portability, the WaveScope solution involves a variety of compiler and runtime techniques; in this talk I will focus on multi-stage programming, domain specific optimizations, and program partitioning.
автотехномузыкадетское