Picos, A Hardware Task-Dependence Manager for Task-Based Dataflow Programming Models

Task-based programming Task-based programming models such as OpenMP, Intel TBB and OmpSs are widely used to extract high level of parallelism of applications executed on multi-core and manycore platforms. These programming models allow applications to be expressed as a set of tasks with dependences...

Full description

Saved in:
Bibliographic Details
Published in:2017 International Conference on High Performance Computing & Simulation (HPCS) pp. 878 - 880
Main Authors: Xubin Tan, Bosch, Jaume, Vidal, Miquel, Alvarez, Carlos, Jimenez-Gonzalez, Daniel, Ayguade, Eduard, Valero, Mateo
Format: Conference Proceeding
Language:English
Published: IEEE 01.07.2017
Subjects:
ISBN:1538632497, 9781538632499
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Task-based programming Task-based programming models such as OpenMP, Intel TBB and OmpSs are widely used to extract high level of parallelism of applications executed on multi-core and manycore platforms. These programming models allow applications to be expressed as a set of tasks with dependences to drive their execution at runtime. While managing these dependences for task with coarse granularity proves to be highly beneficial, it introduces noticeable overheads when targeting fine-grained tasks, diminishing the potential speedups or even introducing performance losses. To overcome this drawback, we propose a hardware/software co-design Picos that manages inter-task dependences efficiently. In this paper we describe the main ideas of our proposal and a prototype implementation. This prototype is integrated with a parallel task- based programming model and evaluated with real executions in Linux embedded system with two ARM Cortex-A9 and a FPGA. When compared with a software runtime, our solution results in more than 1.8x speedup and 40% of energy savings with only 2 threads.
ISBN:1538632497
9781538632499
DOI:10.1109/HPCS.2017.134