Conectan nodos en diferentes niveles del sistema (chip ...

39
Conectan nodos en diferentes niveles del sistema (chip, tarjeta, chásis, armario, ...). Desarrollado por diseñadores de arquitecturas de altas prestaciones. Comunicar computadores, clasificación redes computación: WAN (Wide Area Network). Conexión de redes de computadores. RDSI, ATM. LAN (Local Area Network). Conexión de cientos-miles de nodos en distancias de decenas kilómetros. Redes Ethernet. SAN (System Area Network). Conexión de cientos-miles de nodos en distancias cientos de metros. Altas prestaciones. Entre los sistemas a medida y LANs. Redes basadas en estándares: SCI o Infiniband. Diseños/implementaciones propias de fabricantes: Myrinet de Myricom, QsNet de Quadrics. Diseños/implementaciones de fabricantes de computadores.

Transcript of Conectan nodos en diferentes niveles del sistema (chip ...

Page 1: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

���������

• Conectan nodos en diferentes niveles del sistema (chip, tarjeta,chásis, armario, ...). Desarrollado por diseñadores de arquitecturasde altas prestaciones.

• Comunicar computadores, clasificación redes computación:– WAN (Wide Area Network). Conexión de redes de computadores.

RDSI, ATM.– LAN (Local Area Network). Conexión de cientos-miles de nodos en

distancias de decenas kilómetros. Redes Ethernet.

– SAN (System Area Network). Conexión de cientos-miles de nodos endistancias cientos de metros.

• Altas prestaciones.• Entre los sistemas a medida y LANs.

• Redes basadas en estándares: SCI o Infiniband.• Diseños/implementaciones propias de fabricantes: Myrinet de Myricom,

QsNet de Quadrics.

• Diseños/implementaciones de fabricantes de computadores.

Page 2: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

���������

• Tendencias en sistemas de comunicación de altas prestaciones:

– Sustitución de buses por redes basadas en enlaces (punto a punto) yconmutadores a todos los niveles: (chip, tarjetas, ...)

– Buena relación precio/prestaciones.

Page 3: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

��� ������

Page 4: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� ������ ����������� �������� ��

• Componentes de un sistema de comunicación:– Interfaz de red: hardware y software– Conmutadores (switch o router)

– Enlaces

• Sistema de comunicación: Gestiona e implementa lastransferencias de datos entre núcleos de nodos.

• Mensaje: Unidad de información que se transfiere entre nodos através del sistema de comunicación.

• Núcleo de nodo: Puede constar de procesador+cache+MP+E/S

• Transferencia mensaje puede suponer varias transferenciaspaquetes (unidad de transferencia entre interfaces).

• Conmutadores y enlaces guían los paquetes a su destino.

Page 5: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� ������ ����������� �������� ��

• Multiprocesador:

– Nodo = Procesador+Cache ó Memoria ó E/S.

– Mensaje generado por un acceso a memoria (load/store).

– Controladores de memoria actúan de interfaz con la red interconexión.

– Sistema transparente al programador y herramienta de programación.

– Transferencia de paquetes con datos (línea de cache) y sólo de control.

– Tamaño paquete impuesto por hardware

– Protocolo de coherencia de cache.

Page 6: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� ������ ����������� �������� ��

• Multicomputador:

– Nodo = Al menos 1 procesador+cache, Memoria e interfaz.

– Comunicación entre 2 procesos en 2 computadores: transferencia dedatos de memoria fuente a memoria destino. (send/receive)

– Sistema de comunicación es visible al programador como subsistemade E/S.

– Tamaño de los paquetes controlado por programador.

– Sistema, puede dividir datos en unidades más pequeñas para sutransferencia entre interfaces.

– Copia datos memoria-HW interfaz (fuente) y HW interfaz-memoria(destino)

Page 7: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Interfaz de red:– Multicomputadores:

• Consta de Parte hardware (Network Interface NI) y parte software.• Datos a enviar en espacio memoria usuario.• Copiar al NI para enviar.

• Incluye colas de envío/recepción.• Para recibir copiar de la cola del NI a memorias de usuario

– Multiprocesadores:• La implementación es sólo hardware.• Diferencias cuando existe o no HW de coherencia de caches.

• Tareas interfaz de red• Almacenamiento de salida y entrada de paquetes

• Formateo de paquetes• Copia y almacenamiento de datos• Protección. Traducción de direcciones

• Control de flujo• Direccionamiento, encaminamiento y reconfiguración

Page 8: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

Page 9: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Almacenamiento de salida y entrada de paquetes

– Se realiza en registros o memoria interna del interfaz– Gestion tipo cola (estructura circular con punteros)– Si los paquetes no tienen tamaño fijo, punteros adicionales.

• Formateo de paquetes

– Interfaz genera información de control para los datos (envoltoriopaquete): Camino a seguir y nodo destino. Información usada porconmutadores.

– Código detectores de errores– Código detección fin de paquete

Page 10: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Formateo de paquetes

– División del bloque de datos a transferir.– Interfaz destino debe reconstruir. Posibilidad de cambio de orden.

– División supone perdida de rendimiento• Ejemplo: 256 bytes->32MB/s y 1024 bytes-> 43MB/s

• Copia y almacenamiento de datos

– Transferencias: Multicomputadores->E/S. Multiprocesadores-> accesosa memoria.

– Copia datos memoria-HW interfaz (fuente) y HW interfaz-memoria(destino)

Page 11: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Gestión de dispositivos de E/S.

• Manejador de dispositivo (driver): Formar parte de núcleo de S.O.

• Desde el nivel de usuario se accede mediante llamadas al sistema.

• Transferencias entre dispositivo y memoria se realizan:– E/S Programada. El procesador se encarga de realizar la transferencia.

– DMA. El controlador DMA es el encargado de realizar la transferencia.Se informa de eventos al procesador mediante interrupciones.

– E/S controlada por interrupciones. Un procesador se encarga derealizar la transferencia. Se informa de eventos al procesador medianteinterrupciones.

Page 12: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

Page 13: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos– Gestión de dispositivos de E/S.

• Es posible copias de memoria a memoria debido a la intervención delnúcleo del S.O.. Pérdida de rendimiento. (LAN con TCP/IP ocurre).

Page 14: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos– Optimización del manejador del hardware de una interfaz para

procesamiento paralelo

• Eliminación de tareas no necesarias del protocolo. Transmisión optimista depaquetes si la fiabilidad es alta.

• Aprovechar las características del hardware de interfaz. Modificar protocolo,driver,etc para maximizar las posibilidades que ofrece interfaz: control deflujo, ahorrar transferencias al nodo,..etc. Objetivo liberar los procesadoresdel nodo.

• Optimizar tareas que deben realizar procesadores del nodo. Copias dememoria combinadas.

• Reducir coste por intervención del núcleo. Llamadas al sistema ligeras.• Evitando copias de memoria a memoria mismo nodo.

• Eliminar coste de interrupciones: Interrumpir por un conjunto de paquetes,no por uno solo. Consultas de cambio de estado. O combinación.

• Segmentación o pipeline de diferentes partes del proceso

Page 15: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Alternativas para implementar manejadores de red

• 1) Gestión de transferencia. E/S Programada, DMA, E/S interrupciones.

• 2) Información de eventos: Consulta de estado. Interrupciones.

