Implementation of a hierarchical N-body simulator using the Ompss programming model

  • Authors:
  • Miquel Pericàs;Xavier Martorell;Yoav Etsion

  • Affiliations:
  • Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain;Barcelona Supercomputing Center, Barcelona, Spain

  • Venue:
  • Proceedings of the first workshop on Irregular applications: architectures and algorithm
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

Many HPC algorithms are highly irregular. They have input-dependent control flow and operate on pointer-based data structures such as trees, graphs, or linked lists. This irregularity makes it challenging to parallelize such algorithms in order to efficiently run them on modern HPC systems. In this paper we study the architectural and programming bottlenecks of the OmpSs task-based programming model when implementing irregular applications. We select a sequential N-body simulation code and describe its parallelization using OmpSs. We then analyze the code, focusing on scalability and load balancing. We conclude that, in general, task-based programming models are well suited to the exploitation of irregular parallelism. Nevertheless, in order to avoid the overheads associated with manually managing the load balancing, the hardware and runtime will need to collectively support much finer-grained tasks.