Peut-on faire un super ordinateur en connectant simplement des PC avec des câbles croisés ethernet ?


Un supercalculateur devrait avoir deux propriétés:

  1. Peut traiter des problèmes plus importants qu'un ordinateur ordinaire
  2. Les performances peuvent être mises à l'échelle lorsque le budget est augmenté

Même quelques PC reliés ensemble ont sans doute cette première propriété. Cependant, la mise à l'échelle impliquerait de permettre l'interconnexion d'un nombre raisonnablement important de PC.


Il n'est pas pratique d'avoir plus d'environ cinq interfaces Ethernet dans chaque PC, la question devient donc "combien de machines pouvez-vous interconnecter ?" Eh bien, si vous connectez littéralement chaque PC à tous les autres PC, vous avez ce que nous appellerions un réseau direct ou entièrement connecté... et les cinq interfaces par machine signifieraient une mise à l'échelle jusqu'à six PC au maximum :

main-qimg-52d8039eca35cb8cadc9ad464eb1294c.webp

En février 1994, lorsque mon groupe de recherche a construit le premier superordinateur en grappe de PC Linux au monde, quatre PC connectés par Ethernet pouvaient vraiment être qualifiés de superordinateur parallèle. Cependant, il y a longtemps que quatre - ou même six - PC ne représentent plus une mise à l'échelle suffisante pour justifier l'appellation de superordinateur pour un système.

Bien sûr, il existe d'autres topologies (schémas de câblage) qui peuvent être mises à l'échelle en utilisant seulement quelques interfaces par PC et des câbles croisés. Par exemple, un maillage toroïdal 1D - un anneau - peut être mis à l'échelle pour connecter de nombreuses machines :

main-qimg-96051720371626235393fedd03bafaa6.webp

Le hic, c'est que vous obtiendrez des performances médiocres car il faut plusieurs sauts pour aller d'une machine à la plupart des autres et le trafic entre les différentes paires devrait partager plusieurs des mêmes chemins de câbles. Techniquement, vous auriez une latence élevée (délai d'envoi d'un message) et une faible bande passante de bissection (bande passante entre les paires de PC lorsque tous les PC communiquent). Vous pouvez faire mieux avec une topologie comme un maillage 2D :

main-qimg-944fad6cf19c11968926890373621e8a.webp

Le problème avec ces topologies à câbles croisés uniquement est que la latence et la bande passante de bissection ne sont toujours pas très bonnes lorsque vous passez à des systèmes plus importants.

Donc, la réponse moderne consiste à utiliser des commutateurs pour construire votre topologie réseau. Un commutateur permet à toutes les machines qui lui sont connectées de parler simultanément avec une latence minimale et une bande passante de bissection élevée. Le grand nombre de ports d'un commutateur permet de construire des topologies avec qui peuvent couvrir un nombre beaucoup plus important de PC avec une latence minimale et une bande passante de bissection élevée.

De nombreuses topologies de réseau de commutateurs sont possibles. Par exemple, voici un petit réseau de voisinage plat (FNN) qui peut relier huit PC en utilisant seulement trois interfaces par PC et des commutateurs avec seulement quatre ports chacun :

main-qimg-9665e9e7e99582837b6c447aead8b62f.webp

L'utilisation de ce type de réseau avec des commutateurs Ethernet de base (qui ont généralement 32 ports ou plus chacun) permet de passer à l'échelle à au moins des centaines de PC tout en donnant une bande passante de bissection très élevée et une latence de seulement un saut de commutateur entre n'importe quelle paire de PC. D'autres topologies, telles que les réseaux SFNN (Sparse Flat Neighborhood Networks), permettent d'atteindre plusieurs milliers de PC tout en maintenant des performances de réseau similaires. Par exemple, KASY0 était le premier superordinateur SFNN au monde, et il a utilisé des commutateurs Ethernet à 24 ports pour construire un réseau haute performance interconnectant 128 nœuds de PC:

main-qimg-1bbdb3bf47cd00de09c81f65bbff7394

KASY0 était une assez grosse machine lorsque mon groupe de recherche l'a construite en 2003. Les plus grands supercalculateurs ont maintenant littéralement des millions de nœuds... ce qui explique pourquoi connecter directement six PC n'est plus vraiment un supercalculateur 😉

.