• 3) Acceso a adaptador de red: Nivel de S.O.. Nivel usuario.

Page 16: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Alternativas para implementar manejadores de red

• E/S Programada.

– Procesador del nodo encargado de copias memoria-interfaz. Si es elmismo que esta ejecutando la aplicación->problemas con perdidas encache.

– Utiliza consulta de estado para tener conciencia de eventos.

– Tiempos bajos de inicio de transferencia. Buena para mensajes cortos.Mala a partir de cierto tamaño en la transferencia (Tiempo no ocupadoen otras tareas)

Page 17: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Alternativas para implementar manejadores de red

• DMA

– Transferencia directa entre memoria y adaptador mediante controladorDMA.

– Tiempos altos de inicio de transferencia. Malo para mensajes cortos.Bueno a partir de cierto tamaño en la transferencia (Tiempo noocupado en otras tareas)

– Pueden implementar colas de descriptores de transferencias, evitaresperar termine la anterior para programar. Colas en memoria o enadaptador.

Page 18: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Alternativas para implementar manejadores de red

• DMA

– Evitar desalojo de páginas afectadas por transferencia de M.P:

» Usar memoria del núcleo del S.O. Donde no hay intercambio

» Bloquear páginas usuario mediante llamadas al sistema

» Declarar memoria de usuario como no intercambiable y usarlacomo buffer. Copias memoria-memoria.

Page 19: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Alternativas para implementar manejadores de red

• Recepción de datos.

– Transferir datos desde adaptador a memoria.

– Puede avisar al procesador mediante interrupciones.

– Llamamiento a subrutina de servicio consume tiempo.

– Otra opción es Consulta de estado. El procesador chequea estado deladaptador.

– Solución híbrida.

Page 20: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Copia y almacenamiento de datos

– Alternativas para implementar manejadores de red

• Acceso a adaptador a nivel de usuario

– Se eliminan llamadas al sistema y copias de memoria a memoria.

– Asignar región del espacio de direcciones del usuario a la interfaz.Permite acceso del procesador y DMA.

