Unifying barrier and point-to-point synchronization in OpenMP with phasers

6Citations
Citations of this article
10Readers
Mendeley users who have this article in their library.
Get full text

Abstract

OpenMP is a widely used standard for parallel programing on a broad range of SMP systems. In the OpenMP programming model, synchronization points are specified by implicit or explicit barrier operations. However, certain classes of computations such as stencil algorithms need to specify synchronization only among particular tasks/threads so as to support pipeline parallelism with better synchronization efficiency and data locality than wavefront parallelism using all-to-all barriers. In this paper, we propose two new synchronization constructs in the OpenMP programming model, thread-level phasers and iteration level phasers to support various synchronization patterns such as point-to-point synchronizations and sub-group barriers with neighbor threads. Experimental results on three platforms using numerical applications show performance improvements of phasers over OpenMP barriers of up to 1.74x on an 8-core Intel Nehalem system, up to 1.59x on a 16-core Core-2-Quad system and up to 1.44x on a 32-core IBM Power7 system. It is reasonable to expect larger increases on future manycore processors. © 2011 Springer-Verlag.

Cite

CITATION STYLE

APA

Shirako, J., Sharma, K., & Sarkar, V. (2011). Unifying barrier and point-to-point synchronization in OpenMP with phasers. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 6665 LNCS, pp. 122–137). https://doi.org/10.1007/978-3-642-21487-5_10

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free