FLASH INFORMATIQUE FI



InfiniBand - Exemple de Callisto




Jacques MENU


Introduction

Le présent article est tiré d’une présentation faite par le soussigné au groupe DIT-Exploitation, dont la version PDF est disponible à l’URL hpc-dit.epfl.ch/papers/InfiniBand.pdf.
Nous remercions la maison Voltaire Inc (www.voltaire.com/), l’un des fournisseurs majeurs de cette technologie, pour les précisions techniques qu’elle nous a fournies, et en particulier M. Ghislain de Jacquelot qui a contrôlé la cohérence de la présentation.
Le lecteur intéressé peut aller voir en particulier le document : hpc-dit.epfl.ch/papers/FoundationsInfiniBandImpactModules090808.pdf.

Pourquoi InfiniBand ?


InfiniBand est un réseau à haut débit. Il est destiné aussi bien aux communications internes qu’externes. La technologie InfiniBand a des atouts à faire valoir, en particulier :

  • la qualité de service (QoS), qui s’appuie sur des niveaux pour assurer que les paquets urgents passent toujours ;
  • l’absence de pertes : un paquet émis peut être considéré comme reçu ;
  • la vitesse : 20 Gbits/s (Double Data Rate ou DDR) depuis un certain temps et 40 Gbits/s (Quadruple Data Rate ou QDR) depuis fin 2008.

C’est la technologie qui a été choisie pour l’interconnexion rapide dans Callisto [1] par le groupe technique HPC de l’EPFL.

Le besoin d’interconnexion rapide

Dans un cluster HPC/MPC :

  • on dédie des noeuds au calcul ;
  • un job consiste en des processus exécutés sur les noeuds qui lui sont alloués ;
  • Ethernet (Fast ou Giga) est insuffisant pour certaines applications.

Citons comme solutions typiques :

  • Quadrics, employé dans Janus il y a quelques années ;
  • Myrinet, utilisé sur Mizar et Alcor ;
  • InfiniBand, qui a été choisi pour Callisto.

La part de l’interconnexion rapide dans le prix total d’une machine n’est plus aussi importante aujourd’hui qu’à l’époque de Janus.

Caractéristiques d’InfiniBand

Cible visée

InfiniBand a été pensé pour connecter les CPU aux entrées/sorties dans des installations de grande taille, en offrant :

  • une grande vitesse ;
  • une faible latence, ce qui mesure le temps de transmission minimal des paquets d’information ;
  • l’emploi de RDMA (Remote Direct Memory Access) pour court-circuiter processeurs et système d’exploitation.

Avantages

InfiniBand est un standard de l’industrie, maintenu par la Infiniband Trade Association. Il offre :

  • une montée en taille (scalability) linéaire, quel que soit le nombre de machines interconnectées ;
  • la sécurité ;
  • la haute disponibilité ;
  • une gestion de la qualité de service ;
  • les moyens de gérer l’infrastructure.

Parmi les machines HPC les plus puissantes du moment, 141 utilisent InfiniBand, dont le numéro un, Road Runner.

ASICs de base

Pratiquement tout le monde utilise les ASIC (Applications Specific Integrated Circuit) de Mellanox, aussi bien pour les connexions internes qu’externes. Il y a actuellement deux types de circuits ASIC :

  • InfiniScale III : 24 ports, DDR 4X par défaut, illustré à la figure 1 ;
  • InfiniScale IV : 36 ports, QDR, qui arrive sur le marché actuellement.


JPEG - 6.7 ko
fig. 1
InfiniScale III

Tout se fait à la base avec ces circuits, auxquels les constructeurs en adjoignent d’autres de gestion et de contrôle. QLogic va aussi sortir son propre ASIC tout prochainement.

Topologies

