InfiniBand

InfiniBand
Información sobre la plantilla
Infinibandport.jpg
Concepto:InfiniBand es una tecnología de interconexión entre sistemas, con una especificación estándar que define una arquitectura de entrada / salida que se utiliza para interconectar servidores, equipos de infraestructura de comunicaciones serie de alta velocidad. Es usado en computadoras de alto rendimiento, y fue diseñado para ser ampliable.

InfiniBand es una interconexión de centro de datos de baja latencia y elevado ancho de banda que utiliza RDMA (dirección de memoria directa remota) para comunicaciones de alto rendimiento entre servidores (IPC). Se utiliza en un amplio rango de entornos informáticos, desde sistemas de informática de alto rendimiento (HPC) y grandes centros de datos hasta aplicaciones integradas, en las que las rápidas comunicaciones entre servidores son críticas para el rendimiento.

Historia

InfiniBand nació de la fusión de los proyectos Future I/O y Next Generation I/O. Ambas compartían una buena parte de sus metas, y pronto se vió que no había mercado para las dos. Se decidió hacerlas converger en una única propuesta, de esta forma, en octubre del año 1999 se fundó la InfiniBand Trade Association (IBTA).

Las dos principales metas que en un principio se plantea InfiniBand son: salvar las limitaciones que presentan los actuales buses PCI (por ejemplo, cuellos de botella, fiabilidad, escalabilidad, etc.), y estandarizar las emergentes tecnologías propietarias en el terreno de los clústers (por ejemplo, Servernet, Myricom, Giganet, etc.). Sin embargo, InfiniBand pretende ir mucho más allá que una simple sustitución del típico bus PCI. InfiniBand incorpora características que hasta ahora sólo podían encontrarse en supercomputadores grandes y costosos. Estas características son importantes para el montaje de clústers de altas prestaciones y permiten aprovechar las posibilidades de la tecnología actual.

Arquitectura

Red de área de sistema con InfiniBand]]InfiniBand define una red de área de sistema (System Area Network, SAN) para conectar ordenadores, sistemas de E/S y dispositivos de E/S. InfiniBand proporciona la infraestructura adecuada para comunicación y gestión, tanto para transacciones de E/S como para comunicación entre ordenadores. Un sistema InfiniBand puede variar desde un pequeño servidor formado por un procesador y unos cuantos dispositivos de E/S conectados, hasta un supercomputador masivamente paralelo con miles de procesadores y dispositivos de E/S que está conectado vía Internet a otras plataformas de procesamiento y/o sistemas de E/S.

InfiniBand define una interconexión conmutada que permite a muchos dispositivos intercambiar datos de forma simultánea, con gran ancho de banda y baja latencia. Al ser un sistema conmutado, se pueden conseguir características como protección, fiabilidad, escalabilidad, seguridad, etc., hasta ahora impensables en sistemas de E/S, e incluso en la mayoría de las redes habituales para conexión de computadores.

Un nodo final en una SAN InfiniBand puede comunicarse por medio de múltiples puertos del conmutador al que está conectado, pudiéndose habilitar de esta manera caminos alternativos. Así, se podría aprovechar la disponibilidad de caminos alternativos tanto para incrementar el ancho de banda real, como para permitir tolerancia a fallos.

InfiniBand permite a las unidades de E/S comunicarse entre ellas y con cualquier sistema de procesamiento existente en el sistema. De esta manera, una unidad de E/S tiene la misma capacidad de comunicación que cualquier otro nodo de procesamiento.

Estructura arquitectónica

Niveles en la arquitectura de InfiniBand]]El funcionamiento de InfiniBand se describe mediante la interaccion de una serie de niveles. El protocolo que gobierna cada nivel es independiente del resto de niveles.

Nivel Físico

