Introducing Task Cancellation to OpenMP
Conférence : Communications avec actes dans un congrès international
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 e cient 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 specifcation 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
su ers 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 e ciency 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 specifc 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 fags.