InfiniBand ( IB ) es un estándar de comunicaciones de redes informáticas utilizado en informática de alto rendimiento que presenta un rendimiento muy alto y una latencia muy baja . Se utiliza para la interconexión de datos entre y dentro de las computadoras. InfiniBand también se utiliza como interconexión directa o conmutada entre servidores y sistemas de almacenamiento, así como como interconexión entre sistemas de almacenamiento. Está diseñado para ser escalable y utiliza una topología de red de estructura conmutada . Entre 2014 y junio de 2016, [1] fue la interconexión más utilizada en la lista TOP500 de supercomputadoras.
Mellanox (adquirida por Nvidia ) fabrica adaptadores de bus host y conmutadores de red InfiniBand , que son utilizados por grandes proveedores de sistemas informáticos y bases de datos en sus líneas de productos. [2] Como interconexión de clústeres de computadoras, IB compite con Ethernet , Fibre Channel e Intel Omni-Path . La tecnología es promovida por la Asociación Comercial InfiniBand .
InfiniBand se originó en 1999 a partir de la fusión de dos diseños competidores: Future I/O y Next Generation I/O (NGIO). NGIO fue liderado por Intel , con una especificación publicada en 1998, [3] y se unió a Sun Microsystems y Dell . Future I/O contó con el respaldo de Compaq , IBM y Hewlett-Packard . [4] Esto llevó a la formación de la InfiniBand Trade Association (IBTA), que incluía tanto conjuntos de proveedores de hardware como de proveedores de software como Microsoft . En ese momento se pensaba que algunas de las computadoras más potentes se estaban acercando al cuello de botella de interconexión del bus PCI , a pesar de actualizaciones como PCI-X . [5] La versión 1.0 de la especificación de arquitectura InfiniBand se lanzó en 2000. Inicialmente, la visión de IBTA para IB era simultáneamente un reemplazo de PCI en E/S, Ethernet en la sala de máquinas , interconexión de clústeres y Fibre Channel . IBTA también previó descomponer el hardware del servidor en una estructura IB .
Mellanox se fundó en 1999 para desarrollar la tecnología NGIO, pero en 2001 lanzó una línea de productos InfiniBand llamada InfiniBridge a velocidades de 10 Gbit/segundo. [6] Tras el estallido de la burbuja de las puntocom, hubo dudas en la industria a la hora de invertir en un salto tecnológico de tan largo alcance. [7] En 2002, Intel anunció que en lugar de distribuir circuitos integrados ("chips") IB, se centraría en desarrollar PCI Express , y Microsoft interrumpió el desarrollo de IB a favor de extender Ethernet. Sun Microsystems e Hitachi continuaron brindando soporte a IB. [8]
En 2003, la supercomputadora System X construida en Virginia Tech utilizó InfiniBand en lo que se estimaba que era la tercera computadora más grande del mundo en ese momento. [9] La OpenIB Alliance (más tarde rebautizada como OpenFabrics Alliance) se fundó en 2004 para desarrollar un conjunto abierto de software para el kernel de Linux . En febrero de 2005, se aceptó el soporte en el kernel de Linux 2.6.11. [10] [11] En noviembre de 2005, finalmente se lanzaron dispositivos de almacenamiento utilizando InfiniBand de proveedores como Engenio. [12]
De las 500 supercomputadoras principales en 2009, Gigabit Ethernet fue la tecnología de interconexión interna en 259 instalaciones, en comparación con 181 que usaban InfiniBand. [13] En 2010, los líderes del mercado Mellanox y Voltaire se fusionaron, dejando solo otro proveedor de IB, QLogic , principalmente un proveedor de Fibre Channel . [14] En la Conferencia Internacional de Supercomputación de 2011 , se anunciaron y demostraron enlaces que funcionan a aproximadamente 56 gigabits por segundo (conocidos como FDR, ver más abajo) mediante stands conectados en la feria comercial. [15] En 2012, Intel adquirió la tecnología InfiniBand de QLogic, dejando solo un proveedor independiente. [dieciséis]
En 2014, InfiniBand era la tecnología de conexión interna más popular para supercomputadoras, aunque en dos años, 10 Gigabit Ethernet comenzó a desplazarla. [1] En 2016, se informó que Oracle Corporation (un inversor en Mellanox) podría diseñar su propio hardware InfiniBand. [2] En 2019, Nvidia adquirió Mellanox, el último proveedor independiente de productos InfiniBand. [17]
Las especificaciones son publicadas por la asociación comercial InfiniBand.
Los nombres originales de las velocidades eran velocidad de datos única (SDR), velocidad de datos doble (DDR) y velocidad de datos cuádruple (QDR), como se indica a continuación. [12] Posteriormente, se agregaron otras siglas de tres letras para velocidades de datos aún más altas. [18]
Cada enlace es dúplex. Los enlaces se pueden agregar: la mayoría de los sistemas utilizan un conector de 4 enlaces/carril (QSFP). HDR a menudo utiliza enlaces 2x (también conocido como HDR100, enlace de 100 Gb que usa 2 carriles de HDR, mientras sigue usando un conector QSFP). Se requiere 8x con puertos de conmutador NDR que utilizan conectores OSFP (Octal Small Form Factor Pluggable) "Definiciones de cables y conectores".
InfiniBand proporciona capacidades de acceso remoto directo a memoria (RDMA) para una baja sobrecarga de CPU.
InfiniBand utiliza una topología de estructura conmutada , a diferencia del primer medio compartido Ethernet . Todas las transmisiones comienzan o terminan en un adaptador de canal. Cada procesador contiene un adaptador de canal de host (HCA) y cada periférico tiene un adaptador de canal de destino (TCA). Estos adaptadores también pueden intercambiar información por motivos de seguridad o calidad de servicio (QoS).
InfiniBand transmite datos en paquetes de hasta 4 KB que se juntan para formar un mensaje. Un mensaje puede ser:
Además de una conexión de factor de forma de placa, puede utilizar cable de cobre activo y pasivo (hasta 10 metros) y de fibra óptica (hasta 10 km). [30] Se utilizan conectores QSFP .
La Asociación InfiniBand también especificó el sistema de conector CXP para velocidades de hasta 120 Gbit/s sobre cobre, cables ópticos activos y transceptores ópticos que utilizan cables de fibra multimodo paralelos con conectores MPO de 24 fibras. [ cita necesaria ]
El soporte del sistema operativo Mellanox está disponible para Solaris , FreeBSD , [31] [32] Red Hat Enterprise Linux , SUSE Linux Enterprise Server (SLES), Windows , HP-UX , VMware ESX , [33] y AIX . [34]
InfiniBand no tiene una interfaz de programación de aplicaciones (API) estándar específica . El estándar solo enumera un conjunto de verbos como ibv_open_device
o ibv_post_send
, que son representaciones abstractas de funciones o métodos que deben existir. La sintaxis de estas funciones se deja en manos de los proveedores. A veces, como referencia, esto se denomina API de verbos . El software estándar de facto es desarrollado por OpenFabrics Alliance y se llama Open Fabrics Enterprise Distribution (OFED). Se publica bajo dos licencias, GPL2 o BSD para Linux y FreeBSD, y como Mellanox OFED para Windows (nombres de producto: WinOF / WinOF-2; atribuido como controlador de host para hacer coincidir dispositivos ConnectX específicos de 3 a 5) [35] bajo un elección de licencia BSD para Windows. Ha sido adoptado por la mayoría de los proveedores de InfiniBand, para Linux , FreeBSD y Microsoft Windows . IBM hace referencia a una biblioteca de software llamada libibverbs
, para su sistema operativo AIX , así como a "verbos AIX InfiniBand". [36]
El soporte del kernel de Linux se integró en 2005 en la versión 2.6.11 del kernel. [37]
Ethernet sobre InfiniBand, abreviado como EoIB, es una implementación de Ethernet sobre el protocolo y la tecnología de conector InfiniBand. EoIB permite múltiples anchos de banda Ethernet que varían según la versión de InfiniBand (IB). [38] La implementación de Ethernet del conjunto de protocolos de Internet , generalmente denominada TCP/IP, es diferente en algunos detalles en comparación con el protocolo directo InfiniBand en IP sobre IB (IPoIB).
La tecnología InfiniBand ahora se encuentra en 205 sistemas, en comparación con 235 sistemas, y ahora es la segunda tecnología de interconexión de sistemas internos más utilizada. Gigabit Ethernet ha aumentado de 182 sistemas a 218 sistemas, en gran parte gracias a que 176 sistemas ahora utilizan interfaces 10G.
FDR10 es una velocidad de datos InfiniBand no estándar, donde cada carril de un puerto 4X ejecuta una velocidad de bits de 10,3125 Gbit/s con una codificación 64b/66b, lo que da como resultado un ancho de banda efectivo de 40 Gbit/s. FDR10 admite un 20 % más de ancho de banda que QDR debido a una mejor velocidad de codificación.
Descripción general de InfiniBand FDR y FDR10 [...] FDR, velocidad de datos estándar de InfiniBand, donde cada carril de un puerto 4X ejecuta una velocidad de bits de 14,0625 Gbit/s con una codificación 64b/66b, lo que da como resultado un ancho de banda efectivo de 54,54 Gbit/s . La capa física FDR es una capa física especificada por IBTA que utiliza diferentes tipos de bloques, mecanismos de alineación y reglas de estructura. El conmutador SX6518 también admite FDR10, una velocidad de datos InfiniBand no estándar, donde cada carril de un puerto 4X ejecuta una velocidad de bits de 10,3125 Gbit/s con una codificación 64b/66b, lo que da como resultado un ancho de banda efectivo de 40 Gbit/s.