El nivel fisico especifica como se trasladan los bits al cable. InfiniBand utiliza el sistema de codificacion 8B/10B, con lo que, de cada 10 bits enviados solamente 8 son de datos. InfiniBand especifica tres tipos de medios fisicos: par trenzado, fibra optica o circuito en placa. El nivel fisico tambien especifica los simbolos que se usaran para indicar principio y final de paquete, datos, espacio entre paquetes, el protocolo de señalizacion a utilizar, etc.

Nivel de Enlace

El nivel de enlace describe los formatos de paquete a usar y los protocolos para las operaciones con ellos. Tambien son tareas de este nivel el control de flujo y el encaminamiento de los paquetes dentro de la misma subred.

Nivel de Red

El nivel de red describe el protocolo para encaminar un paquete entre distintas subredes. Este nivel define una Global Route Header (GRH) que debe estar presente en los paquetes que tengan que ser encaminados entre dos o mas subredes. La GRH identifica los puertos origen y destino usando direcciones globales (GID) en el formato de una direccion IPv6.

Nivel de Transporte

Los protocolos de enlace y de red llevan un paquete al destino deseado. La parte de nivel de transporte del paquete se encarga de hacer que se entregue el paquete en la cola (QP) apropiada, indicandole ademas como procesar los datos contenidos en el paquete. El nivel de transporte es el responsable de segmentar una operacion en varios paquetes si los datos a transmitir exceden el tamaño maximo de paquete (MTU). El QP en el extremo final reensambla los paquetes para formar la secuencia de datos que se quiso enviar.

Características de InfiniBand

Pares de colas

Los pares de colas (queue pairs, o QP) son la interfaz virtual que el hardware proporciona a un productor de información en InfiniBand, y el puerto de comunicación virtual que proporciona para el consumidor de dicha información. De esta forma, la comunicación tiene lugar entre un QP fuente y un QP destino.

Tipos de servicio

Cada QP se configura para proporcionar un determinado tipo de servicio. Hay tres caracteristicas que identifican a cada tipo de servicio:

  • Servicio orientado a conexion frente a no orientado a conexion: El servicio no orientado a conexion suele llamarse tambien datagrama. En un tipo de servicio orientado a conexion cada QP fuente esta asociado con un unico QP destino, y viceversa. En un tipo de servicio no orientado a conexion esta permitido que un QP envie/reciba paquetes a/desde cualquier otro QP en cualquier nodo.
  • Servicio con confirmacion frente a sin confirmacion: En un servicio confirmado, cuando un QP recibe un paquete debe confirmar al QP origen que lo ha recibido correctamente. Estos mensajes de confirmacion pueden ir integrados en otro paquete con informacion, o en un mensaje ACK o NAK (negative acknowledged) propio. El servicio confirmado se dice que es fiable, pues el protocolo de transporte garantiza un envio sin errores y con entrega en orden para el posterior reensamblado de los paquetes en un mensaje de nivel superior. Por contra, el servicio sin confirmacion se dice que es no fiable pues el protocolo de transporte no asegura que la información llegue a su destino.
  • Servicio de transporte de InfiniBand frente a otro tipo de transporte: El servicio de transporte de InfiniBand permite transmitir paquetes en bruto encapsulando paquetes de otros protocolos de transporte, como por ejemplo IPv6, o de otros tipos de redes.

Claves

Las claves (keys) proporcionan un cierto nivel de aislamiento y proteccion del trafico. Se insertan en los paquetes. Las aplicaciones solo podran acceder a los paquetes que contengan claves para los que ellas estén habilitadas. Los diferentes tipos de claves son:

  • Management Key (M Key): Esta clave se usa para tareas de gestion y se puede asignar una distinta a cada puerto. Una vez hecha la asignacion, todo el trafico de control con ese puerto debera llevar esa clave insertada en los paquetes.
  • Baseboard Management Key (B Key): Permite que actue el gestor de subred en placa. Esta clave la contienen cierto tipo de paquetes de gestion de la subred.
  • Partition Key (P Key): Permite la division logica de la subred en distintas zonas. Cada adaptador contiene una tabla de claves de particion que define las particiones para las que ese adaptador esta habilitado. Hay un gestor de particiones (Partition Manager, PM) unico, que se encarga de gestionar las claves de las particiones.
  • Queue Key (Q Key): Permite controlar el derecho de acceso a las colas para los servicios sin conexion (datagrama). De esta forma, dos nodos que no hayan establecido previamente una conexion pueden intercambiar informacion de forma que esta clave identifique univocamente a los interlocutores.
  • Memory Keys (L Key y R Key): Permite el uso de direcciones de memoria virtuales y dota al consumidor de un mecanismo para controlar el acceso a dicha memoria. El consumidor le especifica al adaptador una zona de memoria y recibe de este una L Key y otra R Key. El consumidor usa la L Key en las gestiones locales de memoria, y pasa la R Key a los consumidores remotos para que la usen en las operaciones remotas de DMA (RDMA).

