Comment construire un supercalculateur?

Comment connecter mon ordinateur portable à mes nœuds pour installer un supercalculateur
Comment connecter mon ordinateur portable à mes nœuds pour installer un supercalculateur?

Avez-vous besoin d'une machine capable de fournir des centaines de billions de calculs en virgule flottante par seconde? Ou avez-vous besoin d'une histoire de bar sur la façon dont le supercalculateur de votre sous-sol a renversé un disjoncteur? Construire votre propre cluster de calcul haute performance, alias supercalculateur, est un défi que tout connaisseur expert avec un week-end de temps libre et de l'argent à dépenser peut relever. Techniquement parlant, un supercalculateur moderne et multiprocesseur est un réseau d'ordinateurs travaillant ensemble en parallèle pour résoudre un problème. Cet article décrira brièvement chaque étape du processus, en se concentrant sur le matériel et les logiciels.

Pas

  1. 1
    Déterminez d'abord les composants matériels et les ressources nécessaires. Vous aurez besoin d'un nœud principal, d'au moins une douzaine de nœuds de calcul identiques, d'un commutateur Ethernet, d'une unité de distribution d'alimentation et d'un rack. Déterminez la demande électrique, le refroidissement et l'espace requis. Décidez également de l'adresse IP que vous souhaitez pour vos réseaux privés, du nom des nœuds, des packages logiciels que vous souhaitez installer et de la technologie à laquelle vous souhaitez fournir les capacités de calcul parallèle (nous en parlerons plus tard).
    • Bien que le matériel soit coûteux, tous les logiciels répertoriés dans ce guide sont gratuits et la plupart sont open source.
    • Si vous souhaitez connaître la vitesse théorique de votre supercalculateur, utilisez cet outil: http://hpl-calculator.sourceforge.net/
  2. 2
    Créez les nœuds de calcul. Vous devrez assembler les nœuds de calcul ou acquérir des serveurs pré-construits.
    • Choisissez un châssis de serveur informatique qui maximise l'espace, le refroidissement et l'efficacité énergétique.
    • Ou vous pouvez utiliser une douzaine de serveurs obsolètes et usagés - dont le tout l'emportera sur la somme de leurs composants tout en vous permettant d'économiser une somme considérable d'argent. Tous les processeurs, adaptateurs réseau et cartes mères doivent être identiques pour que l'ensemble du système fonctionne bien ensemble. Bien sûr, n'oubliez pas la RAM et le stockage pour chaque nœud et au moins un lecteur optique pour le nœud principal.
    Comment calculer les tensions totales d'un supercalculateur
    Comment calculer les tensions totales d'un supercalculateur?
  3. 3
    Installez les serveurs dans le rack. Commencez par le bas pour que le rack ne soit pas trop lourd. Vous aurez besoin d'un ami pour vous aider avec cela - les serveurs denses peuvent être très lourds et les guider dans les rails qui les maintiennent dans le rack est difficile.
  4. 4
    Installez le commutateur Ethernet au-dessus du châssis du serveur. Prenez ce moment pour configurer le commutateur: autorisez des tailles de trame jumbo de 9000 octets, définissez l'adresse IP sur l'adresse statique que vous avez choisie à l'étape 1 et désactivez les protocoles de routage inutiles tels que la surveillance SMTP.
  5. 5
    Installez le PDU (unité de distribution d'alimentation). En fonction de la quantité de courant dont vos nœuds peuvent avoir besoin à charge maximale, vous pouvez avoir besoin de 220 volts pour le calcul haute performance.
    Ou avez-vous besoin d'une histoire de bar sur la façon dont le supercalculateur de votre sous-sol a renversé
    Ou avez-vous besoin d'une histoire de bar sur la façon dont le supercalculateur de votre sous-sol a renversé un disjoncteur?
  6. 6
    Avec tout installé, vous pouvez commencer le processus de configuration. Linux est le système d'exploitation de facto pour les clusters HPC - non seulement c'est l'environnement idéal pour le calcul scientifique, mais il ne coûte rien de l'installer sur des centaines, voire des milliers de nœuds. Imaginez combien il en coûterait pour installer Windows sur tous ces nœuds!
    • Commencez par installer la dernière version du BIOS et du micrologiciel de la carte mère, qui devraient être les mêmes sur tous les nœuds.
    • Installez votre distribution Linux préférée sur chaque nœud, avec une interface utilisateur graphique pour le nœud principal. Les choix populaires incluent CentOS, OpenSuse, Scientific Linux, RedHat et SLES.
    • Cet auteur recommande vivement l'utilisation de Rocks Cluster Distribution. En plus d'installer tous les outils nécessaires au fonctionnement d'un cluster de calcul, Rocks utilise une excellente méthode pour «distribuer» très rapidement de nombreuses instances de lui-même aux nœuds en utilisant le démarrage PXE et la procédure Red Hat «Kick Start».
  7. 7
    Installez l'interface de transmission de messages, le gestionnaire de ressources et les autres bibliothèques nécessaires. Si vous n'avez pas installé Rocks à l'étape précédente, vous devrez configurer manuellement le logiciel nécessaire pour activer les mécanismes de calcul parallèle.
    • Tout d'abord, vous aurez besoin d'un système de gestion de bash portable, tel que Torque Resource Manager, qui vous permet de fractionner et de répartir les tâches sur plusieurs machines.
    • Associez le couple avec le Maui Cluster Scheduler pour terminer la configuration.
    • Ensuite, vous devrez installer l'interface de transmission de messages, nécessaire pour que les processus individuels sur les nœuds de calcul séparés partagent les mêmes données. OpenMP est une évidence.
    • N'oubliez pas les bibliothèques et les compilateurs mathématiques multithreads pour créer vos programmes de calcul parallèle. Ai-je mentionné que vous devriez simplement installer Rocks?
  8. 8
    Mettez en réseau les nœuds de calcul ensemble. Le nœud principal envoie les tâches de calcul aux nœuds de calcul, qui à leur tour doivent renvoyer le résultat, ainsi que s'envoyer des messages. Le plus vite sera le mieux.
    • Utilisez un réseau Ethernet privé pour connecter tous les nœuds du cluster.
    • Le nœud principal peut également agir en tant que serveur NFS, PXE, DHCP, TFTP et NTP sur le réseau Ethernet.
    • Vous devez séparer ce réseau des réseaux publics, ce qui garantit que les paquets de diffusion n'interfèrent pas avec les autres réseaux de votre LAN.
    D'au moins une douzaine de nœuds de calcul identiques
    Vous aurez besoin d'un nœud principal, d'au moins une douzaine de nœuds de calcul identiques, d'un commutateur Ethernet, d'une unité de distribution d'alimentation et d'un rack.
  9. 9
    Testez le cluster. La dernière chose que vous voudrez peut-être faire avant de libérer toute cette puissance de calcul à vos utilisateurs est de tester ses performances. Le benchmark HPL (High Performance Lynpack) est un choix populaire pour mesurer la vitesse de calcul du cluster. Vous devrez le compiler à partir des sources avec toutes les optimisations possibles que votre compilateur propose pour l'architecture que vous avez choisie.
    • Vous devez, bien sûr, compiler à partir de la source avec toutes les options d'optimisation possibles pour votre plate-forme. Par exemple, si vous utilisez des processeurs AMD, compilez avec Open64 avec un niveau d'optimisation -0fast.
    • Comparez vos résultats sur TOP500.org pour comparer votre cluster aux 500 superordinateurs les plus rapides au monde!

Conseils

  • Pour des vitesses de réseau vraiment élevées, regardez dans les interfaces réseau InfiniBand. Soyez prêt à payer des prix élevés.
  • IPMI peut simplifier l'administration d'un grand cluster en fournissant KVM sur IP, un cycle d'alimentation à distance, etc.
  • Utilisez Ganglia pour surveiller les charges de calcul sur les nœuds.

Mises en garde

  • Assurez-vous que votre infrastructure peut gérer la charge.

Questions et réponses

  • À quoi peuvent-ils servir pratiquement?
    À peu près tout, juste plus rapide et plus "précis" qu'un PC classique. Ceux dont vous entendez parler concernent les mathématiques, le réseautage et / ou l'hébergement extrêmement complexes.
  • Puis-je utiliser l'édition du serveur Ubuntu?
    Il est certainement viable d'utiliser Ubuntu. Tout dépend de vos préférences personnelles. Théoriquement, vous pouvez utiliser n'importe quelle distribution Linux de votre choix.
  • Puis-je utiliser Raspberry Pi comme nœuds de calcul lors de la construction d'un supercalculateur?
    Oui, mais ne vous attendez pas à de très bonnes performances. Les Raspberry Pi ne sont pas très puissants, mais ils sont silencieux et ne produisent presque pas de chaleur, ce qui est idéal.
  • Combien ça coûtera?
    Le prix peut atteindre un nombre que personne ne voudrait voir, en particulier pour un ordinateur d'ingénierie scientifique haut de gamme, mais il diffère en fonction de l'usage auquel il sera destiné.
  • Tous les nœuds doivent-ils avoir le même chipset CPU?
    Il est préférable que tous les nœuds aient la même capacité de traitement CPU. De cette façon, vous pouvez facilement calculer le temps de traitement ainsi que la puissance de traitement du cluster. Cela réduit également la quantité de ressources gaspillées. Par exemple, s'il y a des processeurs différents dans deux nœuds, un nœud peut être plus rapide qu'un autre. Le résultat est que, dans les tâches informatiques lourdes, le processeur le plus rapide doit attendre le plus lent, ce qui coûte des ressources et du temps supplémentaires.
  • Comment connecter mon ordinateur portable à mes nœuds pour installer un supercalculateur?
    Si vous souhaitez utiliser votre ordinateur portable comme nœud principal de votre supercalculateur, connectez-le simplement à votre commutateur Ethernet via un câble (le Wi-Fi est beaucoup trop lent). Assurez-vous d'utiliser un commutateur Gigabit (T1000) et d'utiliser tous les câbles cat6. L'ordinateur portable doit, bien sûr, exécuter le même système d'exploitation Linux que le reste du cluster, et tout ordinateur portable est susceptible d'être plutôt sous-alimenté par rapport aux autres processeurs qui pourraient être utilisés. N'oubliez pas que seuls les logiciels spécialement écrits pour les ordinateurs distribués (calcul parallèle) bénéficieront d'un tel système.
  • Puis-je relier entre eux des ordinateurs de bureau Windows 10 peu coûteux et à faible consommation pour créer un «mini» supercalculateur?
    Il est certainement possible de relier un certain nombre de PC ordinaires pour former un petit cluster. Cependant, je ne pense pas que vous puissiez le faire facilement en utilisant les systèmes d'exploitation Windows existants car je ne pense pas que quiconque ait vraiment poursuivi cela (probablement pour des raisons de coût et de propriété). Cependant, vous pouvez facilement utiliser les mêmes PC, sans affecter le système d'exploitation existant, soit en installant Linux en tant que système «dual boot», soit en l'installant sur plusieurs clés USB et en démarrant les PC à partir d'elles. Linux est vraiment le seul choix pour faire cela car c'est le système sur lequel la plupart des travaux ont été effectués dans ce domaine, certaines versions étant spécifiquement conçues pour les clusters.
  • À quel point un supercalculateur peut-il chauffer?
    Cela dépend vraiment de la configuration de la distribution électrique. Trop de puissance peut le réchauffer beaucoup plus. Ne pas avoir une bonne méthode de refroidissement peut également provoquer de la chaleur. Assurez-vous d'avoir une bonne méthode de distribution d'énergie, même si vous devez payer plus cher - c'est mieux que de court-circuiter vos nœuds.
  • De quel logiciel ai-je besoin pour installer sur un supercalculateur?
    Tout logiciel qui fonctionnera sur chaque nœud individuel.Le meilleur logiciel gratuit est Linux.
  • Comment calculer les tensions totales d'un supercalculateur?
    Vous avez besoin d'un morceau de papier à moins que vous ne puissiez garder tous les nombres dans votre tête. Rassemblez les nœuds ou les serveurs pré-construits et examinez leur consommation d'énergie. Si vous avez correctement suivi les étapes, vous devez avoir les mêmes nœuds ou serveurs de pré-construction, de sorte que la puissance de sortie est la même. Maintenant, comptez le nombre de nœuds ou de serveurs de pré-construction dont vous disposez, puis multipliez la puissance de sortie par le nombre de nœuds dont vous disposez. Enfin, ajoutez 9.

FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail