Scheduling Tasks over Multicore machines enhanced with Accelerators: a Runtime System's Perspective - PhD thesis

Scheduling Tasks over Multicore machines enhanced with Accelerators: a Runtime System's Perspective - PhD thesis

Abstract - Multicore machines equipped with accelerators are becoming increasingly popular in the High Performance Computing ecosystem. Hybrid architectures provide significantly improved energy efficiency, so that they are likely to generalize in the Manycore era. However, the complexity introduced by these architectures has a direct impact on programmability, so that it is crucial to provide portable abstractions in order to fully tap into the potential of these machines. Pure offloading approaches, that consist in running an application on regular processors while offloading predetermined parts of the code on accelerators, are not sufficient. The real challenge is to build systems where the application would be spread across the entire machine, that is, where computation would be dynamically scheduled over the full set of available processing units.

In this thesis, we thus propose a new task-based model of runtime system specifically designed to address the numerous challenges introduced by hybrid architectures, especially in terms of task scheduling and of data management. In order to demonstrate the relevance of this model, we designed the StarPU platform. It provides an expressive interface along with flexible task scheduling capabilities tightly coupled to an efficient data management. Using these facilities, together with a database of auto-tuned per-task performance models, it for instance becomes straightforward to develop efficient scheduling policies that take into account both computation and communication costs. We show that our task-based model is not only powerful enough to provide support for clusters, but also to scale on hybrid manycore architectures.

We analyze the performance of our approach on both synthetic and real-life workloads, and show that we obtain significant speedups and a very high efficiency on various types of multicore platforms enhanced with accelerators.

Résumé - Les machines multicœurs équipées d’accélérateurs deviennent de plus en plus populaires dans le domaine du Calcul Haute Performance. Les architectures hybrides réduisent la consommation énergétique de manière significative et sont donc amenées à se généraliser dans l’ère du manycœur. Cependant, la complexité induite par ces architectures a un impact direct sur leur programmabilité. Il est donc indispensable de fournir des abstractions portables afin de tirer pleinement parti de ces machines. Les approches qui consistent à exécuter une application sur des processeurs généralistes et à ne déporter que certaines parties prédéterminées du calcul sur des accélérateurs ne sont pas suffisantes. Le véritable défi consiste donc à concevoir des environnements où les applications sont réparties sur l’intégralité de la machine, c’est-à-dire où les différents calculs sont ordonnance ́s dynamiquement sur la totalité des unités de calcul disponibles.

Dans cette thèse, nous proposons donc un nouveau modèle de support exécutif fondé sur une abstraction de tâche et spécifiquement conçu pour répondre aux nombreux défis en termes d’ordonnancement de tâches et de gestion de données. La plate-forme StarPU a été conçue lors de cette thèse afin de démontrer la pertinence de ce modèle. StarPU propose une interface expressive permettant d’accéder à un ordonnancement flexible, fortement couplé à une gestion de données efficace. À l’aide de cet environnement et en associant les différentes tâches avec des modèles de performance auto-calibrés, il devient par exemple très simple de concevoir des stratégies d’ordonnancement prenant en compte les temps de calcul et les surcoûts liés aux mouvements de données. Nous montrons que notre modèle fondé sur un paradigme de tâche est suffisamment puissant pour exploiter les grappes de calcul d’une part, et les architectures manycœurs hybrides d’autre part.

Nous analysons les performances obtenues non seulement grâce à des tests synthétiques, mais aussi à l’aide d’applications réelles. Nous obtenons ainsi des accélérations substantielles, ainsi qu’une très bonne efficacité parallèle sur différents types de plates-formes multicœurs, dotées d’accélérateurs.

Keywords: StarPU, PhD thesis
Download

 

Bibtex

@PhDThesis{Aug11Thesis,
author = {C{'e}dric Augonnet},
title = {{Scheduling Tasks over Multicore machines enhanced with Accelerators: a Runtime System's Perspective}},
school = {Universit{'e} Bordeaux 1},
year = {2011},
mounth = DEC,
type = {PhD Thesis},
keywords = {StarPU}
}