Las claves no proporcionan seguridad por si solas pues dichas claves estan disponibles en la cabecera de los paquetes que circulan por la red. No obstante, permiten hacer un aislamiento virtual de forma que cada adaptador sepa que mensajes le atañen directamente a el, o van dirigidos a otro tipo de entidades.

Canales virtuales

Los canales virtuales (VL) constituyen un mecanismo para crear multiples enlaces virtuales con un unico enlace fisico. Un canal virtual representa un conjunto de buffers de transmision y recepcion en un puerto.

Control de la tasa de inyeccion

InfiniBand define enlaces serie punto a punto full-duplex funcionando a una frecuencia de 2,5 GHz. La velocidad de transmision que se obtiene es 2,5 Gb/seg, que se denomina 1X. Sin embargo, InfiniBand permite alcanzar mayores velocidades usando varios de esos enlaces en paralelo, como 10 Gb/seg (4X) y 30 Gb/seg (12X).

Multicast

Multicast es un paradigma de comunicacion uno-muchos/muchos-muchos diseñado para simplificar y mejorar la comunicacion entre un conjunto de nodos finales. InfiniBand permite la comunicacion multidestino.

InfiniBand vs. Ethernet

En el mercado existen redes de características muy variadas, Ethernet, Fibre Channel, Myrinet, etc. Todas ellas alcanzan actualmente velocidades de transmisión elevadas, sin embargo, no alcanzan las velocidades que los procesadores actuales requieren. Cada vez que un procesador necesita un dato externo a su sistema local, su rendimiento se ve mermado por el mero hecho de la espera producida hasta que el dato está disponible para su uso. Además, en los últimos años las aplicaciones requieren más y más información, aplicaciones multimedia, Internet de banda ancha, transmisión en tiempo real, etc.

Para conocer alguna de las ventajas de InfiniBand con respecto a Ethernet, en la siguiente imagen se compara la escalabilidad de ambas en un clúster HPC, en la que se gráfica el tiempo de computo según la cantidad de procesadores. Es una solución a una ecuación diferencial de tercer orden mediante la Transformada Rápida de Fourier. La comparación no es del todo justa, ya que se utilizó el compilador gcc para Ethernet y el compilador de Sun para InfiniBand, de ahí la diferencia entre los resultados en pequeños números de CPUs. Pero a pesar del hecho de que gcc es un poco más rápido, Ethernet no muestra escalabilidad en absoluto.

Hardware InfiniBand:

Tarjetas

Además de la conectividad del BUS (PCI-X, PCI-E y PCI-E Gen2, Gen3) existen diferentes chipset que nos indican su generación, potencia y funcionalidad. Los Chipset de última generación permiten comunicación InfiniBand FDR 56Gb/s y redes 40GE en una misma tarjeta. Mellanox, el proveedor líder de soluciones con tecnología InfiniBand ofrece diversas HCAs dependiendo del slot de conexión, la memoria de la tarjeta y las prestaciones puesto que existe versión SDR, DDR, QDR y FDR de hasta 56GB/s.

InfiniHost III:

