Conseils utiles

Réseaux pour superordinateurs

L'informatique distribuée est un moyen de contribuer à des projets intéressants. Lorsque votre ordinateur est inactif, partagez son pouvoir avec le projet SETI, qui recherche des civilisations extraterrestres. Dans ce cas, votre ordinateur analysera les données satellite et les informations reçues des télescopes.

Cet article vous aidera à rejoindre des projets (tels que SETI) impliquant l'informatique distribuée. L'article vous présente également BOINC, un logiciel informatique distribué.

Vous avez besoin d'un ordinateur. Si vous en avez déjà un, allez à la section Sources et liens et installez le logiciel BOINC. Si vous n'êtes pas intéressé par le projet SETI, vous trouverez ci-dessous une liste d'autres projets.

Si beaucoup d'argent

Par ailleurs, nous notons la gamme de processeurs extrêmement onéreuse mais productive sur le socket Intel Xeon LGA1567.
Le processeur le plus haut de cette série est le E7-8870 avec dix cœurs de 2,4 GHz. Son prix est de 4616 $. Pour ces processeurs, HP et Supermicro lancent! huit processeur! châssis de serveur. Huit processeurs Xeon E7-8870 2,4 cœurs à 10 cœurs avec HyperThreading prennent en charge 8 * 10 * 2 = 160 threads, qui sont affichés dans le Gestionnaire des tâches Windows sous forme de cent soixante graphiques de chargement du processeur, matrice 10x16.

Pour que huit processeurs puissent être installés dans le boîtier, ils ne sont pas immédiatement placés sur la carte mère, mais sur des cartes distinctes collées dans la carte mère. La photo montre quatre cartes mères avec des processeurs installés dans la carte mère (deux sur chaque). Ceci est une solution Supermicro. Dans la solution HP, chaque processeur dispose de sa propre carte. Le coût d'une solution HP est de deux à trois millions, selon le nombre de processeurs, de mémoire, etc. Le châssis Supermicro coûte 10 000 dollars, ce qui est plus intéressant. En outre, Supermicro peut intégrer quatre cartes d'extension de coprocesseur dans les ports PCI-Express x16 (soit dit en passant, un adaptateur Infiniband pourra toujours en assembler un cluster), mais seulement deux dans HP. Ainsi, pour créer un supercalculateur, une plate-forme à huit processeurs de Supermicro est plus attrayante. La photo suivante de l'exposition montre le supercalculateur complet avec quatre cartes graphiques.

Cependant, c'est très cher.

Réseaux de communication

L'efficacité d'un supercalculateur dans de nombreuses applications est largement déterminée par le profil d'utilisation de la mémoire et du réseau. Le profil d'utilisation de la mémoire est généralement décrit par la localisation spatio-temporelle des appels - par la taille des appels et la dispersion de leurs adresses. Le profil d'utilisation du réseau est décrit par la distribution des nœuds avec lesquels les messages sont échangés, le taux d'échange et la taille des messages.

Les performances d'un superordinateur pour des tâches avec échange intensif de données entre nœuds (problèmes de modélisation, problèmes de graphes et de grilles irrégulières, calculs utilisant des matrices creuses) sont principalement déterminées par les performances du réseau. L'utilisation de solutions commerciales classiques (Gigabit Ethernet, par exemple) est donc extrêmement inefficace. Cependant, un réseau réel est toujours une solution de compromis, dans le cadre de laquelle les priorités en matière de prix, de performances, de consommation d'énergie et d'autres exigences largement contradictoires sont définies: des tentatives d'amélioration d'une caractéristique peuvent entraîner une détérioration de l'autre.

Un réseau de communication est constitué de noeuds, chacun ayant une carte réseau connectée à un ou plusieurs routeurs, eux-mêmes interconnectés par des canaux de communication à grande vitesse (liaisons).

Fig. 1. Topologie 4D-tore (3x3x3x3)

La structure du réseau, qui détermine la manière exacte dont les nœuds du système sont interconnectés, est déterminée par la topologie du réseau (généralement un réseau, un tore ou un arbre épais) et un ensemble de paramètres structurels: le nombre de mesures, le nombre de niveaux d'arbre, les dimensions des côtés du tore, le nombre de commutateurs au niveau de l'arbre, le nombre de nœuds de réseau. ports sur les routeurs, etc. La figure 1 montre un exemple de la topologie d'un tore à quatre dimensions 3x3x3x3.

