A performance projection approach for design-space exploration on Arm HPC environment - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2024

A performance projection approach for design-space exploration on Arm HPC environment

Approche de projection de performance pour l’exploration de paramètres de conception de l’environnement Arm en HPC

Résumé

Today’s science increasingly uses simulation to model and understand the world around us. To improve their speed, accuracy, and modeling capabilities, scientists rely on supercomputers, the domain of expertise of High-Performance Computing. As the demand for computing power keeps growing, these machines must become ever more powerful. However, the reduction in transistor size predicted by Moore’s Law is no longer sufficient to drive the evolution of processors, the core of supercomputer power. Hence, these machines are becoming increasingly complex to answer this increasing demand. The performance of HPC applications depends on interactions between varied application behavior, a complex processor architecture, and the choices made by the software stack. As a result, optimizing applications’ performance on these machines is a tedious task. One solution to simplify optimization efforts and improve applications’ performance is to bring together all HPC actors in a codesign environment for designing future machines. In an environment where the interests of applications drive the choices made by constructors, the processors and software stack will be adapted to the needs of future users. It is all the more vital with the recent arrival of the Arm environment in HPC, already representing 10% total computing power of the Top500 with just six machines, because this environment offers manufacturers great freedom in their choice of processor characteristics. However, in such a codesign environment, it is mandatory to use a performance prediction approach that accounts for the impact of the choices made by all players to drive the design-space exploration. In this thesis, we implement a performance projection approach adapted to our definition of a codesign environment that groups the actors and aspects of application performance into three groups: the application, the software stack, and the hardware. This model takes the form of a three-step process for projecting an accessible application/software stack/source hardware triplet onto a future target triplet of interest, which is inaccessible. These steps are performance characterization of our three aspects, followed by performance analysis on the source triplet, which finally leads to a projection of performance towards the target triplet as a function of the differences between its parameters and those of the source triplet. Then, we implement this approach using a Roofline model representation, in which we focus on the maximum performance attainable by the triplets and project performance with an assumption of architectural efficiency conservation. We then use this model to analyze and explore hardware parameters such as hardware vector size and choice of memory type on different Arm core architectures. Finally, we extend this exploration to multi-core architectures by refining the characterization of the bandwidth and the workload of each core. Then, we use this extension for the exploration of application and software stack parameters on a future HPC architecture of interest: the EPI (European Processor Initiative) processor.
La science d’aujourd’hui utilise de plus en plus la simulation pour modéliser et comprendre le monde qui nous entoure. Pour permettre à celles-ci d’être plus rapides, précises et modélisant de plus grand phénomènes, les scientifiques utilisent des supercalculateurs, domaine d’expertise du Calcul Haute-Performance. Or, à mesure que la demande en puissance de calcul grandit, ces machines se doivent d’être de plus en plus performantes. Seulement, la réduction de la taille des transistors prévue par la loi de Moore ne suffit plus à diriger l’évolution des processeurs, noyau de la puissance des supercalculateurs. Ainsi, pour continuer à être capable de répondre à cette demande, ces machines deviennent de plus en plus complexes. Et les performances des applications HPC dépendent des interactions entre les nombreux comportements des applications, les architectures des processeurs de plus en plus complexes et des choix faits par les différentes piles logicielle. Les efforts à fournir pour l’optimisation des performances des applications sur les machines sont donc de plus en plus importants. Une solution pour simplifier ces efforts d’optimisation et obtenir de meilleures performances des applications est de rassembler l’ensemble des acteurs du HPC dans un environnement de codesign pour la conception des futures machines. Ainsi, dans un tel environnement où les choix faits par les concepteurs sont dirigés par les intérêts des applications, les processeurs et la pile logicielle seront adaptés aux besoins des futurs utilisateurs. Cela est encore plus important depuis la récente arrivée de l’environnement Arm en HPC, représentant 10% de la puissance de calcul totale du Top500 avec seulement 6 machines. En effet, celui-ci offre une plus grande liberté aux constructeurs dans les choix des caractéristiques des processeurs. Seulement, dans un tel environnement de codesign, il est nécessaire d’utiliser une approche de prédiction de performance prenant en compte l’impact des choix faits par l’ensemble des acteurs pour pouvoir effectuer une exploration viable de l’espace de conception. Au cours de cette thèse, nous mettons en place une approche de projection de performance adaptée à notre définition d’un environnement de codesign regroupant les acteurs et les aspects des performances des applications en 3 groupes : l’application, la pile logicielle et le matériel. Ce modèle se présente en trois étapes pour effectuer la projection d’un triplet application/pile logicielle/matériel source, et accessible, vers un futur triplet cible d’intérêt, et inaccessible. Ces étapes sont : la caractérisation des performances sur nos trois aspects, suivi de l’analyse des performances sur le triplet source qui va enfin conduire à une projection des performances vers le triplet cible en fonction des différences entre les paramètres de celui-ci et du triplet source. Cette approche est ensuite implémentée à l’aide d’une représentation fondée sur le modèle Roofline dans laquelle on se concentre sur le maximum de performance atteignable par les triplets et on projette les performances avec une hypothèse de conservation de l’efficacité architecturale. Nous utilisons ensuite ce modèle pour l’analyse et l’exploration de paramètres matériels tels que la taille des vecteurs ou le choix du type de mémoire sur différentes architectures de coeurs Arm. Enfin, nous étendons cette exploration à des architectures multicoeurs en affinant la caractérisation de la bande passante et le travail effectués par chaque coeur. L’utilisation de cette approche se concentre sur l’exploration de paramètres applicatifs et de pile logicielle sur une future architecture d’intérêt pour le HPC : le processeur EPI (pour European Processor Initiative).
Fichier principal
Vignette du fichier
GAVOILLE_CLEMENT_2024.pdf (3.75 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)

Dates et versions

tel-04468260 , version 1 (20-02-2024)

Licence

Paternité

Identifiants

  • HAL Id : tel-04468260 , version 1

Citer

Clément Gavoille. A performance projection approach for design-space exploration on Arm HPC environment. Other [cs.OH]. Université de Bordeaux, 2024. English. ⟨NNT : 2024BORD0004⟩. ⟨tel-04468260⟩
37 Consultations
44 Téléchargements

Partager

Gmail Facebook X LinkedIn More