Le traitement massivement parallèle (en anglais, massively parallel processing ou massively parallel computing) est l'utilisation d'un grand nombre
de processeurs (ou d'ordinateurs distincts) pour effectuer un ensemble de calculs coordonnés en parallèle (c'est-à-dire simultanément).
1.1- Approches pour implanter le traitement massivement parallèle 1) Noeuds de traitement(Grid computing)
Le traitement massivement parallèle repose sur des noeuds de traitement.
Des coeurs de traitement simples et homogènes avec une ou plusieurs unités centrales de traitement constituent ces noeuds.
Les noeuds peuvent être comparés aux ordinateurs de bureau standards.
2) Interconnexion haut débit (computer cluster)
Les noeuds d'un système de traitement massivement parallèle opèrent en parallèle sur différents aspects du même problème de calcul.
Même si leurs traitements sont indépendants les uns des autres, ils doivent fréquemment communiquer pour résoudre un problème commun.
Entre les noeuds, une liaison à faible latence et à bande passante élevée est requise. C'est ce qu'on appelle un bus ou un connecteur haut débit.
Une connexion Ethernet, une interface de données distribuée par fibre optique ou tout autre mécanisme de connexion propriétaire peut être utilisé.
3)Réseau de processeurs massivement parallèles (Massively parallel processor array)
Cette approche utilise un type de circuit intégré contenant des centaines ou de milliers de processeurs et de mémoires vives.
Les processeurs s'échangent des données à travers des interconnexions reconfigurables.
En tirant parti du parallélisme, un circuit de ce type peut accomplir plus de travail qu'un circuit conventionnel.
1.2- Architecture du parallélisme massif Selon la manière dont les noeuds partagent leurs ressources, il existe deux types de systèmes de traitement massivement parallèles :
1) Systèmes de disques partagés
Chaque noeud de traitement aura une ou plusieurs unités centrales de traitement (CPU) et sa mémoire vive (RAM) dans le système de disque partagé.
D'un autre côté, ces noeuds partagent un disque externe pour le stockage de fichiers. Un bus à grande vitesse relie ces noeuds de traitement entre eux.
La bande passante de la liaison haute débit.
Avantages 1) Le système de traitement parallèle devient extrêmement accessible puisque tous les noeuds
partagent une seule base de données externe : même si un noeud est défaillant, aucune donnée n’est définitivement perdue parce
qu'il ne nécessite pas l'utilisation d'une base de données distribuée.
2) les systèmes de disques partagés sont plus simples :
dans les systèmes de stockage partagé, l’ajout de nouveaux noeuds est simple.
Inconvénients La coordination de l'accès aux données est compliquée puisque les noeuds de traitement partagent un seul disque.
Le système nécessite une gestion distribuée des verrous. Les connexions de noeud à noeud consomment une partie de la bande passante de l'interconnexion haut débit.
Un système d’exploitation est nécessaire pour gérer le lecteur partagé, ce qui s’ajoute à la charge du travail.
Systèmes sans partage
La conception « rien partagé- shared nothing systems» est une architecture plus populaire pour les systèmes de traitement massivement parallèles.
Les noeuds de traitement ont leur mémoire vive et leur disque où sont stockés les fichiers et bases de données pertinents,
l’échange des données qui doivent être traitées entre les noeuds est procédé par diverses stratégies :
1) Base de données répliquée : chaque noeud de traitement possède une copie complète des données dans une base de données répliquée.
Même si quelques noeuds tombent en panne, le risque de perte de données est négligeable dans ce modèle.
2) Base de données distribuée : la base de données est ainsi partitionnée en plusieurs tranches.
Chaque noeud de traitement possède et travaille sur une certaine partie de la base de données.
Comme il n’y a pas de redondance dans cette méthode, elle permet d’économiser beaucoup d’espace disque.
Cette solution est cependant plus compliquée que l’utilisation d’une base de données répliquée.
Une grande quantité de données est déplacée entre les noeuds pour terminer l'opération.
Le bus d’interconnexion sera donc plus occupé.
Avantages 1) Ces systèmes ont la capacité d’évoluer horizontalement pour englober un grand nombre de noeuds.
L'ajout d'un nouveau noeud de traitement est plus facile car les noeuds de traitement sont relativement indépendants.
2) La défaillance d’un noeud n’a aucun impact sur les autres noeuds car ils sont presque autonomes. Inconvénients
1) Pour réaliser un travail commun, les systèmes « sans partage » avec des bases de données distribuées nécessitent beaucoup de collaboration
car chaque noeud possède des tranches de la base de données ce qui complique la gestion de cette base de données.
2) La conception « sans partage » peut ne pas être viable si le calcul nécessite de nombreuses opérations de modification des données,
telles que l'insertion et la jointure de données.
HPC- High Performance Computing
3.1 Introduction Le HPC est une technologie qui utilise des clusters de processeurs puissants, fonctionnant en parallèle,
pour traiter des ensembles de données multidimensionnels massifs (big data) et résoudre des problèmes complexes à des vitesses extrêmement élevées.
Pendant des décennies, le paradigme du système HPC était le supercalculateur, un ordinateur spécialement conçu
qui regroupe des millions de processeurs ou de coeurs de processeur.
Par exemple le supercalculateur Frontier ( États-Unis le plus rapide en 2022, 8 730 112 coeurs selon https://www.top500.org
Il faut 6 000 gallons(3.78L ou 4.54 L-1m3=1000L) d’eau pour refroidir ce supercalculateur), avec une vitesse de traitement de 1,102 exaflops.
Mais aujourd'hui, de plus en plus d'organisations exécutent des solutions HPC sur des clusters de serveurs informatiques à haut débit,
hébergés sur site ou dans le cloud. 2.2 Fonctionnement du HPC Le HPC exploite :
1) Le Calcul massivement parallèle : Le calcul massivement parallèle est un calcul parallèle utilisant des dizaines de milliers, voire des millions de processeurs ou de coeurs de processeur.
2) Clusters informatiques (également appelés clusters HPC) : Un cluster HPC se compose de plusieurs serveurs informatiques à haute vitesse mis en réseau,
avec un planificateur centralisé qui gère la charge de travail informatique parallèle.
Les ordinateurs, appelés noeuds, utilisent soit des processeurs multicoeurs hautes performances, soit, plus probablement aujourd'hui,
des GPU (unités de traitement graphique), bien adaptés aux calculs mathématiques rigoureux, aux modèles d'apprentissage automatique et aux tâches gourmandes
en graphiques. Un seul cluster HPC peut inclure 100 000 noeuds ou plus.
3) Composants hautes performances : toutes les autres ressources informatiques d'un cluster HPC (réseau, mémoire, stockage et systèmes de fichiers)
sont des composants à haute vitesse, à haut débit et à faible latence qui peuvent suivre le rythme des noeuds et optimiser la puissance de calcul
et performances du cluster.