Scheduling Tasks Over Multicore Machines Enhanced with Accelerators: a Runtime System’S Perspective
Total Page:16
File Type:pdf, Size:1020Kb
N◦ d’ordre: 4460 UNIVERSITE´ DE BORDEAUX 1 ECOLE´ DOCTORALE DE MATHEMATIQUES´ ET INFORMATIQUE THESE` present´ ee´ pour obtenir le grade de DOCTEUR Sp´ecialit´e: Informatique Scheduling Tasks over Multicore machines enhanced with Accelerators: a Runtime System’s Perspective par C´edricAUGONNET soutenue le 9 Decembre´ 2011 Apres` avis de : M. Albert COHEN Directeur de recherche INRIA Rapporteur M. Jean-Franc¸ois MEHAUT Professeur des Universites´ Rapporteur Devant la commission d’examen composee´ de : M. Henri BAL Professeur des Universites´ Examinateur M. Albert COHEN Directeur de recherche INRIA Rapporteur M. David GOUDIN Ingenieur´ Chercheur au CEA Examinateur M. Jean-Franc¸ois MEHAUT Professeur des Universites´ Rapporteur M. Raymond NAMYST Professeur des Universites´ Directeur de These` M. Jean ROMAN Professeur a` l’IPB President´ M. Samuel THIBAULT Maˆıtre de Conferences´ Directeur de These` A` Camille, 4 Remerciements Au terme de ce periple´ qu’est la these,` je souhaite remercier toutes celles et ceux qui m’ont per- mis de parcourir ce chemin tortueux. Je remercie en premier lieu mes encadrants pour m’avoir guide´ pendant ces quatre dernieres` annees.´ Merci Raymond de m’avoir donne´ l’opportunite´ de travailler sur un tel sujet et de m’avoir encadre´ tout au long de cette aventure, depuis mon pre- mier stage en licence jusqu’a´ la fin de ma these.` Merci Samuel d’avoir toujours et´ e´ la` pour me faire prendre le recul necessaire´ afin de canaliser un enthousiasme quelque peu debordant.´ Je suis d’ailleurs particulierement` fier d’avoir et´ e´ ton premier thesard.´ Je tiens aussi a` remercier les autres membres de mon jury, que j’ai eu la chance de recontrer a` differentes´ reprises au cours de ce periple´ : Henri Bal – dont le cours aura suscite´ en moi une veritable´ passion pour le calcul parallele` –, David Goudin et Jean Roman. Je remercie particulierement` Jean-Franc¸ois Mehaut et Albert Cohen pour avoir accepte´ et pris le temps relire mon manuscrit. Une these,` c’est avant tout un travail d’equipe.´ Merci donc aux membres de Runtime d’avoir rendu ce travail possible et de m’avoir supporte´ malgre´ un handicap administratif flagrant (par- don Sylvie !). Merci a` celles et ceux qui ont participe´ a` l’aventure StarPU et qui m’ont permis d’avancer bien plus que je ne l’aurais imagine´ : Samuel, Raymond, Nathalie, Nicolas, Franc¸ois, Ludovic, Sylvain, Olivier ... Et bonne chance aux personnes qui reprendront le flambeau ! Je remercie egalement´ Alexandre, Denis, Emmanuel, Marie-Christine, Olivier et Pierre-Andre´ pour leurs conseils avises.´ Merci aux autres personnes avec lesquelles j’ai pu partager les joies de la these` : Babeth la specialiste´ des makis, Bertrand le marathonien, Broq l’homme le plus droleˆ du monde, Diak mon co-bureau invisible, Jej´ e´ le sosie officiel de Michael Lonsdale, Paulette et ses compils de Thunderdome, et enfin Stephanie´ a` qui je dois certainement 3000 euros chez Nespresso. Par ailleurs, je tiens a` m’excuser aupres` de mes differents´ co-bureaux pour leur avoir inflige´ mes frasques musicales, un fouillis sans nom, et ma decoration´ a` base de poneys. Qui aurait cru qu’on puisse chauffer un bureau a` l’aide de BLAS3 ? Merci aussi aux personnes avec qui j’ai eu la chance de collaborer a` Bordeaux et dans les projets ProHMPT, MediaGPU, PEPPHER, ou encore celles qui m’ont accueilli a` l’Universite´ du Tennesse Knoxville et d’Urbana-Champaign. Merci notamment a` Emmanuel, Hatem, Mathieu et Stan de m’avoir ouvert les portes de l’ICL. Je pense egalement´ a` mes amis qui ont rendu cette periode´ un peu plus leg´ ere.` Merci a` Cecile,´ Cyril, Amelie´ et Christophe pour les soirees´ Wii/Master System 2 sur fond de Rhum et Tequila. Special´ big up a` Juliette et Franc¸ois qui ont toujours et´ e´ presents´ dans les moments importants, et ce malgre´ la distance. Merci aussi a` eux (et a` Camille) pour m’avoir supporte´ en tant que colocataire : il en fallait du courage pour tolerer´ ma boite a` meuh, ma carte musicale Coca-Cola, et mes moultes decorations´ des plus seyantes ! Au passage, une caresse a` Babouch mon chat d’adoption, pour ces longues heures passees´ sur mes genoux pendant que je m’affairais a` rediger´ ce document ! Merci enfin aux geeks de l’ENS Lyon qui m’ont fait decouvrir´ l’informatique et la Guinness : Dain, Grincheux, Julio, Kaisse, Louloutte, Nanuq, Nimmy, Stilgar, TaXules, Tchii, Theblatte, Tonfa, Vinz, Youpi et Zmdkrbou. Parceque sans eux je n’en serais probablement pas arrive´ la:` merci a` mes parents d’avoir tou- jours pris sur eux pour me soutenir, malgre´ la distance. J’espere` que vous ne m’en voulez pas trop pour toutes ces fetesˆ de Noel¨ passees´ a` travailler entre le saumon et la bucheˆ ; ou pour cette epoque´ durant laquelle je decouvrais´ Internet tout en vous empechantˆ de recevoir le moindre coup de fil (une petite pensee´ au passage pour tous les autres parents victimes du forfait AOL 99 francs illimite).´ Merci a` mon autre famille pour sa grande gen´ erosit´ e´ et pour m’avoir fait apprecier´ les joies du Sud-Ouest. Merci Michel pour toutes nos discussions, pour les lec¸ons de conduite, et pour avoir sacrifie´ a` maintes reprises votre reserve´ de champagne, afin d’accompagner les mo- ments importants. Merci Genevieve` pour tous les croissants, pains au chocolat (ou chocolatines !) et autres bouteilles de Juranc¸on. Merci a` Julie et Jerry, et a` Charlotte et Jean-Clement´ pour m’avoir accueilli si souvent : que c’est bon d’etreˆ une piece` rapportee´ dans ces conditions ! Enfin plus que quiconque, je tiens vraiment a` remercier Camille, qui a toujours et´ e´ la` pour moi. Merci pour tout cet amour, cette douceur, et ce reconfort´ ! Merci a` toi pour les sacrifices consentis, et pour tout ce temps passe´ a` me soutenir malgre´ mes innombrables absences. Je te suis infiniment reconnaissant de m’avoir ouvert les yeux sur ce que sont les vrais bonheurs de la vie, que tu rends chaque jour un peu plus belle. 6 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 in- troduced 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 of- floading 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 compu- tation 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 de- signed 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. 8 R´esum´e Les machines multicœurs equip´ ees´ d’accel´ erateurs´ deviennent de plus en plus populaires dans le domaine du Calcul Haute Performance. Les architectures hybrides reduisent´ la consommation energ´ etique´ de maniere` significative et sont donc amenees´ a` se gen´ eraliser´ dans l’ere` du manycœur. Cependant, la complexite´ induite par ces architectures a un impact direct sur leur programma- bilite.´ Il est donc indispensable de fournir des abstractions portables afin de tirer pleinement parti de ces machines. Les approches qui consistent a` executer´ une application sur des processeurs gen´ eralistes´ et a` ne deporter´ que certaines parties pred´ etermin´ ees´ du calcul sur des accel´ erateurs´ ne sont pas suffisantes. Le veritable´ defi´ consiste donc a` concevoir des environnements ou` les applications sont reparties´ sur l’integralit´ e´ de la machine, c’est-a-dire` ou` les differents´ calculs sont ordonnances´ dynamiquement sur la totalite´ des unites´ de calcul disponibles. Dans cette these,` nous proposons donc un nouveau modele` de support executif´ fonde´ sur une abstraction de tacheˆ et specifiquement´ conc¸u pour repondre´ aux nombreux defis´ en termes d’ordonnancement de tachesˆ et de gestion de donnees.´ La plate-forme StarPU a et´ e´ conc¸ue lors de cette these` afin de demontrer´ la pertinence de ce modele.` StarPU propose une interface expressive permettant d’acceder´ a` un ordonnancement flexible, fortement couple´ a` une gestion de donnees´ efficace. A` l’aide de cet environnement et en associant les differentes´ tachesˆ avec des modeles` de performance auto-calibres,´ il devient par exemple tres` simple de concevoir des strategies´ d’ordon- nancement prenant en compte les temps de calcul et les surcoutsˆ lies´ aux mouvements de donnees.´ Nous montrons que notre modele` fonde´ sur un paradigme de tacheˆ est suffisamment puissant pour exploiter les grappes de calcul d’une part, et les architectures manycœurs hybrides d’autre part.