InfiniBand

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Façade d'un switch InfiniBand

L'infiniBand est un bus d'ordinateur à haut-débit. Il est destiné aussi bien aux communications internes qu'externes. Il est le fruit de la fusion de deux technologies concurrentes, Future I/O, développée par Compaq, IBM, et Hewlett-Packard, avec Next Generation I/O (ngio), développée par Intel, Microsoft, et Sun Microsystems. Pendant un bref temps avant l'adoption de son nom définitif, il fut aussi nommé System I/O. Intel s'est depuis ré-investi dans une technologie quasiment alternative, le bus PCI Express, exprimant ses doutes sur le futur de l'infiniBand.

L'infiniBand utilise un bus bi-directionnel à faible coût qui se place au même niveau que Ethernet mais a été conçu pour la haute performance. Il bénéficie d'une latence faible (environ 1 microseconde) et des débits de plusieurs dizaines de Gbits/s. L'infiniBand utilise une technologie permettant à plusieurs périphériques d'accéder en même temps au réseau. Les données sont transmises sous la forme de paquets, qui, rassemblés, forment des messages.

L'infiniBand est aujourd'hui très utilisé dans le monde du HPC (High Performance Computing) sous forme de cartes PCI-X ou PCI-Express nommées HCA (Host Channel Adapter) fonctionnant à 10 Gbit/s (SDR, Single Data Rate), 20 Gbit/s (DDR, Double Data Rate), 40 Gbit/s (QDR, Quad Data Rate) ou 56 Gbit/s (FDR, Fourth Data Rate). Ce réseau spécialisé nécessite aussi l'utilisation de switchs (ou commutateurs) InfiniBand ainsi que des câbles cuivre de types CX4 ou QSFP, ou Fibre pour les longues distances.

Le protocole InfiniBand permet d'utiliser ces cartes de façon native en faisant usage de l'interface de programmation VERBS qui permet des écritures ou lectures à distance (RDMA) à travers des connexions entre Queue-Pair ouverts par les différents processus. Il est également utilisable avec des surcouches logicielles  :

  • IPoIB (IP sur InfiniBand) qui présente une couche IP au-dessus de l'infiniband.
  • SDP (Sockets Direct Protocol) qui présente une couche socket au-dessus de l'infiniband avec transferts zéro-copie par RDMA.
  • SRP (SCSI RDMA Protocol) qui permet d'encapsuler des trames SCSI à travers l'infiniband. Certains constructeurs proposent des baies de stockage reliées en InfiniBand plutôt qu'en Fibre Channel.

Ces surcouches offrent des performances inférieures au protocole natif, mais sont plus faciles à utiliser car elles ne nécessitent pas le redéveloppement des applications pour utiliser le réseau InfiniBand. Dans le monde du HPC les bibliothèques MPI (Message Passing Interface) utilisent en général la couche native VERBS directement pour offrir les meilleures performances possibles. Mais la complexité des VERBS et leur adaptation imparfaite aux cartes InfiniBand de dernière génération a conduit le constructeur Mellanox a réimplementer MPI sur une autre interface, MXM (Mellanox Messaging).

À l'origine, chaque constructeur de matériel InfiniBand proposait son propre pilote. À l'heure actuelle, tous les constructeurs utilisent les pilotes OpenFabrics (présent de base dans les noyaux Linux depuis la version 2.6.11 en 2005 et dans la majorité des distributions Gnu/Linux), qui supportent toutes les cartes InfiniBand.

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Liens externes[modifier | modifier le code]