Integrating Dataflow Abstractions into the Shared Memory Model

  • Vladimir Gajinov Universitat Politecnica de Catalunya / Barcelona Supercomputing Center
  • Srdjan Stipic Universitat Politecnica de Catalunya / Barcelona Supercomputing Center
  • Osman S. Unsal Barcelona Supercomputing Center
  • Tim Harris Oracle Laboratories
  • Eduard Ayguadé Universitat Politecnica de Catalunya / Barcelona Supercomputing Center
  • Adrián Cristal Spanish National Research Council

Resumo


In this paper we present Atomic Dataflow model (ADF), a new task-based parallel programming model for C/C++ which integrates dataflow abstractions into the shared memory programming model. The ADF model provides pragma directives that allow a programmer to organize a program into a set of tasks and to explicitly define input data for each task. The task dependency information is conveyed to the ADF runtime system which constructs the dataflow task graph and builds the necessary infrastructure for dataflow execution. Additionally, the ADF model allows tasks to share data. The key idea is that computation is triggered by dataflow between tasks but that, within a task, execution occurs by making atomic updates to common mutable state. To that end, the ADF model employs transactional memory which guarantees atomicity of shared memory updates. We show examples that illustrate how the programmability of shared memory can be improved using the ADF model. Moreover, our evaluation shows that the ADF model performs well in comparison with programs parallelized using OpenMP and transactional memory.
Palavras-chave: Games, Runtime, Programming, Instruction sets, Synchronization, Data models, Buffer storage, Parallel programming, dataflow, shared memory, transactional memory
Publicado
24/10/2012
GAJINOV, Vladimir; STIPIC, Srdjan; UNSAL, Osman S.; HARRIS, Tim; AYGUADÉ, Eduard; CRISTAL, Adrián. Integrating Dataflow Abstractions into the Shared Memory Model. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 24. , 2012, Nova Iorque/EUA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2012 . p. 243-251.