DocumentCode :
3543186
Title :
Parallel Patterns + Macro Data Flow for Multi-core Programming
Author :
Aldinucci, M. ; Anardu, L. ; Danelutto, M. ; Torquati, M. ; Kilpatrick, P.
Author_Institution :
Dept. Comput. Sci., Univ. of Torino, Turino, Italy
fYear :
2012
fDate :
15-17 Feb. 2012
Firstpage :
27
Lastpage :
36
Abstract :
Data flow techniques have been around since the early ´70s when they were used in compilers for sequential languages. Shortly after their introduction they were also considered as a possible model for parallel computing, although the impact here was limited. Recently, however, data flow has been identified as a candidate for efficient implementation of various programming models on multi-core architectures. In most cases, however, the burden of determining data flow ``macro´´ instructions is left to the programmer, while the compiler/run time system manages only the efficient scheduling of these instructions. We discuss a structured parallel programming approach supporting automatic compilation of programs to macro data flow and we show experimental results demonstrating the feasibility of the approach and the efficiency of the resulting ``object´´ code on different classes of state-of-the-art multi-core architectures. The experimental results use different base mechanisms to implement the macro data flow run time support, from plain pthreads with condition variables to more modern and effective lock- and fence-free parallel frameworks. Experimental results comparing efficiency of the proposed approach with those achieved using other, more classical, parallel frameworks are also presented.
Keywords :
data flow analysis; multiprocessing systems; parallel architectures; parallel programming; program compilers; automatic progrram compilation; compiler system; data flow macro instruction; data flow technique; fence-free parallel framework; instruction scheduling; lock-free parallel framework; macro data flow; multicore architecture; multicore programming; object code; parallel pattern; plain pthreads; programming model; run time system; structured parallel programming; Algorithm design and analysis; Computer architecture; Data models; Instruction sets; Pipelines; Programming; Skeleton; lock-free queues; macro data flow; multi-core; shared memory; structured programming;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel, Distributed and Network-Based Processing (PDP), 2012 20th Euromicro International Conference on
Conference_Location :
Garching
ISSN :
1066-6192
Print_ISBN :
978-1-4673-0226-5
Type :
conf
DOI :
10.1109/PDP.2012.44
Filename :
6169525
Link To Document :
بازگشت