L'architecture du routeur détermine la structure et la fonctionnalité des blocs responsables du transfert de données entre les nœuds du réseau, ainsi que les propriétés nécessaires des protocoles des couches canal, réseau et transport, y compris les algorithmes de routage, d'arbitrage et de contrôle de flux de données. L’architecture de la carte réseau détermine la structure et la fonctionnalité des blocs chargés de l’interaction entre le processeur, la mémoire et le réseau, en particulier les opérations MPI sont prises en charge à ce niveau, RDMA (Accès direct à la mémoire à distance - accès direct à la mémoire d’un autre noeud sans la participation de son processeur), confirmations de réception par un autre nœud du paquet, traitement des situations exceptionnelles, agrégation de paquets.

Pour évaluer les performances d'un réseau de communication, trois caractéristiques sont le plus souvent utilisées: bande passante (quantité de données transférées par unité de temps), délai de communication (temps de transfert de données sur le réseau), rythme du message (généralement, ils considèrent séparément le débit de livraison lors de l'envoi, de la réception et de la transmission de paquets entre les unités internes du routeur).

Pour être complet, ces caractéristiques sont mesurées sur différents types de trafic, par exemple lorsqu'un nœud envoie des données à tous les autres, ou inversement, tous les nœuds envoient des données à un, ou lorsque tous les nœuds envoient des données à des destinations aléatoires. Les exigences de fonctionnalité sont imposées aux réseaux modernes:

  • mise en œuvre efficace de la bibliothèque Shmem, en tant qu'option permettant de prendre en charge le modèle de communication unidirectionnel, et GASNet, sur lequel repose la mise en œuvre de nombreux langages PGAS,
  • mise en oeuvre efficace de MPI (généralement, cela nécessite une prise en charge efficace du mécanisme des tampons en anneau et des accusés de réception des paquets reçus),
  • prise en charge efficace des opérations collectives: diffusion (envoi simultané des mêmes données à plusieurs nœuds), réduction (application d’une opération binaire, par exemple addition, à l’ensemble des valeurs reçues de différents nœuds), répartition des éléments du tableau sur l’ensemble des nœuds (scatter), assemblage d’un tableau d’éléments, situé à différents nœuds (rassembler),
  • prise en charge efficace des opérations de synchronisation entre noeuds (au moins synchronisation de barrière), interaction efficace avec un réseau d'un grand nombre de processus sur un noeud et garantie d'une livraison fiable des paquets.

La prise en charge efficace du travail de l’adaptateur avec la mémoire de l’hôte directement sans intervention du processeur est également importante.

Réseaux à grande vitesse étrangers

Tous les réseaux de communication peuvent être divisés en deux classes: commerciales et personnalisées, développées dans le cadre de systèmes informatiques et disponibles uniquement avec eux. Parmi les réseaux commerciaux, le marché est divisé entre InfiniBand et Ethernet: dans la liste Top500 (juin 2011), 42% des systèmes utilisent InfiniBand et 45%, une interface Gigabit Ethernet. Parallèlement, si InfiniBand se concentre sur le segment des systèmes hautes performances conçus pour des tâches informatiques complexes comportant un grand nombre de communications, Ethernet occupe traditionnellement une niche dans laquelle l’échange de données entre les nœuds n’est pas critique. Dans les supercalculateurs, le réseau Ethernet, en raison de son faible coût et de sa disponibilité, est souvent utilisé comme réseau de service auxiliaire afin de réduire les interférences du trafic de contrôle et du trafic des tâches.

