Skip to main content
SHARE
Publication

Implementing Arbitrary/Common Concurrent Writes of CRCW PRAM...

by Fady A Ghanim, Wael R Elwasif, David E Bernholdt
Publication Type
Conference Paper
Book Title
ICPP Workshops '21: 50th International Conference on Parallel Processing Workshop
Publication Date
Page Number
37
Publisher Location
New York, United States of America
Conference Name
Workshop on Parallel Programming models and Systems Software for high-end computing
Conference Location
Chicago, Illinois, United States of America
Conference Sponsor
ACM
Conference Date
-

The Parallel Random Access Machines (PRAM) abstraction is the simplest and most elegant algorithmic model for the design and analysis of parallel algorithms. It consists of different models categorized based on the underlying memory access mode used, the most powerful of which is the Concurrent Read Concurrent Write (CRCW) model. A PRAM algorithm describes a series of rounds, each of which consists of a collection of operations that can be executed concurrently within the same time step. However, the lack of support for concurrent memory accesses and the prevalence of asynchronous programming models led to the belief that implementing CRCW PRAM algorithms is unattainable and prompted many to avoid this model except for theoretical studies of optimal performance.

In this work, we study the arbitrary and common concurrent writes in the CRCW PRAM model and explore implementation challenges on general-purpose systems. Moreover, we examine current practices for implementing common/arbitrary concurrent writes and propose a new efficient lightweight and thread-safe method to implement concurrent writes through leveraging atomic instructions. To demonstrate the efficacy of our method, we developed OpenMP kernels for classical CRCW PRAM algorithms and provide experimental results and comparisons based on run time performance measured over the x86 multicore architecture. Our results show a performance speedup compared to current practices up to 4.5x across all our benchmarks.