Title :
Architectural support for synchronization-free deterministic parallel programming
Author :
Segulja, Cedomir ; Abdelrahman, Tarek S.
Author_Institution :
Edward S. Rogers Sr. Dept. of Electr. & Comput. Eng., Univ. of Toronto, Toronto, ON, Canada
Abstract :
We propose a novel synchronization mechanism called versioning. It dynamically establishes a deterministic order of memory accesses in parallel programs that have serial semantics, in a way that is transparent to the programmer. This order is created in a distributed manner and is enforced by monitoring memory accesses and stalling threads if necessary. Versioning gives rise to parallel programming models in which programmers need not explicitly synchronize threads and only need to specify shared data, which greatly simplifies parallel programming. However, versioning introduces overheads and thus demands architectural support. We describe versioning and the architectural support it needs. We also propose one parallel programming model that utilizes versioning and use it to parallelize 13 benchmark applications. We build an FPGA prototype of a multiprocessor system with versioning support and show that good parallel speedups are obtained. Our analysis shows minimal impact of versioning, both in terms of timing overheads and in terms of additional hardware.
Keywords :
field programmable gate arrays; multiprocessing systems; parallel programming; synchronisation; FPGA prototype; architectural support; chip multiprocessors; memory accesses; multiprocessor system; parallel speedups; synchronization-free deterministic parallel programming; versioning; Arrays; Instruction sets; Memory management; Monitoring; Parallel programming; Semantics; Synchronization;
Conference_Titel :
High Performance Computer Architecture (HPCA), 2012 IEEE 18th International Symposium on
Conference_Location :
New Orleans, LA
Print_ISBN :
978-1-4673-0827-4
Electronic_ISBN :
1530-0897
DOI :
10.1109/HPCA.2012.6169038