Lors de ce tutoriel, les participant·e·s essayeront de reproduire des resultats/experiences provenant d'articles scientifiques de la communauté de COMPAS. L'objectif de l'atelier est de sensibiliser les participant·e·s aux bonnes et mauvaises pratiques experimentales en termes de reproductibilité.
Programme
Amphi -- Mardi 30 Juin - 9h -- 12h30
| Heure | Étape |
|---|---|
| 09:00 - 09:10 | Introduction par les organisateurs des objectifs et du déroulé de l'atelier (slides) |
| 09:10 - 09:15 | Présentation par les organisateurs des articles proposés pour leur reproduction |
| 09:15 - 09:20 | Création de petits groupes (3 - 5 participant·e·s) et choix de l'article à reproduire par groupe |
| 09:20 - 11:00 | Travaux en groupe sur la reproduction de l'article choisit. |
| 11:00 - 11:30 | Pause |
| 11:30 - 12:00 | Préparation des restitutions par groupe (i.e., quelques transparents) |
| 12:00 - 12:25 | Restitutions des groupes aux autres participant·e·s |
| 12:25 - 12:30 | Conclusion de l'atelier et résumé des points clés par les organisateurs. |
Liste des artefacts
Volontaires
#1 -- Évalution de l’impact énergétique du scheduling pour l’entraînement d’IA sur des CPU hétérogènes.
COMPAS
Système
Nix
RAPL
Andrew Mary Huet de Barochez, Stéphan Plassart, Sébastien Monnet
Papier Description ArchiveThe growth of artificial intelligence raises concerns about electricity consumption, especially since the rise of genera- tive models. At the same time, hardware is becoming increasingly heterogeneous, which is often an obstacle to efficient and fru- gal usage of computer resources. CPUs are a great example, as heterogeneous topologies are getting more common. Their cores with different frequencies, cache size or hierarchy, and thread number make it challenging for developers to efficiently parallelize tasks. In this context, we investigate how task-based programming can be used to adapt to such constraints. The ability to schedule tasks based on runtime informations, such as hardware topology, and worker load can solve these problems. To this end, we built DAHL, a task-based programming machine learning framework using the StarPU runtime system. As a use case, we study an image classification task, using datasets with increasingly larger images. We perform our experiments over machines with heterogeneous and homogeneous CPUs. A reference is established by comparing different Pytorch configurations against DAHL. Then we evaluate the runtime and energy gains of several StarPU schedulers. Results show that, specifically on heterogeneous CPUs, the default Pytorch configuration can be 7.5× slower and consume 17× more at worst. Additionally, we demonstrate that the scheduler choice on StarPU can impact the runtime with up to 22% speedup, and energy consumption with up to 15% energy gains. Last, we draw guidelines to choose scheduler families depending on context.
#2 -- Modélisation et réutilisation de code de gestion des données partitionnées en HPC
COMPAS
Parallélisme
StarPU
Alix Peigue
Description ArtefactLe partitionnement des données est essentiel pour exploiter la puissance des machines massivement parallèles. Cependant, la gestion du partitionnement des données est encore souvent laissée aux développeurs d'applications, qui doivent donc combiner une expertise scientifique dans leur domaine et une expertise en calcul haute performance (HPC). Certains modèles de programmation et d'exécution intègrent le partitionnement des données dans leurs modèles afin d'abstraire cet aspect. Cependant, cela conduit à une duplication de la logique décrivant la manière dont les données sont partitionnées entre différents modèles ou bibliothèques. Cette duplication pose particulièrement problème lorsqu'il s'agit de types de données complexes, tels que les maillages non structurés. Ce travail présente une approche basée sur les modèles, qui vise à minimiser la charge de travail liée au portage d'un code de gestion du partitionnement des données entre différents modèles. Il détaille un premier travail qui consiste en une étude de faisabilité visant à fournir une implémentation unique d'un code de gestion du partitionnement de graphes entre COMET comme modèle de programmation et StarPU comme modèle d'exécution.
#3 -- Automated Data Error Cleaning Impact on Federated Learning Utility and Fairness
COMPAS
Federated Learning
James Sudlow, Baudouin Naline, Sara Bouchena
Papier Description ArtefactData cleaning is a critical process for reliable and effective Federated Learning (FL). While current FL data clean- ing methods mainly focus on their impact on model accuracy, their effects on FL model fairness and overall utility remain largely unexplored. This paper presents the first comprehensive empirical study that investigates the impact of automated data cleaning for tabular data on both FL model utility and fairness. Our study encompasses 2,365 different FL workloads, involving 21 data cleaning methods, applied to five real-world datasets, all implemented within our extensible TITANIA framework, resulting in FL workload traces consisting of 1,764,750 records. The key finding of our analysis is twofold: (i) data cleaning actually influences both FL model utility and fairness, with disparities in impacts on different datasets; (ii) FL data cleaning is not robust to high data error rates or high non-IID data distributions, as is usually the case in FL. This opens interesting research directions for novel robust and multi-criteria FL data cleaning, where model fairness and quality are provided by design.
#4 -- Mise en place d’un émulateur de RJMS pour évaluer des politiques d’ordonnancement
COMPAS
Grid'5000
Scheduling
Nix
VMs
Jules Evans
Description ArtefactLes clusters ont une consommation d'énergie importante, de l'ordre de la taille d'une ville comme Reims pour les plus puissants. Produire cette électricité implique des émissions de gaz à effet de serre, principalement du CO2, responsable du réchauffement climatique. Pour limiter ces émissions, des modifications des politiques d'ordonnancement de RJMS sont possibles. Les RJMS (Resource Job Management Software) sont les logiciels permettant aux utilisateurs de soumettre des tâches aux clusters – i.e Slurm, OAR, Flux, etc. Ils utilisent un algorithme d'ordonnancement pour organiser les tâches soumises. Historiquement, les métriques optimisées étaient le makespan (la durée pour exécuter la liste des tâches) et l'équité pour éviter qu'un utilisateur se trouve délaissé par le système. Notre nouvel ordonnanceur a pour but premier d'éviter les émissions carbone en acceptant une potentielle diminution de la qualité de service. Il a un choix de plusieurs éco-décisions telles que : la diminution du walltime, la diminution des ressources réservées, l'annulation totale de la tâche. Ce choix est fait en fonction de l'intensité carbone au moment de la soumission de la tâche. Plus l'intensité est élevée plus l'éco-décision est sévère. Pour évaluer cette politique, l'émulation de cluster a été utilisée, par opposition à la simulation. Elle utilise le code du RJMS directement au lieu d'un modèle de l'algorithme d'ordonnancement. Cette méthode consiste à déployer des conteneurs ou des VMs représentant les machines du cluster émulé. Depuis le conteneur de la frontale, il est possible de lancer des soumissions de tâches effectuant des sleep. En conséquence, l'émulation offre un contexte plus proche de la réalité au contraire de la simulation qui utilise des modèles. Le résultat est une trace de l'ordonnancement fait par ce RJMS pour une trace de tâches donnée.
#5 -- Sélection du profil énergétique pour améliorer les techniques de shifting
COMPAS
Simulation
Batsim
Nicolas Tirel, Philippe Roose, Sergio Ilarri, Adel Noureddine, Olivier Le Goaër
Papier ArtefactLes systèmes informatiques actuels peuvent augmenter dynamiquement leur fréquence de fonctionnement pour traiter une charge de travail plus élevée, à l'aide de mécanismes tels que le Turbo Boost, ce qui a un impact significatif sur leur consommation d'énergie. Si ce comportement augmente la demande en énergie, il crée également de nouvelles opportunités d'amélioration de l'efficacité énergétique. Sur la base d'une analyse des profils de consommation d'énergie de machines hétérogènes à partir de l'ensemble de données du benchmark SPECpower_ssj2008, nous identifions des stratégies visant à améliorer la planification énergétique, notamment grâce à des techniques de shifting de la charge de travail. Pour évaluer et quantifier ces stratégies, nous avons utilisé le simulateur Batsim, qui intègre des profils énergétiques détaillés des machines et prend en charge la mise en œuvre des techniques de shifting que nous proposons, ainsi qu'un jeu de données issu des Parallel Workload Archives. Ce travail vise à démontrer comment le choix d'une machine appropriée peut accroître les avantages des techniques de shifting en termes d'économies d'énergie. Malgré l'importance de ce sujet, aucune étude n'a examiné les profils énergétiques des serveurs utilisés dans les techniques de shifting. Cette étude constitue une avancée dans la compréhension et l'utilisation appropriée des techniques de shifting.
#6 -- Modélisation, simulation et validation expérimentale du greenup de la parallélisation idéale d’un programme sur architecture multicœur
COMPAS
Simulation
Antoine Solcourt, Georges-André Silber
Papier ArtefactNous présentons un modèle analytique conçu pour estimer le greenup, soit le gain en efficacité énergétique, réalisé lors de la parallélisation idéale d’un programme sur un processeur multicœur. Contrairement au gain de vitesse qui croît linéairement, l’amélioration énergétique est limitée par la consommation des ressources partagées, appelées uncore, par rapport à celle des cœurs individuels. Nous validons notre approche par une étude expérimentale sur une architecture Intel Haswell, utilisant un programme synthétique et des mesures via les compteurs RAPL. Les résultats confirment que le gain énergétique converge vers une borne asymptotique prévisible, offrant ainsi un outil simple pour optimiser le nombre de cœurs actifs. Cette décomposition entre composants core et uncore permet de mieux comprendre la scalabilité énergétique des systèmes informatiques modernes.
#7 -- Optimisation des coûts de reconstruction dans un système de stockage distribué
COMPAS
Système
Simulation
Elyas El Idrissi, Cheick Omar Diallo, Joris Carrier, Gil Utard
Papier ArtefactLes systèmes de stockage distribué utilisent largement les codes de Reed-Solomon pour assurer la durabilité des données, mais cette fiabilité s’accompagne de coûts de reconstruction élevés. De nombreuses approches ont été proposées dans la littérature pour réduire ces coûts. Parmi celles-ci, le piggybacking permet de diminuer le volume de données lues et transférées lors des réparations sans augmenter la redondance, en ciblant principalement la reconstruction des blocs de données dans la plupart des schémas existants. Les codes à récupération locale (LRC) introduisent des mécanismes de réparation locale pour un sous-ensemble de fragments au prix d’un surcoût de stockage. Dans cet article, nous proposons un schéma hybride combinant piggybacking et récupération locale. En associant un piggybacking de type Hitchhiker à une organisation de parités locales inspirée des LRC et appliquée aux seules parités globales, cette approche réduit les coûts moyens de jusqu’à 60% tout en maintenant un compromis maîtrisé entre efficacité de stockage et résilience.
Artefacts pré-existants
#8 -- PALLAS: a generic trace format for large HPC trace analysis
Traces
HPC
Grid'5000
Catherine Guelque, Valentin Honoré, Philippe Swartvagher, Gaël Thomas, François Trahay
Papier ArtefactIdentifying performance bottlenecks in a parallel application is tedious, especially because it requires analyzing the behaviour of various software components, as bottlenecks may have several causes and symptoms. For example, a load imbalance may cause long MPI waiting times, or contention on disk may degrade the performance of I/O operations. Detecting a performance problem means investigating the execution of an application and applying several performance analysis techniques. To do so, one can use a tracing tool to collect information describing the behaviour of the application. At the end of the execution, a trace file in a specific format is available to the application user, which can be used to conduct a complete post-mortem investigation. Several challenges emerge from the generation and use of traces. Tracing applications may alter the performance of the application, and can create thousands of heavy trace files, especially at a large scale. Most importantly, the post-mortem analysis needs to load these thousands of trace files in memory, and process them. This quickly becomes impractical for large scale applications, as memory gets exhausted and the number of opened files exceeds the system capacity. In this paper, we propose PALLAS, a generic trace format tailored for conducting various post-mortem performance analysis of traces describing large executions of HPC applications. During the execution of the application, PALLAS collects events and detects their repetitions on-the-fly. When storing the trace to disk, PALLAS groups the data from similar events or groups of events together in order to later speed up trace reading. We demonstrate that the PALLAS online detection of the program structure does not significantly degrade the performance of the applications. Moreover, the PALLAS format allows faster trace analysis compared to other evaluated trace formats. Overall, the PALLAS trace format allows an interactive analysis of a trace that is required when a user investigates a performance problem.
#9 -- Sufficiency in Data Centers: Energy Aware Resource Recommendation System
Grid'5000
Energie
Eyvaz Ahmadzada, Patricia Stolf, Jean-Marc Pierson, Laurent Lefèvre
Papier ArtefactComputing providers offer flexible, scalable and heterogeneous resources. However, their usage often leads to energy waste due to bad user choices. During a job submission, users may choose a cluster more powerful than needed for workloads, or leave the choice to scheduler. In both cases, the lack of guidance can lead to unnecessary energy consumption. We study this problem by evaluating energy gains achieved by a recommendation system that assists users with more energy efficient cluster choices. We analyze historical workloads from a resource provider to extract consumption and performance patterns. Using these profiles, we recommend clusters that can run similar jobs more efficiently.
To evaluate the accuracy of recommendations, we execute evaluation workloads. Workloads are first executed on a cluster chosen by job scheduler, then submitted to the system to obtain a recommended cluster, and finally executed on the recommended cluster and all other clusters of the computing provider. Results show that the clusters recommended by the system achieve an average relative position score of 0.97, where 0 corresponds to the worst observed cluster for a workload, and 1 to the best
#10 -- IO-SETS: Simple and efficient approaches for I/O bandwidth management
I/O
Simulation
Simgrid
Docker
Francieli Boito, Guillaume Pallez, Luan Teylo, Nicolas Vidal
Papier ArtefactOne of the main performance issues faced by high- performance computing platforms is the congestion caused by concurrent I/O from applications. When this happens, the platform’s overall performance and utilization are harmed. From the extensive work in this field, I/O scheduling is the essential solution to this problem. The main drawback of current techniques is the amount of information needed about applications, which compromises their applicability. In this paper, we propose a novel method for I/O management, IO-SETS. We present its potential through a scheduling heuristic called SET-10, which is simple and requires only minimal information. Our extensive experimental campaign shows the importance of IO-SETS and the robustness of SET-10 under various workloads. In particular in most of the simulated scenarios we improve the I/O slowdown over fairshare by 50%, which corresponds in our scenarios to a platform utilization gain of 2.5%. In the practical scenarios that we did, the utilization gain varies between 10 and 30%. We also provide insights on using our proposal in practice.
#11 -- First Experiments to Evaluate the Relevance of Task-based Runtime Systems to Implement Large Language Model Applications
LLMs
StarPU
HPC
Lionel Eyraud-Dubois, Théo Grandsart, Philippe Swartvagher
Papier ArtefactDuring the last decade, a new kind of computation-intensive and complex application has emerged: Large Language Models (LLM). These applications require the computing power offered by HPC clusters and are complex to implement efficiently: several kinds of parallelisms are possible, limited available memory is often a major constraint, accelerators (GPUs, TPUs, NPUs, ...) need to schedule data transfers and computations, the problem size imposes distributed executions, ... All these challenges are already well-known by developers of the first-class citizen applications running on HPC clusters: linear algebra, numerical simulation, ... That is why task-based runtime systems have been proposed: to ease the writing of HPC applications by providing an abstraction of the machine and its efficient programming. Despite task-based runtime systems being used for a long time now for classic HPC applications, they are not used to implement LLM applications. In this paper, we present our first experiments to try to understand why this is the case and whether using task-based runtime systems for LLM applications (both training and inference) is relevant. We describe our implementation of a small LLM with StarPU, discuss the different choices we had to make and evaluate performance.
Organisateurs
- Quentin Guilloteau, INRIA
- Millian Poquet, Univ. Toulouse, IRIT
- Miguel Felipe Silva Vasconcelos, Univ. Toulouse, IRIT
- Jules Evans, CNRS, IRIT