Programming support and scheduling for communicating parallel tasks

  • Authors:
  • JöRg DüMmler;Thomas Rauber;Gudula RüNger

  • Affiliations:
  • Chemnitz University of Technology, Department of Computer Science, 09111 Chemnitz, Germany;Bayreuth University, Angewandte Informatik II, 95440 Bayreuth, Germany;Chemnitz University of Technology, Department of Computer Science, 09111 Chemnitz, Germany

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Task-based programming models are beneficial for the development of parallel programs for several reasons. They provide a decoupling of the specification of parallelism from the scheduling and mapping to execution resources of a specific hardware platform, thus allowing a flexible and individual mapping. For platforms with a distributed address space, the use of parallel tasks, instead of sequential tasks, adds the additional advantage of a structuring of the program into communication domains that can help to reduce the overall communication overhead. In this article, we consider the parallel programming model of communicating parallel tasks (CM-tasks), which allows both task-internal communication as well as communication between concurrently executed tasks at arbitrary points of their execution. We propose a corresponding scheduling algorithm and describe how the scheduling is supported by a transformation tool. An experimental evaluation using synthetic task graphs as well as several complex application programs shows that employing the CM-task model may lead to significant performance improvements compared to other parallel execution schemes.