DOE OSTI · 989444
A Comparison of Shared Memory Parallel Programming Models
Abstract
The dominant parallel programming models for shared memory computers, Pthreads and OpenMP, are both thread-centric in that they are based on explicit management of tasks and enforce data dependencies and output ordering through task management. By comparison, the Cray XMT programming model is data-centric where the primary concern of the programmer is managing data dependencies, allowing threads to progress in a data flow fashion. The XMT implements this programming model by associating tag bits with each word of memory, affording efficient fine grained data synchronization independent of the number of processors or how tasks are scheduled. When task management is implicit and synchronization is abundant, efficient, and easy to use, programmers have viable alternatives to traditional thread-centric algorithms. In this paper we compare the amount of available parallelism relative to the amount of work in a variety of different algorithms and data structures when synchronization does not need to be rationed, as well as identify opportunities for platform and performance portability of the data-centric programming model on multi-core processors.
Explore related subjects
Keep this discovery
Explore connections, maps & timelines
Mogill, Jace A, Haglin, David J. 2010-05-24. A Comparison of Shared Memory Parallel Programming Models. https://www.osti.gov/biblio/989444
Cite the original work for its findings. Save a collection to share your selection of sources.