FLASH INFORMATIQUE FI



public averti Qu’est-ce qu’InfiniBand ?


Avec 42.6% de machines dans le Top500 possèdant une connectivité InfiniBand, ce type d’architecture est devenu très populaire en HPC, mais aussi dans d’autres domaines comme les bases de données ou le stockage. Cet article présente les concepts et les avantages d’InfiniBand.



With 42.6% of the Top500 supercomputers featuring an InfiniBand interconnect type, the InfiniBand architecture has become very popular in HPC, but also in other domains like databases and storage. This article introduces the concepts and advantages of InfiniBand.


David CERVINI


L’Architecture InfiniBand (IBA) décrit une technologie d’interconnexion entre noeuds de calcul et leurs périphériques d’entrée-sortie. Il en résulte un réseau  SAN  basé sur les switches, indépendant du matériel et de l’OS des hôtes.
L’ IBTA (InfiniBand Trade Association), fondée en 1999, est dirigée par un comité incluant IBM, Intel, Mellanox, Oracle, QLogic et Voltaire. Son but est de maintenir et de faire évoluer la spécification d’InfiniBand. Dans cet article, une présentation des avantages d’InfiniBand (IB) et du concept d’IB sera faite.
Puis nous verrons comment deux noeuds communiquent, ainsi que la composante matérielle majeure. Finalement, les spécificités de la couche Liaison du réseau IB seront abordées.

Avantages d’InfiniBand

InfiniBand possède les avantages suivants :

  • faible latence : 1 μs mesurée pour une communication d’hôte à hôte ;
  • bande passante élevée 40 Gbits/s de bout-en-bout du réseau et 120Gbits/s de point à point, avec de la fibre optique ;
  • bon marché : le matériel InfiniBand a un meilleur rapport prix/puissance que les autres alternatives ;
  • faible consommation d’énergie.

Concept d’InfiniBand

Traditionnellement, l’OS (système d’exploitation) gère les ressources liées aux réseaux. Lorsqu’une application souhaite y accéder, il lui fournit le service voulu à travers une interface réseau. L’application dépend donc de l’OS qui lui fournit les services relatifs à l’utilisation du réseau.
Le principe d’InfiniBand est de libérer l’OS de la surcharge liée à la copie des données de l’espace d’adressage de l’application vers celui lié au réseau (zero copy feature). Cela se fait par le InfiniBand messaging service : une application y accède directement court-circuitant ainsi l’OS (stack bypass).
InfiniBand relie une application et son espace d’adressage directement à une autre application et son espace d’adressage.

Communication de bout en bout du réseau

Les Queue Pairs




InfiniBand interconnecte directement deux applications et leur espace d’adressage virtuel entre elles. Celles-ci peuvent se trouver sur deux machines différentes (NIC = Network Interface Controller)

Une extrémité de la communication est appelée Queue Pair (QP). Les applications accèdent au InfiniBand’s messaging service via les QP et communiquent par des  verbs.
L’application doit avoir un accès direct à ses QP (une par connexion) afin de court-circuiter l’OS ; pour cela, les QP sont joints à l’espace d’adressage virtuel de l’application. De cette manière, une application a accès directement à la mémoire virtuelle de l’autre application (de manière contrôlée).

Opérations exécutées par les QP

Il y a seulement 2 types d’opérations possibles :

  • SEND/RECEIVE au sens usuel ;
  • RDMA READ/RDMA WRITE.

Les opérations SEND/RECEIVE sont le plus souvent utilisées pour le transfert de messages de contrôle, notamment dans la mise en place des opérations RDMA READ/RDMA WRITE.
Une opération RDMA permet à une application d’accéder directement à un espace mémoire de l’autre l’application.

Host Channel Adapter

Le HCA (Host Channel Adapter) est un périphérique matériel qui connecte un noeud au réseau InfiniBand. Il permet aux applications d’accéder au réseau : les QP fournissent aux applications le moyen de contrôler le HCA.
En effet, on voit sur la figure que les QP sont les interfaces entre la mémoire de l’application et le HCA. Un système de MTP (Memory Translation & Protection) effectue la correspondance adresse virtuelle/physique et valide les droits d’accès.


Le HCA remplace donc l’OS dans l’exécution des requêtes réseau des applications.

Les spécificités de la couche liaison

Virtual Lanes & qualité de service