Toutes les topologies sont possibles avec InfiniBand. Il suffit de relier entre eux les switches et machines selon les besoins. Dans les clusters, essentiellement des réseaux de Clos (Bell Labs) sont utilisés. Un réseau de Clos :

  • est un cas particulier de Fat Tree ;
  • est redondant et reconfigurable ;
  • implique peu de sauts (hops) intra-switch ;
  • est modulaire ;
  • peut être non bloquant (full bisectionnal bandwidth) ou bloquant, selon les besoins des applications ;
  • se prête à la redondance multichemins.

La bande passante bisectionnelle est le maximum de ce qui peut passer entre les deux moitiés d’un réseau.
Une topologie à N noeuds est dite Full bisection bandwidth si elle offre N/2 flux de communication simultanés. Tous les noeuds d’une moitié du réseau peuvent alors communiquer avec les noeuds de l’autre moitié à pleine vitesse, voir la figure 2. L’analogie avec la téléphonie consiste à avoir N/2 conversations sans qu’il y ait partage de ligne dans le central.


JPEG - 9.5 ko
fig.2
Réseau de Clos non bloquant

Qualité de service

Un chemin virtuel (Virtual Lane ou VL) est une paire de tampons Send et Receive, (fig. 3). Chaque port a de 2 à 16 VLs :
VL0 : chemin virtuel par défaut pour les paquets de données ;
VL15 : chemin virtuel dédié aux paquets de gestion du subnet.
Un port avec plus d’un VL pour les données utilise une correspondance Niveau de service -> VL.


JPEG - 10.9 ko
fig. 3
Chemins virtuels

Contrôle du trafic

Il se fait par un mécanisme de crédits :

  • des compteurs de crédits sont gérés dans chaque direction pour chaque VL sauf VL 15 ;
  • le crédit du port d’envoi d’un VL correspond à la taille de tampon disponible dans le port récepteur de ce VL ;
  • le crédit sur le VL de chaque port d’envoi est décrémenté pour chaque paquet envoyé, et incrémenté par des messages spécifiques retournés par le port récepteur. Si un receveur n’a plus de tampon disponible, il arrête d’envoyer des messages link credit à l’émetteur :
  • ce dernier arrêtera d’envoyer des paquets sur ce VL ;
  • on parle de back pressure ;
  • d’où un arbre de congestion en cas de problème, dont les engorgements du trafic routier en cas de perturbation donnent une idée très claire.

Ce même mécanisme traite aussi le problème d’une rupture de connexion, les messages link credit ne parvenant pas à l’émetteur dans ce cas non plus.

Connectique

On appelle HCA (Host Channel Adapter) les interfaces InfiniBand. Le lien 1X est la brique de base, illustrée à la figure 4.


JPEG - 8.5 ko
fig. 4
1X Link

Il est composé de :

  • une paire différentielle pour la réception (RX) ;
  • une paire différentielle pour l’envoi (TX).

Il existe des connecteurs en cuivre, optiques, et des convertisseurs optique-cuivre, illustrés aux figures 5 et 6 respectivement. On multiplie simplement les brins pour augmenter la bande passante.


JPEG - 11.2 ko
fig. 5a
Connecteurs cuivre 4X
JPEG - 8.2 ko
fig. 5b
Connecteur optique 4X
JPEG - 30 ko
fig. 6
Convertisseur optique vers cuivre

Vitesses, débits et longueurs limites

Selon la version de la technologie utilisée, on a les valeurs présentées dans le tableau ci-après :


DataRateGHzGbits/scuivre (m)fibre (m)
SDR1.252.520300
DDR2.55.012150
QDR (fin 2008)5.010.05 à 7 (plus si actif)100

Adressage

InfiniBand utilise 2 identifiants par noeud :


IdentifiantsDimensionSignificationEquivalent
GUID64 bitsGlobal Unique IDentifieradresse physique
LID16 bitsLocal IDentifieradresse IP dynamique

Le Subnet Manager (SM, il n’y en a qu’un) :

  • reconnaît automatiquement les noeuds connectés ;
  • détermine le routage, toujours statique, et le recalcule en cas de changement dynamique, par exemple si des noeuds rejoignent ou quittent le réseau ;
  • télécharge les informations de routage dans les LFT (Linear Forwarding Table) des switches ;
  • ne participe pas au flot des paquets.

