Introducing task cancellation to OpenMP

  • Authors:
  • Oussama Tahan;Mats Brorsson;Mohamed Shawky

  • Affiliations:
  • Heudiasyc-UMR 7253 Université de Technologie de Compiègne, Compiègne, France;KTH Royal Institute of Technology, Stockholm, Sweden;Heudiasyc-UMR 7253 Université de Technologie de Compiègne, Compiègne, France

  • Venue:
  • IWOMP'12 Proceedings of the 8th international conference on OpenMP in a Heterogeneous World
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Multi-core processors are at the heart of current and future trends for computer architectures. The number of cores on a single chip is rapidly increasing, so as the need for simpler and more efficient programming models. OpenMP is a powerful programming model that has been adopted by a large spectrum of research and development teams to develop parallel applications on multi-core processors. To fully exploit the available cores in multi-cores chips, the latest versions of OpenMP specification marked a transition from a thread-centric to a task-centric programming model. Hence, tasks are used to express parallelism and to execute concurrent computations. However, this programming model suffers from the lack of a useful feature where created tasks can be explicitly cancelled. Task cancellation is considered an important aspect in programs based on speculative execution and search algorithms, where computation resources should be quickly released if not needed, yielding higher computation efficiency and lower power consumption. In this paper, we present a proposal and an enhancement to the OpenMP programming model that allows users to create special type of tasks called "cancellable tasks". New easy to use extensions are added in order to support both cooperative and forced cancellation of these special tasks through specific cancellation calls. We will show that these extensions reduce execution time and response delays of parallel applications that may need cancellation and prompt resources re-allocation compared to the user cancellation approach based on flags.