Il s’agit d’un mécanisme créant plusieurs chemins virtuels au sein d’un simple lien physique.
À chaque VL (Virtual Lane) est associée une paire de buffers (Transmit et Receive).
Chaque port (un lien physique relie 2 ports) possède de 2 à 16 VL. À chaque VL est associé un niveau de service (Service Level). Cette correspondance est gérée par l’administrateur réseau qui configure les tables de correspondance (des ports) SL à VL.

Contrôle de flux point à point

Il a pour rôle d’empêcher la perte de paquets lorsque le buffer de réception est plein. Chaque port gère un contrôle de flux indépendant pour chaque VL. Il se fait par un système de crédit : chaque destinataire possède un crédit indiquant la quantité de données que l’émetteur est autorisé à envoyer depuis l’initialisation de la liaison, évitant ainsi la perte de paquet due au phénomène de congestion.
Étant donné que chaque Virtual Lane possède une paire de buffers propres, ce système s’applique à chaque paire.

Routage

Le routage par les switches est statique : la destination des paquets constitue un chemin à travers les switches. Chaque switch contient une Fowarding Table associant à chaque destination (DLID) un port de sortie. La création de celle-ci, l’assignation des LID (Local ID) aux noeuds (HCA inclus) et plus généralement la configuration des noeuds du réseau sont gérés par le SM (Subnet Manager).
Chaque noeud communique avec le SM par le SMA (Subnet Management Agent).
Les communications entre noeuds et switches se font en point à point. Puis il suffit de suivre les ports de sortie des tables de routage, comme on le voit sur l’exemple.
Ici, on définit deux LID pour tous les HCA, de façon à utiliser un FAT TREE entre les switches contenant LFT 1 et les 2.x. Cela permet de transiter en parallèle sur deux brins entre le switch supérieur et les deux autres.



Il existe des algorithmes de routage tirant parti des VL pour permettre plusieurs chemins pour une même destination : UP/DOWN (voir [1]) et LASH (voir [2]) par exemple.

Conclusion

L’idée d’InfiniBand est de court-circuiter l’OS en assistant le CPU par une autre composante matérielle : le HCA accessible par les applications. Les domaines tels que le HPC (high-performance computing), voir figure ci-après, les scale-out database environments, le shared and virtualized I/O se tournent de plus en plus vers InfiniBand. En effet, InfiniBand s’impose de plus en plus dans le top 500 [3] : 28% (dont le numéro 1) en novembre 2008 contre 42% (dont le numéro 3) en novembre 2010 !



évolution des proportions des familles d’interconnect dans les machines du Top500. On remarque depuis 2003 une prolifération de l’InfiniBand.

Je vous recommande la lecture de Introduction to InfiniBand for End Users [4] expliquant les concepts de base ou encore le chapitre 3 de InfiniBand Architecture Specification [5] décrivant plus en détail tous les aspects de l’architecture d’InfiniBand.

Bibliographie

[1] P. Lopez, J. Flich and J. Duato. Deadlock-free Routing in InfiniBand through Destination Renaming. IEEE ;
[2 Tor Skeie, Olav Lysne and Ingebjorg Theiss. Layered Shortest Path (LASH) Routing in Irregular System Area Networks. IEEE ;
[3] ]Liste des 500 superordinateurs les plus performants selon le benchmark LINPACK->http://www.top500.org] ;
[4] Paul Grun. Introduction to InfiniBand for End Users. InfiniBand Trade Association, www.InfiniBandta.org ;
[5] InfiniBand™ Architecture Specification Volume 1. Release 1.2.1. www.InfiniBandta.org.



Glossaire

Modèle par échange de messages :
modèle de communication entre processus. Chaque processus communique avec un ou plusieurs autres processus par messages. Les processus peuvent s’exécuter sur des machines différentes reliées par un réseau. Un message contient généralement un identifiant du processus émetteur et celui du recepteur ainsi que les données à transmettre.
SAN (System Area Network) :
système de réseaux à ne pas confondre avec le même acronyme SAN (Storage Area Network) : réseau de stockage.
Verbs :
ils décrivent les opérations qu’une application peut effectuer sur les QP : création, soumission d’une requête, récupération du résultat et configuration du Channel Adapter.


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. Vous désirez recevoir la clé USB contenant tous les numéros, inscrivez-vous avec le formulaire inform.epfl.ch pour la recevoir.

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.