31
Protocolo FireWire: transacciones asíncronas
Una subacción consta de cinco periodos de tiempo
1. Secuencia de arbitraje: es el intercambio de señales necesario para ceder el control del bus a un dispositivo
2. Transmisión de paquete
Cabecera: incluida en todos los paquetes
Identificadores de la fuente y el destino
Tipo de paquete y parámetros específicos
Código de redundancia cíclica (CRC)
Bloque de datos: es opcional e incluye otro código CRC
32
Protocolo FireWire: transacciones asíncronas
Una subacción consta de cinco periodos de tiempo
3. Intervalo de reconocimiento: retardo necesario para que el destino reciba un paquete y genere el reconocimiento
4. Reconocimiento: el receptor devuelve un paquete de reconocimiento con un código que indica la acción realizada por el receptor
5. Intervalo de subacción: periodo forzoso de inactividad para asegurar que ningún dispositivo empiece el arbitraje antes de que el paquete de reconocimiento se haya transmitido
33
Protocolo FireWire: transacciones asíncronas
En el momento en el que se envía un reconocimiento, el nodo que lo envía tiene el control del bus
Dado que el intercambio es una interacción petición-respuesta, el nodo que responde puede transmitir inmediatamente el paquete de respuesta sin tener que realizar una secuencia de arbitraje
34
Protocolo FireWire: transacciones isócronas
La transmisión isócrona se utiliza con los dispositivos que generan o consumen datos de manera regular (sonido o video digital…)
Este método asegura que los datos pueden generarse dentro de unos intervalos especificados para garantizar cierta velocidad
35
Protocolo FireWire: transacciones isócronas
Los paquetes isócronos se etiquetan con números de canal de 8 bits que se asignan previamente mediante un diálogo entre los dos nodos que intercambian datos
La cabecera de los paquetes isócronos es más corta que la de los paquetes asíncronos e incluye
Un campo de longitud de datos
Un código CRC para la cabecera
36
Protocolo FireWire: transacciones isócronas
Para permitir una carga mixta de tráfico de datos isócronos y asíncronos, uno de los dispositivos debe designarse como maestro de ciclo
Periódicamente, el maestro genera un paquete de comienzo de ciclo para indicar a los otros dispositivos el comienzo de un ciclo isócrono
Durante este ciclo sólo se pueden enviar paquetes isócronos
Las distintas fuentes isócronas conectadas compiten por el acceso al bus y el ganador transmite un paquete
37
Protocolo FireWire: transacciones isócronas
Para permitir una carga mixta de tráfico de datos isócronos y asíncronos, uno de los dispositivos debe designarse como maestro de ciclo
No existe reconocimiento para los paquetes enviados, por lo que las otras fuentes isócronas compiten por el acceso al bus inmediatamente después de la transmisión del paquete
Debido a esto, hay un pequeño intervalo, determinado por los retardos del bus, entre la transmisión de un paquete y el periodo de arbitraje del siguiente (intervalo isócrono)
38
Protocolo FireWire: transacciones isócronas
Para permitir una carga mixta de tráfico de datos isócronos y asíncronos, uno de los dispositivos debe designarse como maestro de ciclo
El intervalo isócrono será siempre menor que el de subacción
Una vez que todas las fuentes isócronas han transmitido, el bus permanecerá inactivo el tiempo suficiente para que se produzca un intervalo de subacción
Esta es la señal para que las fuentes asíncronas compitan por acceder al bus hasta que comience el siguiente ciclo isócrono
39
Estructura del tema
Introducción
Interfaces punto-a-punto
El puerto paralelo del PC – Centronics
El puerto serie del PC – RS232C
El bus serie universal: USB
Interfaces multipunto
El bus serie FireWire
InfiniBand
40
InfiniBand
InfiniBand es una especificación de E/S orientada a los servidores de gama alta que tenía por objetivo sustituir a PCI en ese mercado
Más capacidad
Más posibilidades de expansión
Más flexibilidad para el diseño de equipos
El estándar InfiniBand describe la arquitectura y las especificaciones para el flujo de datos entre procesadores y dispositivos de E/S inteligentes
41
InfiniBand
InfiniBand permite que servidores, equipos de almacenamiento remoto y otros dispositivos de red se puedan conectar a través de un sistema de conmutadores (switch fabric) y enlaces
Esta arquitectura puede conectar hasta 64000 dispositivos
No es necesario que el hardware de interfaz de E/S se encuentre dentro del chasis del servidor
Los servidores pueden hacerse más compactos
Aumenta la flexibilidad y escalabilidad de los centros de cálculo
La velocidad de transmisión puede alcanzar los 30Gbps y la distancia entre dispositivos puede ser incluso de kilómetros
42
InfiniBand: arquitectura
En lugar de un conjunto de ranuras PCI, un servidor necesita una interfaz con un HCA (Host Channel Adapter) que conecta el servidor a un conmutador InfiniBand
El HCA se conecta al servidor a través de un controlador de memoria
El HCA lee y escribe en memoria por medio de DMA
43
InfiniBand: arquitectura
El controlador de memoria gestiona el bus del sistema
Controla el tráfico entre el procesador y la memoria
Controla el tráfico entre el HCA y la memoria
Los sistemas de almacenamiento y el resto de dispositivos se conectan a un conmutador InfiniBand por medio de un TCA (Target Channel Adapter)
44
InfiniBand: arquitectura
Los adaptadores HCA y TCA son dispositivos inteligentes que gestionan todas las funciones de E/S sin necesidad de interrumpir al procesador del servidor
Los servidores y los dispositivos se comunican con el conmutador de InfiniBand a través de ellos
Para añadir nuevos dispositivos al sistema basta con conectar sus adaptadores al conmutador
45
InfiniBand: arquitectura
El conmutador InfiniBand proporciona conexiones físicas punto-a-punto a un conjunto diverso de dispositivos y conmuta el tráfico entre enlaces
La lógica del conmutador gestiona las comunicaciones sin interrumpir a los servidores
La detección de nuevos dispositivos y la asignación de direcciones lógicas se realiza de forma transparente
46
InfiniBand: arquitectura
El conmutador de InfiniBand abre temporalmente los canales entre el procesador y los dispositivos con los que se está comunicando
Los dispositivos no tienen que compartir la capacidad del canal, por lo que no hay necesidad de procedimientos de arbitraje adicionales entre dispositivos
47
InfiniBand: arquitectura
Los enlaces conectan a un conmutador y a un adaptador HCA/TCA o a dos conmutadores
El encaminador conecta subredes InfiniBand o conecta un conmutador InfiniBand a una red de área local, de área amplia o de dispositivos de almacenamiento
48
InfiniBand: arquitectura
Una subred consiste en uno o más conmutadores interconectados más los enlaces que los conectan a otros dispositivos
Los administradores de sistemas pueden confinar las transmisiones de uno a muchos (multicast) y de uno a todos (broadcast) dentro de una subred
49
InfiniBand: funcionamiento
Cada enlace físico entre un conmutador y un adaptador HCA o TCA conectado a él puede incluir hasta 16 canales lógicos denominados líneas virtuales
Una línea se reserva para la gestión del conmutador
Las otras líneas se reservan para la transmisión de datos
Los datos se envían en forma de secuencia de paquetes, conteniendo cada paquete:
Información de direccionamiento
Información de control
Una parte del volumen de datos a transmitir
50
InfiniBand: funcionamiento
La transferencia de datos se gestiona mediante los correspondientes protocolos de comunicación
Una línea virtual se dedica temporalmente a transferir los datos desde un nodo a otro a través del conmutador InfiniBand
El conmutador asigna el tráfico que llega a través de una línea a alguna de las líneas de salida según el camino que deben seguir los datos entre los nodos que se comunican
51
InfiniBand: funcionamiento
La arquitectura lógica del protocolo tiene cuatro capas
Física: define el medio físico de transmisión (cobre, fibra óptica…) y la velocidad de conexión (1X, 4X ó 12X)
Enlace: abarca tres elementos
Definición de la estructura básica de los paquetes utilizados para intercambiar datos, incluyendo un código de detección de error para proporcionar fiabilidad
Esquema para asignar una única dirección de enlace a cada dispositivo de una subred
Lógica para configurar las líneas virtuales para la conmutación de los datos entre origen y destino a través de los conmutadores
Red: encamina los paquetes entre subredes diferentes
Transporte: proporciona un mecanismo de fiabilidad para las transferencias punto-a-punto a través de una o más subredes
52
InfiniBand: funcionamiento
Algunos dispositivos pueden enviar datos más rápido de lo que pueden ser recibidos en el destino
Para solucionarlo, en los extremos de cada enlace existe una pareja de colas (envío y recepción) que almacenan el exceso de datos de salida y de entrada
53
InfiniBand: funcionamiento
Cada línea virtual utiliza una pareja de colas diferente
Las colas pueden situarse en el adaptador o en la memoria del dispositivo conectado al adaptador
Las transacciones que el computador envía a su cola de envío o de recepción se denominan WQE (Work Queue Entry)
54
InfiniBand: funcionamiento
Los dos WQE más importantes son las transacciones SEND (enviar) y RECEIVE (recibir)
En una transacción SEND el WQE especifica un bloque de datos en el espacio de memoria que es el que hay que enviar al destino
55
InfiniBand: funcionamiento
Los dos WQE más importantes son las transacciones SEND (enviar) y RECEIVE (recibir)
En una transacción RECEIVE el WQE especifica la ubicación donde hay que colocar los datos que se reciban desde otro dispositivo
56
InfiniBand: funcionamiento
El adaptador procesa cada WQE enviado según el orden de prioridad establecido y genera un CQE (Completion Queue Entry) para almacenarlo en la cola de trabajos concluidos
El CQE indica al servidor el estado del trabajo finalizado
Página anterior | Volver al principio del trabajo | Página siguiente |