Besoin d'une machine capable d'effectuer des milliards de calculs à virgule flottante en une seconde ? Ou avez-vous besoin d'une histoire sympa sur votre superordinateur personnel qui a éteint les lumières de votre village ? Construire un superordinateur est un défi intéressant si vous êtes un génie riche avec un peu de temps libre. Techniquement, un superordinateur multiprocesseur est un réseau d'ordinateurs qui travaillent ensemble pour résoudre un problème. Cet article abordera brièvement chaque étape de sa création, en se concentrant sur le matériel et les logiciels.
Étape
Étape 1. Tout d'abord, déterminez les composants matériels dont vous aurez besoin
Un nœud principal, au moins une douzaine de nœuds de calcul identiques, un commutateur Ethernet, une unité de distribution d'alimentation (PDU) et un rack de serveur. Renseignez-vous également sur les besoins en électricité, en climatisation et en espace. Spécifiez l'adresse IP du réseau privé, les noms des nœuds, les packages logiciels que vous souhaitez installer et la technologie que vous souhaitez utiliser pour les faire fonctionner ensemble pour effectuer un calcul parallèle (plus de détails ci-dessous).
- Bien que le matériel dont vous aurez besoin soit coûteux, les logiciels de ce guide sont tous gratuits et la plupart sont open source.
- Si vous voulez voir à quelle vitesse votre supercalculateur sera (en théorie), utilisez ceci:
Étape 2. Créez des nœuds de calcul
Vous pouvez assembler vous-même les nœuds de calcul dont vous avez besoin ou utiliser un serveur prêt à l'emploi.
- Choisissez une infrastructure de serveur informatique qui maximise l'espace, le refroidissement et l'efficacité énergétique.
- Ou vous pouvez utiliser environ une douzaine de serveurs obsolètes. Lorsqu'ils sont utilisés ensemble, ils sont beaucoup plus utiles que lorsqu'ils sont utilisés individuellement, et vous pouvez économiser un peu. Tous les processeurs, adaptateurs réseau et cartes mères doivent être identiques pour garantir le bon fonctionnement du système. Bien sûr, n'oubliez pas la RAM et la capacité de stockage pour chaque nœud et au moins un lecteur optique pour le nœud principal.
Étape 3. Montez le serveur que vous avez intégré dans le rack de serveur
Commencez par le bas pour éviter les objections du haut. Invitez un ami à vous aider, car les ensembles de serveurs encombrés peuvent devenir si lourds qu'il est difficile de les ranger dans des tiroirs.
Étape 4. Montez le commutateur Ethernet sur le châssis du serveur
Profitez de cette opportunité pour le configurer: donnez-lui une taille de trame de 9000 octets, définissez l'adresse IP sur l'adresse statique que vous avez spécifiée à l'étape 1 et désactivez les protocoles de routage inutiles comme SMTP Snooping.
Étape 5. Installez l'unité de distribution d'alimentation
Vous aurez peut-être besoin de 220 volts pour le calcul hautes performances, selon la quantité de courant requise par le nœud à charge maximale.
Étape 6. Une fois que tout est installé, vous pouvez démarrer le processus de configuration
Linux est un système d'exploitation incontournable pour les clusters de calcul haute performance, car en plus d'être idéal pour le calcul scientifique, il est également 100% gratuit. Avec des nœuds qui atteignent des centaines voire des milliers, cela coûtera certainement très cher si vous utilisez Windows !
- Commencez par installer la dernière version du BIOS et du firmware de la carte mère. La version installée doit être la même pour tous les nœuds. Commencez par installer la dernière version du BIOS et du micrologiciel de la carte mère, qui doit être la même sur tous les nœuds.
- Installez la distribution Linux de votre choix sur chaque nœud, avec une interface graphique sur le nœud principal. Les choix populaires sont CentOS, OpenSuse, Scientific Linux, RedHat et SLES.
- L'auteur recommande fortement d'utiliser la distribution Rocks Cluster. Rocks installera instantanément tous les programmes dont votre superordinateur a besoin pour fonctionner et utilisera un moyen astucieux de se « partager » sur tous les nœuds existants à l'aide du démarrage PXE de Red Hat et de la procédure « Kick Start ».
Étape 7. Installez l'interface de messagerie, la gestion des ressources et d'autres bibliothèques logicielles essentielles
Si vous n'avez pas installé Rocks à l'étape précédente, vous devrez préparer vous-même le logiciel nécessaire pour alimenter le mécanisme de calcul parallèle.
- Tout d'abord, vous aurez besoin d'un système de gestion de bash portable comme Torque Resource Manager, qui partagera le travail entre les machines.
- Associez Torque au Maui Cluster Scheduler pour terminer la configuration.
- Ensuite, vous devez installer l'interface de messagerie, qui est nécessaire pour que des nœuds de calcul séparés partagent les mêmes données. OpenMP est un choix définitif.
- N'oubliez pas les bibliothèques mathématiques et les compilateurs multithreads pour créer les programmes de calcul parallèle dont vous avez besoin. Ou, installez simplement Rocks pour le rendre encore plus facile.
Étape 8. Combinez tous les nœuds de calcul dans un réseau
Le nœud principal enverra des tâches de calcul au nœud de calcul, qui devra ensuite renvoyer les résultats tout en échangeant des messages entre eux. Le plus tôt sera le mieux.
- Utilisez un réseau Ethernet privé pour connecter tous les nœuds de votre cluster de superordinateurs.
- Le nœud principal peut être un serveur NFS, PXE, DHCP, TFTP et NTP sur le réseau Ethernet.
- Vous devez séparer ce réseau du réseau public pour vous assurer que les paquets envoyés n'interfèrent pas avec les autres réseaux de votre réseau local.
Étape 9. Testez le superordinateur que vous avez créé
Avant d'être utilisé par d'autres, nous vous recommandons de tester d'abord les performances de votre supercalculateur. HPL (High Performance Linpack) est une référence populaire pour mesurer la vitesse de calcul des supercalculateurs. Vous devrez compiler à partir des sources, avec toutes les options d'optimisation offertes par le compilateur que vous utilisez pour l'architecture que vous avez choisie.
- Bien sûr, vous devez compiler à partir de la source avec toutes les options d'optimisation possibles pour votre plate-forme. Par exemple, si vous utilisez un processeur AMD, compilez-le en utilisant Open64 avec le niveau d'optimisation -0fast.
- Comparez vos résultats de test sur TOP500.org pour comparer votre supercalculateur avec les 500 supercalculateurs les plus rapides du monde !
Des astuces
- Pour des vitesses de réseau élevées, jetez un œil à l'interface réseau InfiniBand. Bien sûr, vous devez être prêt à payer un prix plus élevé.
- IPMI peut simplifier l'administration de grands clusters de superordinateurs en fournissant KVM sur IP, un contrôle à distance du cycle d'alimentation et d'autres fonctionnalités.
- Utilisez Ganglia pour surveiller la charge de calcul sur les nœuds.