Routage

Le DLID (Destination LID) indique en fait la route pour le paquet :

  • 48 K valeurs sont utilisées pour de l’unicast ;
  • 16 K valeurs pour du multicast.

Dans les ASIC, un DLID unicast sert d’index dans la LFT, qui indique le port de sortie indépendamment du port d’entrée. La latence port à port est de 140 ns dans le cas de l’Infiniscale III et de 100 ns dans celui de l’Infiniscale IV.
La congestion dépend de qui communique avec qui (communication pattern). L’en-tête des paquets IB contient un champ informant le destinataire qu’il y a de la congestion du côté de l’expéditeur.

Optimisation du routage

Il y a diverses possibilités, citons :

  • routage multi-chemins (multipath) pour OpenMPI [2] (www.open-mpi.org/), qui est la version vers laquelle tout le monde semble se diriger :
    • on définit des LIDs multiples (alias) pour les ports HCA ;
    • on met en place autant de routes différentes inter-switches pour les atteindre ;
    • cela exploite le côté fat tree en envoyant des paquets sur ces routes parallèles ;
  • routage adaptatif ;
  • partitionnement ;
  • routage spécifique à une application.

Exemple de routage multichemins

On définit deux LIDs pour les HCA, ici A, B, C, D et E. OpenMPI ventile les paquets sur les deux routes inter-switches disjointes pour A <-> C, resp. B <-> E. La figure 7 montre le détail des tables de routage dans les trois switches concernés.


JPEG - 16 ko
fig. 7
Routage Multichemins

Protocoles

La palette des protocoles est très riche, comme on le voit ci-dessous (pour mémoire, GigaEthernet a une latence de 30 µs).

Communication

IPoIB (IP over IB) ;
SDP (Sockets Direct Protocol), 10 µs de latence ;
uDAPL (User level Direct Access Provider Library) court-circuit du noyau, mode natif ;
Verbs, la couche de plus bas niveau pour accéder à RDMA.

Stockage


iSER (iSCSI over RDMA), accès déchargeant les CPU ;
SRP (SCSI RDMA Protocol) ;
NFS-RDMA (NFS over RDMA).

Pile logicielle Voltaire

Elle est présentée à la figure 8. La latence de la librairie MPI (Message Passing Interface) est de 1.2 µs.


JPEG - 14.5 ko
fig. 8
Pile Logicielle Voltaire

Le cas de Callisto

L’architecture de Callisto est présentée à la Figure 9. Le réseau InfiniBand relie les blades de calcul et les deux frontales. Il est utilisé pour les communications avec MPI mais aussi pour accéder au système de fichiers, géré par GPFS (General purpose Parallel File System) d’IBM.


JPEG - 7.4 ko
fig. 9
architecture de Callisto

Switch Voltaire

Callisto est équipée d’un switch Voltaire ISR 2012 (DDR), qui a les caractéristiques suivantes :

  • 1 rack de 15 U ;
  • maximum de 288 ports ;
  • latence port-à-port : 420 ns (3x140 ns) ;
  • 11.52 Tbits/s ;
  • les ports supportent des adaptateurs optiques externes.

Le réseau interne du ISR 2012 est présenté à la figure 10. C’est un réseau de Clos non bloquant à deux niveaux. Les Fabric Board (colonne du centre) sont sur la face avant. les Line Board, qui offrent les 288 ports (12 x 24), sont sur la face arrière (colonnes gauche et droite).


JPEG - 10.4 ko
fig. 10
Reseau interne ISR 2012

On voit que les trois sauts (hops) sont nécessaires dans le pire des cas pour aller d’un port à un autre, via un Fabric Board le cas échéant.

Performances

La théorie...

