Exploitation du formalisme flot de données pour la compilation sur des architectures massivement multi-cœurs

par Ahmed Meine

Projet de thèse en Informatique

Sous la direction de Jean-Marc Delosme.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne) , en partenariat avec IBISC - Informatique, Biologie Intégrative, & Systèmes Complexes (laboratoire) , AROBAS : Algorithmique, Recherche Opérationnelle, Bioinformatique et Apprentissage Statistique (equipe de recherche) et de Université d'Évry-Val-d'Essonne (établissement de préparation de la thèse) depuis le 30-09-2017 .


  • Résumé

    Le déploiement de solutions logicielles sur des architectures massivement multi-cœur telles que la famille MPPA de Kalray permet de réduire le temps de conception de systèmes embarqués complexes. Au sein de ces systèmes, les traitements de flots de données (communications radio, images vidéo, etc.) sont critiques en termes de la consommation de ressources et des performances demandées. L'utilisation d'un modèle de programmation flot de données évite au programmeur parallèle d'expliciter la synchronisation inter-tâches ; il incombe alors au compilateur, pris au sens large, d'optimiser le déploiement et l'exécution des applications sur l'architecture cible. Des techniques efficaces d'analyse statique ont été développées pour le modèle CSDFG (Cyclo-Static Data Flow Graph) utilisé dans la chaîne de compilation AccessCore de Kalray [Bod]. Le modèle PCG (Phased Computation Graph), qui permet une modélisation plus fine et plus riche tout en bénéficiant d'extensions de ces techniques d'analyse statique [Les], sera utilisé dans cette thèse. La thèse a pour objet d'optimiser le déploiement sous contrainte de débit sur des architectures massivement multi-cœur d'applications modélisées par des PCG. L'approche est centrée sur l'exploitation des propriétés mathématiques du modèle de l'application pour obtenir des algorithmes polynomiaux d'évaluation de ses besoins en ressources (processeurs et mémoires) pour un placement de ses acteurs sur les clusters de l'architecture. La prise en compte de la réentrance des acteurs sans état, non effectuée dans [Bod] et [Les], permet une exploitation fine (intra-acteur) du parallélisme, tel que le parallélisme de blocs pour l'estimation et la compensation du mouvement pour le codage vidéo. Le modèle des dépendances entre phases est ainsi enrichi, afin de prendre en compte la possibilité de chevauchement de phases, pour satisfaire des contraintes de débit inatteignables avec le seul chevauchement des tâches des différents acteurs. Des applications actuelles et futures, avec des centaines de tâches exécutées en parallèle, pourront ainsi être compilées sur des architectures à mémoires distribuées à faible consommation.

  • Titre traduit

    Exploitation of a dataflow formalism for compilation on manycore architectures


  • Résumé

    The design time of complex embedded systems may be reduced significantly by using the approach of compiling software solutions on manycore architectures such as the MPPA family of Kalray. The processing of data flows (radio communications, video images, etc.) constitutes a critical part of these systems in terms of resource consumption and target performances. By employing a dataflow programming model, the parallel programmer does not have to specify inter-task synchronization; optimizing the mapping and the execution of these applications on the target architecture is left to the compiler, taken in the broad sense. Efficient methods for static analysis have been developed for the CSDF (Cyclo-Static Data Flow) model of computation employed in the AccessCore compiler toolchain of Kalray. The PCG (Phased Comutation Graph) model, which allows a finer and richer modeling while benefiting from these static analysis techniques, will be used in this thesis. The objective of the thesis is to optimize the mapping on manycore architectures of applications modeled by PCGs and their scheduling under throughput constraints. The approach makes the most of the mathematical properties of the application model to obtain polynomial algorithms for the evaluation of the computing and memory resources needed for any given mapping of the actors on an architecture's clusters. The internal parallelism of actors that are reentrant, such as block parallelism for motion estimation and compensation in video coding, will be exploited. The model for the dependencies between the phases will thus be enriched to account for the possibility of phase overlaps and, as a result, to be able to satisfy throughput constraints that could not be attained by just overlapping tasks from different actors. It will then be possible to compile an important class of demanding current and future applications, with hundreds of tasks executed in parallel, on distributed memory architectures with low power consumption.