– Otras opciones son implementar acceso a memoria remotos: Sun FireLink y QsNet. Las interfaces capturan las operaciones con direccionesde E/S y las mapean a operaciones con memoria en nodo remoto.

– Ejemplo: El adaptador QsNet realiza DMA remoto sin copia,almacenamiento ni intervanción del S.O.

Page 21: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

Page 22: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Protección. Traducción de direcciones

– Acceso multiproceso a nivel de usuario elimina protección del S.O.– Protección SO: protege destrucción estado adaptador o datos e

instrucciones en memoria por otros procesos

– Implementar algún mecanismo de protección.– DMA usa direcciones físicas no virtuales. No la sabe aplicación de

usuario.– Solución:

• E/S Programada• Usuario copia datos a zona de memoria de uso por DMA. Implica copia

memoria-memoria.

• Llamadas al sistema para bloquear y desbloquear zonas. Adaptador usauna cache TLB con traducciones direcciones virtuales a fisicas. Si no hayentrada se pide al S.O. Que bloquee esa dirección y traduzca.

Page 23: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Direccionamiento, encaminamiento y reconfiguración

– Para un paquete, la interfaz obtiene la dirección en la red del nododestino y los conmutadores encuentran el camino. En otros casos lainterfaz define el camino a seguir que se incluye en la cabecera delpaquete.

– Es posible implementar en la interfaz funciones colectivas decomunicación, como por ejemplo la difisión, evitando la implementacióna niveles superiores.

– Existen interfaces que reconfiguran el sistema de comunicación antefallos. Objetivo, poder conectar cualquier entrada con culaquier salida.Otra posibilidad es incluir la reconfiguración en los conmutadores.

Page 24: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

• Ubicación de la interfaz respecto al procesador– En el propio procesador

• Transferencia a velocidad de procesador• Posible para multiprocesadores memoria centralizada. No para

multicomputadores

– Conexión a cache• Interfaz incluida en el HW de la cache. Velocidad influida por

implementación coherencia cache y red interconexión nodos.Multiprocesadores memoria centralizada.

– Conexión a bus de sistema• Transferencias a velocidad de bus de sistema. Buena para

multiprocesadores con memoria distribuida.

– Conexión al bus de E/S• Transferencia entre memoria e interfaz es más lenta. Menor precio al

utilizarse estandares (PCI) en SAN y LAN. Mayor volumen de ventas.

Page 25: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������ ��������

Page 26: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������������������

• Elementos:– Conmutadores, enlaces y canales.

• Conmutador– Dirigen paquetes hacia nodo destino.

– Compuesto de : E/S, buffers de almacenamiento a las E/S, conmutadorinterno y encaminador

– Varias entradas y salidas. Permiten varias transferencias en paralelo.También es posible conexiones uno-a-todos y todos-a-uno paraimplementar difusiones o reducciones.

– Incluyen un buffer de almacenamiento de información de tránsito paracada entrada. Cola circular o lista enlazada.

– Conmutador interno conecta buffers E/S.

– Encaminador: Usa información cabecera paquete paraencaminar el paquete a una salida.

Page 27: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

�������� �������� ���������� ������������������

• Enlace y canales– Enlace: conectan dos componentes del sistema de comunicación

(conmutador-conmutador o conmutador-interfaz de red).

– Canal: conjunto formado por enlace y controladores en emisor yreceptor.

– Controlador enlace adecuan medio de transmisión usado a lainformación binaria a transmitir o recibir.

– Los enlaces en computadores paralelos: hilos eléctricos (aluminio sobresilicio, o cobre) o fibras ópticas. Las fibras ópticas permiten equilibrar elancho de banda de distancias cortas y largas en mayor medida que elcobre.

Page 28: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Evaluación sistema de comunicaciones:

– Prestaciones extremo-a-extremo

– Prestaciones globales

– Prestaciones adicionales

– Funcionalidad del sistema de comunicación

Page 29: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones extremo-a-extremo– Evalúan las prestaciones que ofrece el sistema de comunicaciones al

transferir un mensaje desde nodo/proceso fuente a nodo/procesodestino.

– Se pretende evaluar camino de comunicación entre nodos y bibliteca defunciones de acceso (MPI, PVM, OpenMP).

– Microbenchmark test ping-pong. Dos proceso, uno envía y otro recibe ydevuelve. Tiempos se miden en proceso que envía/recibe.

– Medidas:• Ancho de banda teórico. No experimental. Fast Ethernet = 100Mb/s

o 12.4 MB/s. Ancho de banda disponible o capacidad del canal.• Latencia total. Tiempo de transferencia de un mensaje de cierto

tamaño.

• Productividad. Tamaño mensaje transferido dividido por la latenciatotal. Ancho de banda efectivo.