Le réseau Inifiniband était initialement centré sur les configurations avec la topologie Fat Tree, mais les dernières versions de commutateurs et de routeurs (principalement fabriqués par QLogic) prennent en charge la topologie multidimensionnelle en tore (à l'aide du moteur de routage Torus-2QoS), ainsi qu'une topologie hybride à partir du tore 3D. et gros arbre. Le supercalculateur Sandia RedSky, assemblé début 2010 et maintenant à la 16e place du Top500, est l’un des premiers projets à grande échelle avec le réseau InfiniBand et le torus 3D de topologie (6x6x8). De plus, une grande attention est maintenant accordée au support efficace des opérations RDMA et de la bibliothèque Shmem (en particulier, Qlogic Shmem).

La popularité d’InfiniBand tient à son coût relativement peu élevé, à son écosystème de logiciels développé et à sa prise en charge efficace de MPI. Cependant, InfiniBand a ses inconvénients: un faible taux de livraison des messages (40 millions de messages par seconde dans les dernières solutions de Mellanox), une faible efficacité de transmission des paquets courts, un délai relativement important (plus de 1,5 µs pour les transmissions nœud à nœud et un délai supplémentaire de 0,1 μs). 0,5 μs par nœud de transit), support faible pour la topologie toroïdale. En règle générale, on peut affirmer qu'InfiniBand est un produit destiné à l'utilisateur de masse. Au cours de son développement, un compromis a été fait entre efficacité et polyvalence.

Nous pouvons également noter le réseau Extoll, qui est en préparation pour son lancement sur le marché - le développement de l’Université de Heidelberg sous la direction du professeur Ulrich Bruening. Dans le développement de ce réseau, l’accent est mis sur la minimisation des retards et l’augmentation du débit de transmission dans les communications à sens unique. Il est prévu que Extoll aura une topologie en tore 3D et utilisera des liaisons optiques avec une bande passante de 10 Gb / s par voie (canal de transmission de données série dans la liaison) et une largeur de 12 voies par liaison. Il existe maintenant des prototypes du réseau Extoll sur FPGA: R1 - basé sur Virtex4, R2 Ventoux - une configuration à deux nœuds basée sur Virtex6. La bande passante unidirectionnelle par lien est de 600 Mo / s (pour R1). Deux interfaces (HyperTransport 3.0 et PCI Express gen3) avec processeur seront également prises en charge, ce qui permettra d’intégrer ce réseau aux plates-formes Intel et AMD. Extoll prend en charge plusieurs manières d’organiser des enregistrements unidirectionnels, sa propre MMU (unité de gestion de la mémoire, un bloc de traduction d’adresses virtuelles en adresses physiques) et des opérations atomiques.

Contrairement aux réseaux commerciaux, les réseaux personnalisés occupent une part de marché beaucoup plus réduite, mais ils sont utilisés dans les supercalculateurs les plus puissants de Cray, IBM, SGI, Fujitsu, NEC et Bull. Lors de la conception de réseaux personnalisés, les développeurs ont plus de liberté et tentent d'utiliser des approches plus progressives en raison de la moindre importance de l'attractivité du produit final sur le marché, résolvant principalement le problème de l'obtention de performances maximales sur une classe de tâches spécifique.

Le superordinateur K Computer utilise un réseau de communication propriétaire Tofu (TOrus FUsion), qui est un tore 3D évolutif dont les noeuds contiennent des groupes de 12 noeuds (les groupes de noeuds sont connectés par 12 réseaux avec un tore 3D et chaque noeud de ce groupe a sa propre sortie. Réseau de tores 3D). Les nœuds de chaque groupe sont interconnectés par un tore 3D à côtés 2x3x4 sans liens dupliqués, ce qui équivaut à un tore 2D à côtés 3x4 (nous obtenons donc un tore 5D à deux dimensions fixes). Ainsi, le nœud de réseau Tofu a 10 liaisons avec un débit unidirectionnel de 40 Gb / s chacune. La synchronisation de la barrière des nœuds et la réduction (nombre entier et virgule flottante) sont prises en charge dans le matériel.

Les principaux objectifs du développement du supercalculateur Tianhe-1A étaient d'atteindre une efficacité énergétique élevée, de développer leur propre processeur et réseau supérieurs à InfiniBand QDR. Le supercalculateur se compose de 7168 nœuds informatiques connectés par le réseau Arch de conception propre à la topologie en arbre épais. Le réseau est construit à partir de routeurs à 16 ports, d'une bande passante de liaison unidirectionnelle - 8 Go / s et d'un délai de 1,57 µs. Opérations RDMA prises en charge et opérations collectives optimisées.

