Task-based execution of synchronous dataflow graphs for scalable multicore computing

Research output: Chapter in Book/Conference proceedingConference contributionScientificpeer-review

3 Citations (Scopus)

Abstract

Dataflow models of computation have early on been acknowledged as an attractive methodology to describe parallel algorithms, hence they have become highly relevant for programming in the current multicore processor era. While several frameworks provide tools to create dataflow descriptions of algorithms, generating parallel code for programmable processors is still sub-optimal due to the scheduling overheads and the semantics gap when expressing parallelism with conventional programming languages featuring threads. In this paper we propose an optimization of the parallel code generation process by combining dataflow and task programming models. We develop a task-based code generator for PREESM, a dataflow-based prototyping framework, in order to deploy algorithms described as synchronous dataflow graphs on multicore platforms. Experimental performance comparison of our task generated code against typical thread-based code shows that our approach removes significant scheduling and synchronization overheads while maintaining similar (and occasionally improving) application throughput.

Original languageUndefined/Unknown
Title of host publicationSignal Processing Systems (SiPS), 2017 IEEE International Workshop on
PublisherIEEE
Pages
ISBN (Electronic)978-1-5386-0446-5
ISBN (Print)978-1-5386-0447-2
DOIs
Publication statusPublished - 2017
MoE publication typeA4 Article in a conference publication
EventIEEE International Workshop on Signal Processing Systems (SiPS) - IEEE International Workshop on Signal Processing Systems (SiPS), 2017
Duration: 3 Oct 20175 Oct 2017

Conference

ConferenceIEEE International Workshop on Signal Processing Systems (SiPS)
Period03/10/1705/10/17

Cite this