GT Calcul à grande échelle
Simuler un phénomène physique, ou entraîner un modèle d’intelligence artificielle requiert une grande puissante de calcul. Depuis les années 1980, les supercalculateurs fournissent cette puissance de calcul en distribuant les calculs sur de nombreux serveurs connectés par un réseau rapide. Si les grappes de calcul existent depuis des décennies, les évolutions récentes des infrastructures de calcul posent de nombreux problèmes au développeur d’application parallèle. Cependant, l’augmentation du nombre de nœuds de calcul — passant de 8 192 cœurs en 2000 à 11 millions en 2025 — pose de nouveaux défis aux développeurs d’applications parallèles, notamment en matière de scalabilité, de gestion des ressources partagées et d’optimisation des performances.
L’amélioration de la scalabilité est un enjeu central pour exploiter pleinement ces infrastructures. Les applications doivent exprimer suffisamment de parallélisme pour tirer parti des millions de cœurs disponibles, tout en limitant les communications réseau qui introduisent de la séquentialité. La contention des ressources partagées (mémoire, réseau, stockage) peut également dégrader les performances, surtout lorsque plusieurs applications les utilisent simultanément. Pour y remédier, une structuration hiérarchique des ressources et une prise en compte de la localité par les algorithmes et les supports d’exécution sont essentielles. Les outils d’aide au développement, comme les compilateurs ou les analyseurs de performance, jouent aussi un rôle clé pour optimiser les applications et faciliter le débogage à grande échelle. Enfin, la tolérance aux pannes devient indispensable avec l’augmentation du nombre de composants, nécessitant des mécanismes comme le checkpointing.
L’hétérogénéité des ressources, notamment avec l’intégration d’accélérateurs comme les GPU, ajoute une couche de complexité. Ces composants offrent une puissance de calcul accrue et une meilleure efficacité énergétique, mais leur exploitation optimale exige des adaptations majeures des applications. Les modèles de programmation traditionnels, comme l’offloading (fork/join), introduisent des synchronisations limitant la scalabilité. Des alternatives, comme les modèles à base de tâches (OpenMP, Kokkos, StarPU), permettent d’exprimer le parallélisme différemment, mais leur utilisation à grande échelle reste un défi. Par ailleurs, la maîtrise de l’architecture matérielle des accélérateurs, notamment pour des raisons de performance et de souveraineté technologique, nécessite une collaboration étroite entre les couches matérielles et logicielles.
L’accès efficace aux données est le troisième défi majeur des supercalculateurs. Alors que les performances des processeurs progressent rapidement, celles des mémoires et des systèmes de stockage stagnent, créant un goulot d’étranglement. Les checkpoints, essentiels pour la tolérance aux pannes, génèrent des flux massifs de données qui saturent les serveurs de stockage. Les mémoires hétérogènes (HBM, mémoire non volatile, CXL, etc.) et les hiérarchies de stockage (mémoires flash, serveurs de données chaudes/froides) offrent des pistes pour optimiser les accès. Les supports d’exécution pourraient aussi allouer les données fréquemment utilisées sur des mémoires rapides, tandis que des technologies comme la mémoire unifiée (CPU/GPU) ou la désagrégation de la mémoire via CXL pourraient redéfinir l’architecture des supercalculateurs.
Le groupe de travail « Calcul à large échelle » a pour vocation d’identifier les verrous scientifiques liés au passage à l’échelle, et de contribuer à l’animation de la communauté scientifique.
Responsable : François Trahay
Liste de diffusion : c4p-gt-grande-echelle@groupes.renater.fr (s’inscrire au GT sur myGDR pour s’abonner à la liste de diffusion)