20 Gbits/s, avec 10 bits par octet transmis, donnent un débit de 16 Gbits/s nominal, soit 2 Gbytes/s. Ces connexions devraient donc être difficiles à saturer !

...et la pratique :

On mesure en fait les valeurs suivantes sur Callisto : environ 12 Gbits/s entre brins au lieu de 16 ; la cause en est les cartes PCI-Express, qui limitent la bande passante. Les cartes PCI-Express gen2 feront sauter ce bouchon, des tests faits par Voltaire Inc ayant donné 1.9 GBytes/s dans chaque direction.


JPEG - 11.7 ko
fig. 11
ISR 2012, face avant
JPEG - 10.7 ko
fig. 12
ISR 2012, face arrière
JPEG - 15.4 ko
fig. 13
Blade Center H

Exemple de Périphériques InfiniBand

Deux ports d’une des frontales de Callisto. Seul le port 1 est utilisé en fait :

root@cal1 > ibv_devinfo
hca_id: mthca0
fw_ver: 4.8.200
node_guid: 0008:f104:0398:f8a4
sys_image_guid: 0008:f104:0398:f8a7
vendor_id: 0x08f1
vendor_part_id: 25208
hw_ver: 0xA0
board_id: VLT0040010001
phys_port_cnt: 2
port: 1
state: PORT_ACTIVE (4)
max_mtu: 2048 (4)
active_mtu: 2048 (4)
sm_lid: 1
port_lid: 25
port_lmc: 0x00
port: 2
state: PORT_DOWN (1)
max_mtu: 2048 (4)
active_mtu: 512 (2)
sm_lid: 0
port_lid: 0
port_lmc: 0x00

OFED

La OFA ([OpenFabrics Alliance-Ahttp://www.openfabrics.org/]) développe Open Fabrics Enterprise Distribution, une pile logicielle pour les réseaux offrant RDMA.
Sélection des informations affichées par ofed_info sur Callisto :

root@cal1 > ofed_info
.
GridstackTM
Voltaire The Grid BackboneTM
c 2007 Voltaire Ltd. All rights reserved.
.
VoltaireOFED-5.1.3.1_5
OFED-1.3.1
libibverbs:
... ... ... ... ...
ibsim:
git://git.openfabrics.org/ofed_1_3/ibsim.git ofed_1_3
commit 55113d9f919709c7c97ea41d29991941b9c8be70
ofa_kernel-1.3.1:
Git:
git://git.openfabrics.org/ofed_1_3/linux-2.6.git ofed_kernel
commit 39e1dc833f98e5134f91fcf7f33df402adf4bc0c
# MPI
mvapich-1.0.1-2533.src.rpm
mvapich2-1.0.3-1.src.rpm
openmpi-1.2.6-1.src.rpm

Conclusion

InfiniBand ou DCE ?

L’interconnexion InfiniBand est utilisée dans nombre de machines HPC parmi les plus puissantes. Elle semble promise à un brillant avenir selon Voltaire, et est condamnée à moyen terme selon Cisco qui mise sur Data Center Ethernet, lequel ne sera pas complètement disponible avant fin 2009. Les deux approches visent à intégrer sur un seul brin les connexions réseau et stockage, et prédisent que les équipes correspondantes vont fusionner... À SC08 (International Conference for High Performance Computing, networking, Storage and Analysis) en novembre 2008, InfiniBand tenait manifestement le haut du pavé par rapport à DCE.
La figure 14 montre un exemple de cette intégration entre accès au stockage par Fiber Channel et réseau InfiniBand.


JPEG - 11.9 ko
fig. 14
Réseau et accès au stockage intégré par InfiniBand

Les premiers équipements de stockage accédés en InfiniBand, sans Fiber Channel, arrivent sur le marché.

[1] Callisto, cluster de 128 noeeuds bi-processeurs, insallé au DIT au printemps 2008 ; voir hpc-dit.epfl.ch/

[2] Voltaire Inc est un contributeur très important à ce logiciel ouvert très utilisé dans le domaine HPC



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.