Load balancing and OpenMP implementation of nested parallelism

  • Authors:
  • R. Blikberg;T. Sørevik

  • Affiliations:
  • Parallab, BCCS, University of Bergen, Norway;Department of Mathematics, University of Bergen, Johs. Brunsgt. 12, N-5008 Bergen, Norway

  • Venue:
  • Parallel Computing - OpenMp
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many problems have multiple layers of parallelism. The outer-level may consist of few and coarse-grained tasks. Next, each of these tasks may also be rich in parallelism, and be split into a number of fine-grained tasks, which again may consist of even finer subtasks, and so on. Here we argue and demonstrate by examples that utilizing multiple layers of parallelism may give much better scaling than if one restricts oneself to only one level of parallelism. Two non-trivial issues for multi-level parallelism are load balancing and implementation. In this paper we provide an algorithm for finding good distributions of threads to tasks and discuss how to implement nested parallelism in OpenMP.