Erbium: A deterministic, concurrent intermediate representation to map data-flow tasks to scalable, persistent streaming processes
Conference object, Article
- Publisher: HAL CCSD
[ INFO.INFO-PL ] Computer Science [cs]/Programming Languages [cs.PL]
International audience; Tuning applications for multicore systems involve subtle concurrency concepts and target-dependent optimizations. This paper advocates for a streaming execution model, called \ER, where persistent processes communicate and synchronize through a multi-consumer multi-producer sliding window. Considering media and signal processing applications, we demonstrate the scalability and efficiency advantages of streaming compared to data-driven scheduling. To exploit these benefits in compilers for parallel languages, we propose an intermediate representation enabling the compilation of data-flow tasks into streaming processes. This intermediate representation also facilitates the application of classical compiler optimizations to concurrent programs.