A comparison of task pool variants in OpenMP and a proposal for a solution to the busy waiting problem

  • Authors:
  • Alexander Wirz;Michael Süß;Claudia Leopold

  • Affiliations:
  • University of Kassel, Research Group Programming Languages / Methodologies, Kassel, Germany;University of Kassel, Research Group Programming Languages / Methodologies, Kassel, Germany;University of Kassel, Research Group Programming Languages / Methodologies, Kassel, Germany

  • Venue:
  • IWOMP'05/IWOMP'06 Proceedings of the 2005 and 2006 international conference on OpenMP shared memory parallel programming
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Irregular algorithms are difficult to parallelize using existing OpenMP constructs. This paper concentrates on algorithms that deploy task pools, i.e., data structures for dynamic load balancing. We present several task pool variants that we have implemented in OpenMP, and compare their performance. Due to the lack of a mechanism in OpenMP to put a thread to sleep, we had to use busy waiting in our implementations. To eliminate this need, we suggest an extension to OpenMP that allows to put a thread to sleep on demand.