Skip to main content

Thesis defence of Arthur Vianes (SLS team): Integration of a Manycore Accelerator in a High-Performance Processor

Thesis defence / SLS

On December 17, 2024

Arthur VIANES - SLS team

Thesis directors / supervisors
Frédéric ROUSSEAU - Thesis director - Full professor - Université Grenoble Alpes
Benoît DUPONT DE DINECHIN - Co-thesis supervisor - Engineer - Kalray

Rapporteurs
Kevin MARTIN - Rapporteur - Full professor - Lab-STICC
Jean-François NEZAN - Rapporteur - Full professor - Université de Rennes - INSA

Composition of the jury
Frédéric ROUSSEAU - Thesis director - Full professor - Université Grenoble Alpes
Benoît DUPONT DE DINECHIN - Co-thesis supervisor - Engineer - Kalray
Kevin MARTIN - Rapporteur - Full professor - Lab-STICC
Jean-François NEZAN - Rapporteur - Full professor - Université de Rennes - INSA
Didier DONSEZ - Examinator - Full professor - Université Grenoble Alpes
Tanguy RISSET - Examinator - Full professor - INSA Lyon

Title: Integration of a Manycore Accelerator in a High-Performance Processor
Keywords: MPPA, cache coherency, HPC
Abstract
: Modern computing systems are subject to strong constraints during their use (in particular for energy dissipation - the amount of heat produced by the circuit to be extracted), and during their design and manufacture, with constraints imposed by the lithography techniques used, which are mainly economic constraints. All these constraints determine the efficiency of a circuit (in terms of computing power, energy efficiency and cost) and it is necessary to take them into account to design an efficient circuit. To achieve high performance in specialized computing tasks, we need to move away from the general-purpose computing model and to design and use specialized accelerators for these tasks. This approach is already used, for example, for graphics tasks, which are offloaded to a graphics processing unit (GPU). A number of factors make the programming models of general-purpose processors and the accelerator programming models incompatible. But the main incompatibility lies in their memory models. The memory models of general-purpose processors expose a globally uniform memory and provide strong guarantees of memory synchronization when multiple programs manipulate the same data stored in memory. This latter property is called "cache coherency". These properties simplify programmability by making memory behavior more intuitive for the programmer, and reduce the amount of code required to manipulate correctly synchronized data. While in the memory model of accelerators, the memory is not uniform, several types of memory are exposed - typically global memory and local memory. Accelerator architectures based on a large number of cores, known as "many-core" architectures, put significant constraints on the memory system, preventing the implementation of cache coherency. The consequences of weakening the memory model are that the memory model is less intuitive for programmers, and when data is shared between multiple programs extra synchronization code is now required. In this work, we discuss the constraints involved in integrating a many-core accelerator with a high-performance general-purpose processor. We investigate how to reduce memory contention in the local memory system of this type of accelerator. And finally, we suggest a solution to reduce the gap between the general-purpose programming model and the accelerator programming model by introducing a software cache coherence protocol.

Titre : Intégration d'un accélérateur pluri-coeurs dans un processeur à hautes performances
Mots-clés : MPPA, cohérence de cache, HPC

Résumé : Les systèmes de calcul modernes sont soumis à de fortes contraintes durant leur utilisation (notamment pour la dissipation d'énergie - quantité de chaleur produite par le circuit à extraire), et durant leur conception puis fabrication, avec des contraintes imposées par les techniques de gravure utilisées, qui sont principalement des contraintes économiques. L'ensemble de ces contraintes déterminent l'efficacité d'un circuit (en terme de puissance de calcul, d'efficacité énergétique, et de coût) et il est nécessaire de les prendre en compte pour concevoir un circuit efficace. Pour atteindre la haute performance avec des taches de calcul spécialisé, il est nécessaire de se détacher du modèle de calcul généraliste et de concevoir et utiliser des accélérateurs spécialisés pour ces taches. Cette approche est déjà utilisée par exemple pour les taches graphiques, qui sont déportées vers un processeur graphique (GPU). Plusieurs facteurs rendent incompatibles les modèles de programmation des processeurs généralistes et les modèles de programmation des accélérateurs. Mais l'incompatibilité majeure réside dans leurs modèles mémoire. Les modèles mémoire des processeurs généralistes exposent une mémoire globalement uniforme et fournissent des garanties fortes de synchronisation de la mémoire quand plusieurs programmes manipulent la même donnée stockée en mémoire. Cette dernière propriété est appelée "cohérence de cache". Ces propriétés simplifient la programmabilité en proposant un comportement de la mémoire plus intuitif pour le programmeur, ce qui réduit la quantité de code nécessaire pour manipuler des données correctement synchronisées. Dans le cas du modèle mémoire des accélérateurs, la mémoire n'est pas uniforme, plusieurs types de mémoire sont proposées - souvent une mémoire globale et une mémoire locale. Les architectures d’accélérateurs composées d'un grand nombre de processeurs, appelées architectures "pluri-coeurs", imposent des contraintes fortes sur le système mémoire, et la cohérence de cache est trop difficile à offrir. Les conséquences de ce relâchement du modèle mémoire sont que le modèle mémoire est moins intuitif pour les programmeurs, et que lorsque des données sont partagées entre plusieurs processus, il est nécessaire d'ajouter explicitement du code de synchronisation supplémentaire. Dans ce travail, nous présentons les contraintes que représente l'intégration d'un accélérateur de type pluri-coeurs avec un processeur généraliste haute performance. Nous étudions comment réduire les problèmes de contention mémoire dans le système mémoire local de ce type d'accélérateur. Enfin, nous proposons une solution permettant de réduire la distance entre le modèle de programmation généraliste, et le modèle de programmation des accélérateurs en proposant sur un protocole de cohérence de cache logiciel.

Date

On December 17, 2024
Complément date

17/12/2024 - 14:00

Localisation

Complément lieu

Grenoble INP (Viallet) - Amphi C

Submitted on October 17, 2024

Updated on October 17, 2024