Search NASA⌕ Search

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

BibTeXRIS

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.

KEEP EXPLORING

Related reports

Fire Protection Design

The purpose of this project is to design the demolition and installation of a deluge valve swap from a DV-5 to a DV-5A valve.

99 GENERAL AND MISCELLANEOUS↗