View
3
Download
0
Category
Preview:
Citation preview
����������������� ���� � ������ ����������
��������
���������
• 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.
����������������� ���� � ������ ����������
��������
���������
• 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.
����������������� ���� � ������ ����������
��������
��� ������
����������������� ���� � ������ ����������
��������
�������� ������ ����������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
�������� ������ ����������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
�������� ������ ����������� �������� ��
• 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)
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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)
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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).
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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)
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������ ��������
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������������������
• 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.
����������������� ���� � ������ ����������
��������
�������� �������� ���������� ������������������
• 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.
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• Evaluación sistema de comunicaciones:
– Prestaciones extremo-a-extremo
– Prestaciones globales
– Prestaciones adicionales
– Funcionalidad del sistema de comunicación
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• Prestaciones extremo-a-extremo
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• Prestaciones extremo-a-extremo
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• Prestaciones extremo-a-extremo
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• Prestaciones extremo-a-extremo– Comunicaciones consecutivas limitadas por interfaz hardware
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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)
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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.
����������������� ���� � ������ ����������
��������
����� ���������� ������������� �������� ��
• 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.
Recommended