Ex tarjetas de puerto dual 4X InfiniBand adaptadores se conectan al sistema host a través de una interfaz PCI Express x8. Single Data Rate (SDR) tarjetas Ex soportan dobles de 10Gb / s InfiniBand, mientras que las conexiones de doble velocidad de datos (DDR) versiones soportan dobles 20Gb / s InfiniBand de conexiones. Ex tarjetas HCA ofrecen la mejor relación costo efectiva 10 o una solución de 20Gb / s disponible y función de acceso remoto directo a memoria (RDMA), el transporte de hardware, y avanzado por par de colas (QP) calidad de servicio.

Beneficios:

  • Computación unificada, el almacenamiento y la gestión
  • De alto ancho de banda, baja latencia
  • Rendimiento hoja de ruta para 120Gb / s
  • Altamente eficiente en la agrupación
  • La máxima fiabilidad y escalabilidad
  • Multi-plataforma de apoyo
  • Gestión de la congestión y calidad de servicio
  • Virtualizada de E / S de tela
  • De primera clase de precio / rendimiento

ConnectX -2 Single:

Caracteristicas:

  • Interconexión Protocolo Virtual
  • Arquitectura de chip único
  • Integrados SerDes
  • No hay memoria local necesario
  • 1us MPI mesa de ping de latencia
  • Selección de 10, 20 o 40Gb / s InfiniBand o 10GigE por puerto
  • IBTA Compatible Diseño v1.2.1
  • PCI Express 2.0 (hasta 5 GT / s)
  • Descarga de CPU de las operaciones de transporte
  • End-to-end QoS y control de congestión
  • Basada en hardware de E / S de virtualización
  • TCP / UDP / IP sin estado de descarga
  • Encapsulación de Fibre Channel (FCoIB o FCoE)

Ventajas/Desventajas

Ventajas:

  • Mejora del rendimiento
  • Permite la aplicación y la aceleración de almacenamiento a través de RDMA.
  • InfiniBand se basa en RDMA, un paradigma de transmisión de mensajes. El servicio RDMA transmite los mensajes por la red, entre procesadores. Los mensajes se transmiten directamente entre ubicaciones de memoria registradas, sin copiado de datos o intervención del sistema operativo.
  • Proporciona una máxima utilización de los enlaces en la red WAN con un reparto justo de los recursos entre aplicaciones
  • Amplía la capacidad existente del enlace WAN y descarga a la CPU para el procesamiento de la solicitud (el ahorro en hardware de procesamiento y ancho de banda de la red)
  • InfiniBand ofrece baja sobrecarga de la CPU y una latencia extremadamente baja. Puede suministrar un rendimiento de hasta 20 Gbit. Puede ser más económico que el Canal de fibra.
  • Interoperabilidad de la aplicación transparente con las aplicaciones existentes y nuevas y soluciones de almacenamiento.
  • Almacenamiento acelerado:
  • Un clúster unificado InfiniBand para procesos informáticos y de almacenamiento logra ventajas significativas de costo y rendimiento en comparación con redes de varias estructuras. Los protocolos estándar y de bloqueo de acceso a los archivos que utilizan RDMA, InfiniBand dan lugar a un acceso de almacenamiento de alto rendimiento. El encapsulamiento de la trama del canal de fibra sobre las descargas de hardware de InfiniBand (FCoIB) permite una conectividad simple a las redes de área de almacenamiento (SAN) del canal de fibra.

Desventajas

  • Solamente cubre distancias cortas (15 metros) a menos que invierta en extensores IB de largo alcance y disponga de conectividad de fibra o de WAN de alto nivel.
  • También podría encontrar soporte limitado para ciertas aplicaciones o hardware.

InfiniBand vs Ethernet :

Los sistemas de Supercomputación no escalan linealmente en función del número de servidores, por lo que en ciertas situaciones es más importante mejorar la red que aumentar el número de nodos en vistas a aumentar el rendimiento como se puede apreciar en esta gráfica.

Es entonces cuando el uso de redes InfiniBand es de vital importancia para la escalabilidad de Cluster HPC

Fuentes