InfiniBand Architecture

Dans cet article, nous passerons en revue l'architecture InfiniBand et verrons comment nous pouvons accélérer les applications informatiques en permettant une faible latence, une bande passante élevée et en réduisant le nombre de cycles CPU. Cela permet donc des performances élevées et une évolutivité efficace des systèmes informatiques.

L'architecture InfiniBand est divisée en cinq couches de la même manière que le modèle TCP/IP traditionnel, bien qu'il existe de nombreuses différences entre les réseaux InfiniBand et IP. Traditionnellement, les applications s'appuient sur le système d'exploitation pour leur fournir les services de communication dont elles ont besoin. InfiniBand, quant à lui, permet aux applications d'échanger des données sur le réseau sans impliquer le système d'exploitation. Cette approche applicative constitue le différenciateur clé entre les réseaux InfiniBand et les réseaux traditionnels.
 
Architecture InfiniBand vs TCP/IP

Nous allons maintenant voir comment chacune des couches contribue au transfert de données rapide et efficace requis par les applications informatiques accélérées. Nous commencerons par la couche supérieure. Les applications sont les « consommateurs » ou le service de messagerie InfiniBand. La couche supérieure de l'architecture InfiniBand définit les méthodes utilisées par les applications pour accéder à l'ensemble des services fournis par InfiniBand. Les protocoles des couches supérieures présentent une interface standard, facilement reconnaissable par l'application. Certains des protocoles de couche supérieure pris en charge sont MPI, NCCL, iSER et IPoIB – IP sur InfiniBand.
 
Couche supérieure

Passons ensuite à la couche de transport et voyons comment les messages d'application sont transportés de la source à la destination. Le service de messagerie InfiniBand est différent de celui fourni par le TCP/IP traditionnel qui déplace les données du système d'exploitation, dans un nœud, vers le système d'exploitation dans un autre. InfiniBand fournit des services de transport basés sur le matériel implémentés par des adaptateurs réseau également appelés adaptateurs de canal hôte. Un « canal virtuel » de bout en bout est créé, connectant deux applications qui existent dans des espaces d'adressage entièrement séparés. Une fois qu'une application a demandé le transport d'un message, celui-ci est transmis par le matériel émetteur. Lorsque le message arrive au matériel récepteur, il est transmis directement dans le tampon de l’application réceptrice.
 
Couche de transport

Jusqu’à présent, nous parlions de nœuds finaux. Mais il existe probablement un certain nombre de périphériques réseau connectant ces nœuds, tels que des routeurs et des commutateurs. Les routeurs InfniBand sont utilisés pour se connecter entre différents sous-réseaux InfiniBand. Cela permet la mise à l'échelle du réseau, l'isolation du trafic et l'utilisation de ressources communes par plusieurs sous-réseaux. La couche réseau décrit le protocole qui permet le routage des paquets entre différents sous-réseaux. Les routeurs utilisent des adresses de couche réseau appelées ID globaux ou GID pour acheminer les paquets vers le nœud de destination.
 
Couche réseau

Chaque nœud d'un sous-réseau se voit attribuer une adresse appelée Local ID ou LID. Les LID sont attribués et gérés par le Subnet Manager qui gère le sous-réseau. Les tables de transfert des commutateurs sont remplies d’entrées qui mappent les LID de destination aux ports de sortie. Ces tables de transfert sont calculées par le Subnet Manager et programmées dans le matériel des commutateurs. Par conséquent, lorsqu'un paquet est généré par un nœud final, il comprend un LID source et un LID de destination. Lorsque le paquet arrive à un commutateur, son LID de destination est comparé aux entrées du commutateur et envoyé via le port de sortie respectif.
 
Couche de liaison

Enfin, tout cela semble génial, mais le transfert de données finit par se produire lorsque les bits sont transmis sur un support physique. La couche physique spécifie la manière dont les bits sont placés sur le fil et le protocole de signalisation pour déterminer ce qui constitue un paquet valide. De plus, la couche physique définit les caractéristiques et spécifications des câbles en cuivre et optiques. Les photos suivantes sont des exemples de câbles Mellanox LinkX InfiniBand DAC et AOC.
 
Couche physique

Connaissez-vous l'architecture InfiniBand ?

Commentaires