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.

Conectan nodos en diferentes niveles del sistema (chip

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

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.