Les représentants classiques des systèmes utilisant une topologie toroïdale pour combiner des noeuds informatiques sont des systèmes de la série IBM Blue Gene, dont les deux premières générations - Blue Gene / L (2004) et Blue Gene / P (2007) - utilisaient la topologie en tore 3D. Le réseau de Blue Gene / P a des liens relativement faibles avec une bande passante unilatérale de 0,425 Go / s, soit un ordre de grandeur inférieur à la bande passante de sa liaison InfiniBand QDR contemporaine, mais une prise en charge matérielle de la synchronisation de barrière et des opérations collectives (sur des réseaux arborescents séparés) permet une bonne évolutivité applications réelles. De plus, toutes les interfaces et les unités de routage sont intégrées au microprocesseur BPC (Blue Gene / P Chip), ce qui réduit considérablement les délais de transmission des messages. Le réseau de communication de prochaine génération Blue Gene / Q a une topologie 5D et contrairement à ses prédécesseurs, il n’a pas de réseaux séparés pour la synchronisation de barrières et les opérations collectives. La puce Blue Gene / Q est pour la première fois devenue multi-core-multi-thread - quatre threads matériels par cœur avec 16 cœurs, ce qui permet d'affaiblir les exigences du réseau et d'assurer la tolérance de retard. Le débit de liaison a été augmenté à 2 Go / s, mais reste faible comparé à Cray Gemini ou Extoll. Le faible débit de ces systèmes est compensé par la grande dimension du tore (grand nombre de liaisons) et, par conséquent, par le petit diamètre du réseau (nettement plus petit que celui des réseaux à topologie de tores 3D avec le même nombre de nœuds). Les sources disponibles font état de la création de deux super-ordinateurs Blue Gene / Q transpetaflops: Sequoia avec une performance de 20 PFLOPS et Mira - 10 PFLOPS. Nous pouvons en conclure que Blue Gene / Q est axé sur des tâches qui utiliseront des dizaines et des centaines de milliers de nœuds informatiques avec un trafic réseau de type «tout-à-tous».

Cray est un autre partisan de la construction de réseaux de communication à topologie toroïdale: il continue à utiliser la topologie 3D tor, tout en augmentant le débit et le nombre de liaisons reliant les nœuds voisins. La génération actuelle du réseau toroïdal Cray est le réseau Cray Gemini. Un routeur Gemini correspond à deux routeurs de la génération précédente SeaStar2 +, c'est-à-dire à deux nœuds de réseau. Par conséquent, dans Gemini, au lieu de 6, les liaisons 10 sont utilisées pour se connecter aux nœuds voisins (2 servent à connecter deux adaptateurs l'un à l'autre).

Les composants (adaptateurs réseau, commutateurs, routeurs) d'un réseau pour un supercalculateur, contrairement aux processeurs, sont souvent plus coûteux et leur accès est plus limité. Par exemple, les commutateurs du réseau InfiniBand, qui est le principal réseau commercial des supercalculateurs, ne sont maintenant produits que par deux sociétés, toutes deux contrôlées par les États-Unis. Cela signifie qu'en l'absence de leurs propres développements dans le domaine des réseaux à grande vitesse, la création de supercalculateurs modernes dans n'importe quel pays, à l'exception des États-Unis, de la Chine ou du Japon, peut être facilement contrôlée.

Réseaux domestiques