• Ancho banda asintótico. Productividad límite al aumentar tamañomensage.

Page 30: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones extremo-a-extremo

Page 31: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones extremo-a-extremo

Page 32: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones extremo-a-extremo– Latencia total compuesta por:

• Tiempo de sobrecarga en el procesador nodo fuente. Tiempo queconsume el procesador para enviar mensaje. Puede ser tiempoconstante o variable (cuando se realizan copias en memoria). Estetiempo es perdido por el procesador para otras tareas.

• Tiempo procesamiento en hardware de la interfaz red del nodoorigen.

• Tiempo de transferencia en la red. Incluye el tiempo deencaminamiento.

• Tiempo de procesamiento en interfaz red y procesador destino.

Page 33: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones extremo-a-extremo

Page 34: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones extremo-a-extremo– Comunicaciones consecutivas limitadas por interfaz hardware

Page 35: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones globales– Las prestaciones extremo-a-extremo no evalúan el comportamiento del

sistema de comunicación completo. No evalúan múltiples transferenciassimultáneas (situación real al ejecutar una aplicación paralela).

– Medidas de latencias medias y ancho de banda global con laintervención de todos los nodos terminales de la red.

– Se inyecta tráfico en la red desde todos los nodos de entrada,generando nodos destinos con distribución uniforme (todos nodosmisma probabilidad ser destino), con distribución normal (nodoscercanos mas probabilidad de ser destinos) o con distribución nouniforme (hay canales más utilizados que otro: reducción opermutaciones).

– Latencia media: Suma de latencia de todos los mensajes divido por elnúmero de mensajes.

– Productividad global: Número de bits (bytes) que se transfieren porsegundo en toda la red. Se suele dividir por el número de nodos de lared con el fin de normalizar. Se obtiene a partir de la latencia.

Page 36: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones globales

– Conveniente conocer la productividad máxima. Se alcanza al saturarsela red, no se acepta más trafico y las latencias aumentan. Los sistemasdeben dejar de transmitir al acercarse a ese limite.

– Productividad solicitada: trafico generado por los nodos.

– Productividad aceptada: productividad que la red realmente lleva acabo.

– Antes del punto de saturación, las dos coinciden. Si la solicitada esmayor entonces estoy en saturación.

– El punto de saturación depende del patrón de comunicación utilizado(existen patrones donde ciertas líneas actúan como cuellos de botella)

Page 37: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones Adicionales

– Funcionalidad: Tipos de transferencias que implementa el sistema decomunicaciones (liberando al software). Transferencias uno-a-unosicronizadas, colectivas tipo difusión o reducción, etc

– Escalabilidad: Posibilidad de incrementar la prestación global delsistema al incluir nuevos nodos terminales. No siempre es posible.

– Tolerancia a fallos. Alta disponibilidad: ¿Es posible conectar todas lassalidas y entradas cuando falla algún componente del sistema decomunicaciones?. Recuperación mediante redundancia decomponentes.

– Calidad de servicio (QoS): Asegurar cierto nivel de servicio para ciertotipo de tráfico.

– Divisibilidad: Posibilidad de dividir el sistema paralelo en subsistemastambién paralelos. Tráfico de cierto usuario no afecte a las prestacionesobtenidas por otro. Subdivisión en subredesredes.

Page 38: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Prestaciones Adicionales

– Simplicidad: Diseño sencillo permite fácil comprensión y más asequibleexplotar prestaciones.

– Carga de trabajo: Si se conoce la carga de trabajo que va a soportar elcomputador, se pueden conocer los esquemas de comunicaciónusuales, tamaños mensajes, frecuencia, etc. Esto permite escogersistema de comunicaciones adecuado.

• Mucho cálculo y poca comunicación: LAN con nodos deprocesamiento potentes.

• Mucha comunicación y poco tamaño: Sistema de comunicación conpoca latencia y mucho ancho de banda. En clusters se puedeutilizar tecnología SAN.

– Prestaciones/precio. Utilizar componentes modulares disponiblescomercialmente en tiendas reduce el coste global.

Page 39: Conectan nodos en diferentes niveles del sistema (chip ...

����������������� ���� � ������ ����������

��������

����� ���������� ������������� �������� ��

• Servicios de comunicación colectivos.

– Un buen sistema de comunicación ofrece facilidades a los nivelessuperiores para implementar paso de mensajes, variables compartidaso ambas posibilidades.

– Ejemplo: Una difusión hacia 4 destinos a nivel de función de bibliotecaequivale a 4 primitivas ‘send’ con el correspondiente consume detiempo. Si el sistema de comunicaciones dispone de una API(Application Programming Interface) que implemente difusión, se evitala repetición de los 4 sends.