Trabajo Practico Infiniband - Universidad Nacional del Litoral - Profesor ROA, Pablo

10
[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL] Primer Trabajo Práctico. Redes de datos. 2015 InfiniBand Es un bus 1 de comunicaciones de alta velocidad, diseñado tanto para conexiones internas como externas. Sus especificaciones son desarrolladas y mantenidas por la Infiniband Trade Association (IBTA). Es una marca comercial. Su tecnología es el resultado de la unión de dos diseños en competencia (el Future I/O, desarrollado por COMPAQ, IBM y Hewlett- Packard, y el Next Generation I/O, desarrollado por Intel, Microsoft y Sun Microsystems). Anteriormente InfiniBand era llamado System I/O (Sistema de entrada/salida). Este tipo de Red 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. 1 Un bus es un medio compartido de comunicación constituido por un conjunto de líneas (conductores) que conecta las diferentes unidades de un computador. La principal función de un bus será, pues, servir de soporte para la realización de transferencias de información entre dichas unidades. PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 1

Transcript of Trabajo Practico Infiniband - Universidad Nacional del Litoral - Profesor ROA, Pablo

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

Primer Trabajo Práctico.Redes de datos.

2015

InfiniBand

Es un bus1 de comunicaciones de alta velocidad, diseñado tanto para conexiones internas como externas. Sus especificaciones son desarrolladas y mantenidas por la Infiniband Trade Association (IBTA).

Es una marca comercial. Su tecnología es el resultado de la unión de dos diseños en competencia (el Future I/O, desarrollado por COMPAQ, IBM y Hewlett- Packard, y el Next Generation I/O, desarrollado por Intel, Microsoft y Sun Microsystems).Anteriormente InfiniBand era llamado System I/O (Sistema de entrada/salida).

Este tipo de Red 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.

1 Un bus es un medio compartido de comunicación constituido por un conjunto de líneas (conductores) que conecta las diferentes unidades de un computador. La principal función de un bus será, pues, servir de soporte para la realización de transferencias de información entre dichas unidades.

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 1

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

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. 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ústers2 de altas prestaciones y permiten aprovechar las posibilidades de la tecnología actual.

Arquitectura

2 Un cúmulo, granja o cluster de computadoras, lo podemos definir como un sistema de procesamiento paralelo o distribuido. Consta de un conjunto de computadoras independientes, interconectadas entre sí, de tal manera que funcionan como un solo recurso computacional. A cada uno de los elementos del cluster se le conoce como nodo. Estos son aparatos o torres que pueden tener uno o varios procesadores, memoria RAM, interfaces de red, dispositivos de entrada y salida, y sistema operativo.

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 2

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

InfiniBand define una red de área de sistema (System Area Network, SAN) para conectar ordenadores, sistemas de E/S y dispositivos de E/S. 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.

Este sistema define una interconexión conmutada que permite a muchos dispositivos intercambiar datos de forma simultánea, con gran ancho de banda y baja latencia3. 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 nodo4 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.

3 Los datos se transmiten en paquetes de hasta 4 KB que se agrupan para formar mensajes. Un mensaje puede ser una operación de acceso directo a memoria de lectura o escritura sobre un nodo remoto (RDMA), un envío o recepción por el canal, una operación de transacción reversible o una transmisión multicast.

4 Los nodos pueden estar contenidos e interconectados en un solo gabinete, o, como en muchos casos, acoplados a través de una red de área local (LAN (Local Area Network)). Otro componente básico en un cluster es la interfaz de la red, la cual es responsable de transmitir y recibir los paquetes de datos, que viajan a través de la red entre los nodos. Finalmente el lograr que todos estos elementos funcionen como un solo sistema, es la meta a la que se quiere llegar para dar origen a un cluster.

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 3

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

Estructura arquitectónica

Niveles en la arquitectura de InfiniBandEl funcionamiento se describe mediante la interacción de una serie de niveles. El protocolo que gobierna cada nivel es independiente del resto de niveles.