Le développement des réseaux de communication destinés aux superordinateurs est assuré par plusieurs organisations nationales: le RFNC VNIIEF (très peu d'informations sur ces développements en sources ouvertes), l'institut des logiciels de l'Académie des sciences de Russie et RSK SKIF, l'IPM RAS et l'institut de recherche Kvant (réseau MVS-Express) ").

Le réseau de communication 3D du supercalculateur italo-russe SKIF-Aurora est entièrement construit à partir du FPGA Altera Stratix IV, ce qui explique la bande passante assez faible par lien - 1,25 Go / s (les ressources FPGA sont très limitées).

Dans le réseau MVS-Express, PCI Express 2.0 est utilisé pour intégrer les nœuds informatiques et les nœuds sont connectés via des commutateurs à 24 ports. Le réseau a une topologie proche de Fat Tree. L'adaptateur réseau du nœud informatique possède un port d'une largeur de 4 voies, de sorte que le débit de pointe unidirectionnel par liaison est de 20 Gbit / s sans tenir compte de la surcharge de codage. L'avantage d'utiliser PCI Express dans MVS-Express est la prise en charge efficace de la mémoire partagée avec la possibilité de communications unidirectionnelles. En conséquence, le réseau est pratique pour implémenter la bibliothèque Shmem et les langages PGAS (UPC, CAF).

Avec le soutien du ministère de l'Industrie et du Commerce de la Fédération de Russie, OJSC NICEVT travaille au développement du réseau de communication Angara avec une topologie 4D, qui peut servir de base à la création de technologies nationales pour le développement de supercalculateurs.

Réseau "Angara"

Les principaux objectifs du développement du réseau Angara:

  • prise en charge efficace des communications à sens unique (put / get) et des langages PGAS (principal moyen de programmation parallèle),
  • Support MPI efficace
  • la libération de son propre cristal (pour atteindre des taux de transfert de données élevés et de faibles délais),
  • transmission de paquets adaptative à sécurité intrinsèque,
  • travail efficace avec les processeurs et les chipsets modernes.

Lors de la première phase de développement de ce réseau (2006), une simulation de diverses options de réseau a été réalisée et les principales décisions ont été prises concernant la topologie, l’architecture du routeur, les algorithmes de routage et l’arbitrage. En plus de la topologie toroïdale, les réseaux de Cayley et «l’arbre épais» ont été pris en compte. Le tore à quatre dimensions a été choisi en raison de son routage plus simple, de sa bonne évolutivité et de sa connectivité élevée par rapport à un plus petit tori. La modélisation de réseau a permis d’étudier en détail l’effet de divers paramètres de l’architecture du réseau sur les principales caractéristiques de performance et de comprendre les modèles de trafic des tâches à accès mémoire irrégulier intensif. En conséquence, les tailles de mémoire tampon optimales, le nombre de canaux virtuels ont été sélectionnés et les goulots d'étranglement potentiels analysés.

En 2008, le premier prototype de routeur FPGA est apparu - un réseau de six nœuds sur Virtex4 connecté à un tore 2x3, sur lequel la fonctionnalité de base du routeur a été déboguée, une transmission de données à tolérance de panne a été élaborée, le pilote et la bibliothèque de bas niveau ont été écrits et débogués, les bibliothèques Shmem ont été portées et MPI Maintenant lancé une mise en page de troisième génération, composée de neuf nœuds connectés dans un tore à deux dimensions 3x3. Собран стенд с двумя узлами для тестирования новых разъемов и каналов передачи данных, предполагаемых к использованию с будущими кристаллами маршрутизатора ВКС. При разработке принципов работы сети ряд деталей был позаимствован из работ и , а также в том или ином виде из архитектур IBM Blue Gene и Cray SeaStar.

Сеть «Ангара» имеет топологию 4D-тор. Поддерживается детерминированная маршрутизация, сохраняющая порядок передачи пакетов и предотвращающая появление дедлоков (взаимных блокировок), а также адаптивная маршрутизация, позволяющая одновременно использовать множество путей между узлами и обходить перегруженные и вышедшие из строя участки сети. Une attention particulière a été accordée au soutien des opérations collectives (diffusion et réduction) mises en œuvre à l'aide d'un sous-réseau virtuel ayant la topologie d'un arbre superposé à un tore multidimensionnel. Le réseau au niveau matériel prend en charge deux types d’écritures à distance, de lectures et d’opérations atomiques (addition et OU exclusif). Le schéma d'exécution de lecture à distance (envoi d'une requête et réception d'une réponse) est illustré à la Fig. 2 (l'enregistrement à distance et les opérations atomiques sont effectués de la même manière). Dans un bloc séparé, la logique est mise en œuvre pour regrouper les messages reçus du réseau afin d'augmenter le nombre de données utiles par transaction lors d'une transmission via une interface avec un hôte (un hôte est un pont entre le processeur et la mémoire).

Fig. 2. Schéma de lecture à distance sur le réseau Angara

Au niveau de la couche liaison de données, la transmission de paquets à sécurité intrinsèque est prise en charge. Il existe également un mécanisme permettant de contourner les canaux de communication défaillants et les nœuds en reconstruisant les tables de routage. Un processeur de service est utilisé pour effectuer diverses opérations de service (en particulier configurer / reconstruire des tables de routage) et effectuer certains calculs. L'interface hôte utilise PCI Express.

Fig. 3. La structure du nœud informatique avec un adaptateur réseau / routeur "Angara"

Les principaux blocs du routeur:

  • interface avec le système hôte, responsable de la réception et de l'envoi des paquets sur l'interface hôte,
  • une unité d'injection et d'éjection qui forme les paquets à envoyer sur le réseau et analyse les en-têtes de paquets provenant du réseau,
  • une unité de traitement de requêtes qui traite des paquets nécessitant des informations de la mémoire du système hôte (par exemple, des lectures ou des opérations atomiques),
  • une unité de réseau d'opérations collectives qui traite des paquets associés à des opérations collectives, en particulier effectuant des opérations de réduction, générant des paquets de demande de diffusion,
  • une unité d'opérations de service qui traite les paquets en provenance et à destination du coprocesseur de service,
  • un commutateur reliant les entrées de divers canaux virtuels et les entrées d'injecteurs avec des sorties vers différentes directions et éjecteurs,
  • canaux de communication pour la transmission et la réception de données dans une certaine direction,
  • une unité de transmission de données pour envoyer des paquets dans une direction donnée et une unité de réception et de routage pour recevoir des paquets et décider de leur devenir futur.

L'interaction hôte (le code exécuté sur le processeur central) avec le routeur est réalisée en écrivant dans les adresses mémoire mappées sur les adresses des régions de ressources du routeur (entrées / sorties mappées en mémoire). Cela permet à l'application d'interagir avec le routeur sans la participation du noyau, ce qui réduit le temps système d'envoi de paquets car la commutation dans le contexte du noyau et le retour prennent plus d'une centaine de cycles d'horloge. Pour envoyer des paquets, une des régions de la mémoire est utilisée, qui est considérée comme un tampon en anneau. Il existe également une région distincte pour effectuer des opérations sans copier de mémoire en mémoire (les données sont lues dans la mémoire et écrites par l'adaptateur du réseau de communication via des opérations DMA) et une région avec des registres de contrôle. L'accès à certaines ressources du routeur est contrôlé par le module nucléaire.

Pour plus d'efficacité, il a été décidé de ne réaliser qu'une seule tâche de calcul sur un nœud, ce qui a permis d'éviter la surcharge liée à l'utilisation de la mémoire virtuelle, d'éviter les interférences de tâches, de simplifier l'architecture du routeur en raison de l'absence d'une MMU complète et de les éviter. Son travail de retards de communication simplifie également le modèle de sécurité du réseau, en éliminant la sécurité des processus de diverses tâches sur un nœud. Cette solution n'a pas affecté les fonctionnalités du réseau, destinées principalement aux tâches de grande taille (par opposition à InfiniBand, un réseau universel pour des tâches de différentes tailles). Une décision similaire a été prise chez IBM Blue Gene, où une restriction sur le caractère unique de la tâche est introduite pour la section.

Au niveau matériel, le travail simultané avec le routeur de nombreux threads / processus d’une tâche est pris en charge - il est implémenté sous la forme de plusieurs canaux d’injection disponibles pour une utilisation par les processus via plusieurs tampons en anneau pour l’enregistrement de paquets. Le nombre et la taille de ces tampons peuvent changer dynamiquement.

Le mode de programmation principal du réseau Angara est l’utilisation conjointe de MPI, OpenMP et Shmem, ainsi que de GASNet et UPC.

Une fois la vérification et le prototypage du réseau terminés, il est prévu de libérer une puce VLSI. Un prototype de lot VLSI sera conçu pour le débogage de solutions technologiques de base, un processus technologique et la vérification expérimentale des résultats de la simulation. Le prototype contiendra toutes les fonctionnalités de base, fonctionnera avec l'interface PCI Express gen2 x16 et établira des liens avec un débit de 75 Gb / s.

Il est prévu de promouvoir le réseau Angara sur le marché en deux versions: en tant que réseau commercial distinct sous la forme de cartes PCI Express pour les systèmes en cluster avec processeurs et chipsets standard, et en tant que partie d'un système lame à quatre connecteurs basé sur des processeurs AMD en cours de développement au NICEVT.