Erbium: A deterministic, concurrent intermediate representation to map data-flow tasks to scalable, persistent streaming processes

Cupertino Miranda, Antoniu Pop, Philippe Dumont, Albert Cohen, Marc Duranton

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Tuning applications for multicore systems involve subtle concurrency concepts and target-dependent optimizations. This paper advocates for a streaming execution model, called Erbium, 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.
Original languageEnglish
Title of host publicationEmbedded Systems Week 2010 - Proceedings of the 2010 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, CASES'10|Embedded Syst. Week - Proc. Int. Conf. Compilers, Archit. Synth. Embedded Syst., CASES
Place of PublicationNew York, USA
PublisherAssociation for Computing Machinery
Pages11-20
Number of pages9
ISBN (Print)9781605589039
DOIs
Publication statusPublished - 2010
Event6th Embedded Systems Week 2010, ESWEEK 2010 - 2010 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES'10 - Scottsdale, AZ
Duration: 1 Jul 2010 → …

Conference

Conference6th Embedded Systems Week 2010, ESWEEK 2010 - 2010 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES'10
CityScottsdale, AZ
Period1/07/10 → …

Keywords

  • Algorithms
  • Languages
  • Performance

Fingerprint

Dive into the research topics of 'Erbium: A deterministic, concurrent intermediate representation to map data-flow tasks to scalable, persistent streaming processes'. Together they form a unique fingerprint.

Cite this