Nivel FísicoEl nivel físico especifica cómo se trasladan los bits al cable. InfiniBand utiliza el sistema de codificación 8B/10B, con lo que, de cada 10 bits enviados solamente 8 son de datos. InfiniBand especifica tres tipos de medios físicos: par trenzado, fibra óptica o circuito en placa. El nivel físico también especifica los símbolos que se usaran para indicar principio y final de paquete, datos, espacio entre paquetes, el protocolo de señalización a utilizar, etc.

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

Nivel de RedEl 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 más

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 4

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

subredes. La GRH identifica los puertos origen y destino usando direcciones globales (GID) en el formato de una dirección IPv6.

Nivel de TransporteLos 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, indicándole además como procesar los datos contenidos en el paquete. El nivel de transporte es el responsable de segmentar una operación en varios paquetes si los datos a transmitir exceden el tamaño máximo 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 colasLos 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 servicioCada QP se configura para proporcionar un determinado tipo de servicio. Hay tres caracteristicas que identifican a cada tipo de servicio:

Tipos de servicio de transporte en InfiniBand Servicio orientado a conexión frente a no orientado a conexión: El

servicio no orientado a conexión suele llamarse también datagrama. En un tipo de servicio orientado a conexión cada QP fuente está asociado con un único QP destino, y viceversa. En un tipo de servicio no orientado a conexión está permitido que un QP envíe/reciba paquetes a/desde cualquier otro QP en cualquier nodo.

Servicio con confirmación frente a sin confirmación: En un servicio confirmado, cuando un QP recibe un paquete debe confirmar al QP origen que lo ha recibido correctamente. Estos mensajes de confirmación pueden ir integrados en otro paquete con información, 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 envío 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 confirmación se dice que es no fiable pues el protocolo de transporte no asegura que la información llegue a su destino.

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 5

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

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 protección del tráfico. Se insertan en los paquetes. Las aplicaciones solo podrán 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 gestión y se puede asignar una distinta a cada puerto. Una vez hecha la asignación, todo el tráfico de control con ese puerto deberá llevar esa clave insertada en los paquetes.

Baseboard Management Key (B Key): Permite que actúe el gestor de subred en placa. Esta clave la contienen cierto tipo de paquetes de gestión de la subred.

Partition Key (P Key): Permite la división lógica de la subred en distintas zonas. Cada adaptador contiene una tabla de claves de partición que define las particiones para las que ese adaptador está habilitado. Hay un gestor de particiones (Partition Manager, PM) único, 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 conexión (datagrama). De esta forma, dos nodos que no hayan establecido previamente una conexión pueden intercambiar información de forma que esta clave identifique unívocamente 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 están 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 él, o van dirigidos a otro tipo de entidades.

Canales virtualesLos canales virtuales (VL) constituyen un mecanismo para crear múltiples enlaces virtuales con un único enlace físico. Un canal virtual representa un conjunto de buffers de transmisión y recepción en un puerto.

Control de la tasa de inyecciónInfiniBand define enlaces serie punto a punto full-duplex funcionando a una frecuencia de 2,5 GHz. La velocidad de transmisión que se obtiene es 2,5

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 6

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

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).

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

Escalabilidad InfiniBand vs. EthernetEn 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.

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 7

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

Usos:

Hacer computo paralelo, o calculo paralelo, y eso lo podria hacer solo modelado de motores por ejemplo FORD, RENAULT ó alguna empresa de aviación para modelado de aerodinamia.

A su vez existe un proyecto denominado TUPAC,5 donde el Gobierno Argentinó destinó millones de dólares para la creación de una supercomputadora. Una nueva plataforma tecnológica de modelización, simulación de señales, sistemas y procesamiento de información que ubica a nuestro país dentro de los líderes de la región con este tipo de equipamiento.

Algunos Precios de productos Infiniband:

Fuente: País España – Link: aquíFuente: País Estados Unidos – Link: aquí

Fuente: País Estados Unidos – Link: aquí

Otras redes similares:Myrinet6 es una red de interconexión de clusters de altas prestaciones. Sus productos han sido desarrollados por Myricom desde 1995.

Myrinet físicamente consiste en dos cables de fibra óptica, upstream y downstream, conectados con un único conector. La interconexión se suele realizar mediante conmutadores y encaminadores. Éstos dispositivos suelen tener capacidades de tolerancia a fallos, con control 5 Proyecto TUPAC – Referencia URL: http://www.agencia.mincyt.gob.ar/frontend/agencia/post/1757

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 8

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

de flujo, control de errores y monitorización de la red. Desde su creación se ha incrementado su rendimiento hasta alcanzar latencias de 3 microsegundos y anchos de banda de 10 Gbit/s:

La primera generación de productos Myrinet obtenía anchos de banda de 512 Mbit/s

La segunda de 1280 Mbit/s Myrinet 2000 obtiene 2 Gbit/s Myri-10G llega a los 10 Gbit/s, y puede interoperar con 10Gb Ethernet

Una de sus principales características, además de su rendimiento, es que el procesamiento de las comunicaciones de red se hace a través de chips integrados en las tarjetas de red de Myrinet (Lanai chips), descargando a la CPU de gran parte del procesamiento de las comunicaciones.

En cuanto al middleware de comunicación, la inmensa mayoría está desarrollado por Myricom. Destacan las librerías a bajo nivel GM y MX, con sus respectivas implementaciones de MPI MPICH-GM y MPICH-MX, y las implementaciones de Sockets de alto rendimiento Socktes-GM y Sockets-MX.

UsosLas especiales características de Myrinet hacen que sea altamente escalable, gracias a la tecnología existente de conmutadores y routers, y su presencia en el tramo de clusters de gran tamaño es importante. Muchos de los supercomputadores que aparecen en el TOP500 utilizan esta tecnología de comunicación.

Por ejemplo, los supercomputadores que forman parte de la Red Española de Supercomputación (dos de los cuales, Magerit y Marenostrum, están incluidos en el TOP500) utilizan Myrinet como red de interconexión para el paso de mensajes MPI.

Referencias Web y/o Bibliográficas + Enlaces Relacionados:

Instalación y Cableado de una Red InfiniBand según CISCO http://www.cisco.com/c/dam/en/us/td/docs/server_nw_virtual/topspin_release_1/cblGd.pdf

Cómo tener un Infiniband en casa: http://www.davidhunt.ie/infiniband-at-home-10gb-networking-on-the-cheap/

E-Book formato PDF, Primera Edición 2002, Autor: Tom Shanley. URL https://www.mindshare.com/files/ebooks/InfiniBand%20Network%20Architecture.pdf

6 Propiedad de Myricom – Referencia URL: https://es.wikipedia.org/wiki/Myrinet

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 9

[GASTÓN RAMIREZ TRIPODI] [TEC. INFORMÁTICA APLIC. D.WEB & MULTIM.] [CAPITAL FEDERAL]

Sitio: http://www.networkworld.com/

Alternativas PCI a bajo costo a las Infiniband http://www.networkworld.com/article/2167120/tech-primers/pci-express-based-fabrics--a-low-cost-alternative-to-infiniband.html

Vocabulario de InfiniBand https://blogs.oracle.com/networking/entry/infiniband_vocabulary

Wikipedia

Wiki Informática

Como crear un Red Báscia de Infiniband: https://pkg-ofed.alioth.debian.org/howto/infiniband-howto.html#toc4

Linux Clusters: https://computing.llnl.gov/tutorials/linux_clusters/

Proveedores de ésta Tecnología: http://www.atipa.com/index.html

PROFESOR: PABLO F. ROA – UNIVERSIDAD NACIONAL DEL LITORAL * 10