Departamento de Automática



Documentos relacionados
GRADO EN INGENIERÍA DE COMPUTADORES

Plataformas paralelas

SISTEMAS DE MULTIPROCESAMIENTO

15. Arquitectura de los multiprocesadores. 16. Multiprocesadores de memoria compartida. 17. Multicomputadores.

4. Programación Paralela

Nicolás Zarco Arquitectura Avanzada 2 Cuatrimestre 2011

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

UNIVERSIDAD TECNOLOGICA ECOTEC DIEGO BARRAGAN MATERIA: Sistemas Operativos 1 ENSAYO: Servidores BLADE

Introducción a las redes de computadores

Unidad 1: Conceptos generales de Sistemas Operativos.

Concentradores de cableado

REDES INFORMÁTICAS REDES LOCALES. Tecnología de la Información y la Comunicación

TEMA 4: SISTEMAS MULTIPROCESADOR (MEMORIA COMPARTIDA) BLOQUE 2 Arquitecturas de computación paralela

Javier Pérez Mato µp para Comunicaciones Curso 2008/09 ETSIT - ULPGC

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

TEMA 2 Componentes y estructura de una red de telecomunicación.

General Parallel File System

Capítulo 5. Cliente-Servidor.

CAPAS DEL MODELO OSI (dispositivos de interconexión)

Arquitectura de sistema de alta disponibilidad

Redes de Altas Prestaciones

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA INGENIERÍA EN INFORMÁTICA. ARQUITECTURA DE COMPUTADORES II 19 de junio de 2007

FUNDAMENTOS DE REDES Y CONECTIVIDAD REDES INFORMATICAS

Topologías. Principios de comunicaciones de datos

:Arquitecturas Paralela basada en clusters.

Tema 1. Conceptos fundamentales de los Sistemas Operativos

FUNDAMENTOS DE COMPUTACIÓN PARA CIENTÍFICOS. CNCA Abril 2013

Global File System (GFS)...

Redes Informáticas Temas: Concepto de Red de computadoras, Propósito de la Red, Clasificación según su cobertura geográfica. Topologías.

TELECOMUNICACIONES Y REDES

Conmutación. Conmutación telefónica. Justificación y definición.

DISCOS RAID. Se considera que todos los discos físicos tienen la misma capacidad, y de no ser así, en el que sea mayor se desperdicia la diferencia.

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

18 y 19 Sistemas de Archivos Distribuidos y Tarea 05

Redes de Comunicaciones. José Manuel Vázquez Naya

(decimal) (hexadecimal) 80.0A.02.1E (binario)

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

El Modelo de Referencia OSI

BUSES. Una comunicación compartida Un conjunto de cables para comunicar múltiples subsistemas. Memoria

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

REDES DE COMPUTADORAS REDES DE COMPUTADORAS CARACTERISTICAS DE LAS REDES 02/01/2012 ING. BOLIVAR ALCOCER

Redes de Altas Prestaciones

TOPOLOGÍA. Bus lineal. Topología anillo. Topología doble anillo. Topología estrella. Jerarquía. Malla. Hibridas.

Sistemas de archivos distribuidos. Alvaro Ospina Sanjuan

Redes (elaboración de cables y teoría de redes)

REDES INFORMATICAS: Protocolo IP

Introducción a Computación

Introducción a los protocolos de enrutamiento dinámico

1. Introducción 2. Historia 3. Características clave 4. Cuestiones de diseño

Efectos de los dispositivos de Capa 2 sobre el flujo de datos Segmentación de la LAN Ethernet

LAS TIC. Cintyha Lizbeth Gómez Salazar. Lic. Cruz Jorge Fernández Aramburo. 0 1 / 0 8 /

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Universidad de Antioquia Juan D. Mendoza V.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDAD No. 2 REPASO DE REDES INFORMATICAS

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Capítulo 12: Indexación y asociación

TEMA 4. Unidades Funcionales del Computador

RAID 0 : No redundante

Introducción Componentes Básicos Concurrencia y Paralelismo Ejemplos Síntesis Lecturas Recomendadas. Arquitectura de Computadoras

picojava TM Características

Sistemas Operativos. Sesión 5: Protocolos de enrutamiento vector distancia

Conceptos de redes. LAN (Local Area Network) WAN (Wide Area Network)


TEMA: Las Redes. NOMBRE Torres Castillo Ana Cristina. PROFESOR: Genaro Israel Casas Pruneda. MATERIA: Las TICS en la educación.

1.- FUNCION DE UNA RED INFORMATICA

Laboratorio de Diseño de Sistemas Digitales

Autenticación Centralizada

Transporte de Datos. Profesora María Elena Villapol. Comunicación de Datos

Enrutamiento Básico Talleres para ISP/IXP

CLASIFICACION DE LAS REDES POR TOPOLOGIAS DE RED

Figura 1.4. Elementos que integran a la Tecnología de Información.

Unidad I Fundamentos de Sistemas Distribuidos. M.C. Juan Carlos Olivares Rojas

EXPEDIENTE: 2/2015 ADQUISICIÓN E INSTALACIÓN DE INFRAESTRUCTURA CIENTÍFICA Y TECNOLÓGICA PARA CÉNITS PLIEGO DE PRESCRIPCIONES TÉCNICAS

Dispositivos de Red Hub Switch

Redes I Clase # 3. Licda. Consuelo E. Sandoval

Topologias de Redes. En la actualidad, existen cinco topologías de red básicas: Malla, Estrella, Anillo, Árbol y Bus.

CAPITULO V. REDES INDUSTRIALES

4.1 Introducción a los protocolos por vector distancia.

Redes Informáticas. Redes Informáticas Prof. Annabella Silvia Lía Llermanos

TOPOLOGÍAS DE RED. TOPOLOGÍA FÍSICA: Es la forma que adopta un plano esquemático del cableado o estructura física de la red.

CAPÍTULO 3 TOPOLOGÍA DE RED MESH

Qué es el enrutamiento estático?

Microsoft HPC. V 1.0 José M. Cámara (checam@ubu.es)

Introducción HPC. Curso: Modelización y simulación matemática de sistemas. Esteban E. Mocskos (emocskos@dc.uba.ar) Escuela Complutense Latinoamericana

BUSES GRUPO 8 Miguel París Dehesa Ricardo Sánchez Arroyo

10 razones para cambiarse a un conmutador IP

Líneas de Comunicación Remota

Facultad de Ingeniería

SISTEMAS DE INFORMACIÓN II TEORÍA

Internet, conceptos básicos

WAN y Enrutamiento WAN

Tema 3. Buses. Arquitectura de computadores. Plan 96. Curso Jerarquía de buses

Capas del Modelo ISO/OSI

Memoria Compartida Distribuida (DSM) Sistema de Archivos

Organización de Computadoras. Turno Recursantes Clase 8

Capítulo 1. 10I 1.0 Introducción 1.1 Diseño de LAN 1.2 El entorno conmutado. Presentation_ID 2

Transcripción:

Departamento de Automática Tema 4 Arquitecturas Paralelas Prof. Dr. José Antonio de Frutos Redondo Dr. Raúl Durán Díaz Curso 2010-2011

Tema 4. Arquitecturas Paralelas Arquitecturas paralelas. En qué consiste una arquitectura paralela? Evolución y convergencia de las arquitecturas paralelas. Redes de interconexión. Redes de interconexión estáticas. Redes de interconexión dinámicas. Coherencia en memoria cache. Fuentes de incoherencia. Protocolos basados en escucha. Protocolos basados en directorios. 4. Arquitecturas paralelas 2

Sistemas vectoriales instalados (85-93) 4. Arquitecturas paralelas 3

Base instalada de Crays (76-85) 4. Arquitecturas paralelas 4

Arquitecturas Paralelas Comparativa Vectoriales-MPP LINPACK (GFLOPS) 10,000 1,000 100 10 1 Xmp /416(4) MPP peak CRAY peak CM-2 Ymp/832(8) CM-200 ipsc/860 ncube/2(1024) Paragon XP/S MP (6768) Paragon XP/S MP (1024) CM-5 T3D Delta T932(32) Paragon XP/S C90(16) ASCI Red 0.1 1985 1987 1989 1991 1993 1995 1996 Cray vectoriales (paralelos) : X-MP (2-4) Y-MP (8) C-90 (16) T94 (32) Desde 1993, Cray produce también MPP (T3D, T3E) 4. Arquitecturas paralelas 5

Sistemas vectoriales por fabricante Total NEC Hitachi Fujitsu CDC Cray 0 200 400 600 1992 1991 1990 1989 1988 1987 1986 4. Arquitecturas paralelas 6

Arquitecturas Paralelas Lista TOP500 de los computadores más rápidos Number of systems 350 313 300 250 200 187 150 100 50 239 198 63 284 MPP PVP SMP 319 110 106 106 73 0 11/93 11/94 11/95 11/96 4. Arquitecturas paralelas 7

Tipos de CPU en la lista TOP500 4. Arquitecturas paralelas 8

Arquitecturas en la lista TOP500 4. Arquitecturas paralelas 9

Siglas en Arquitecturas Paralelas SMP: Symmetric Multiprocessor. MPP: Massively Parallel Processor. Típicamente el número de procesadores es superior a 100. Cluster: Conjunto de computadores completos conectados por una red comercial. Cluster Beowulf: Cluster de sistema operativo libre y componentes comerciales ordinarios. Constellation: Cluster de nodos donde cada uno de ellos es de tipo SMP. Grid: Colección de recursos autónomos geográficamente distribuidos, acoplados mediante la infraestructura de comunicaciones, y débilmente acoplados. 4. Arquitecturas paralelas 10

Familias de CPUs en la lista TOP500 4. Arquitecturas paralelas 11

Rendimiento de los sistemas en TOP500 En la siguiente gráfica, se muestra el rendimiento de los sistemas colocados en la posiciones 1, 10, 100, 500 de la lista TOP500. También se muestra el crecimiento acumulado. La curva del sistema número 500 crece con un factor de 1,9 anual. El resto de curvas muestran un crecimiento anual en un factor de 1,8. Es una especie de ley de Moore! 4. Arquitecturas paralelas 12

Rendimiento de los sistemas en TOP500 4. Arquitecturas paralelas 13

Arquitecturas Paralelas Criterios antiguos Arquitecturas paralelas ligadas a modelos de programación. Arquitecturas divergentes, sin ningún patrón de crecimiento. Arrays Sistólicos Flujo de datos Aplicaciones Sistema Software Arquitectura SIMD Memoria compartida Paso de mensajes 4. Arquitecturas paralelas 14

Arquitecturas Paralelas Criterios actuales Extensión de la arquitectura de computadores para soportar comunicaciones y cooperación. ANTES: Conjunto de instrucciones. AHORA: Comunicaciones. Hay que definir: Abstracciones, fronteras, primitivas (interfaces) Estructuras que implementan los interfaces (hw o sw) Compiladores, librerías y OS son cuestiones importantes en nuestros días. 4. Arquitecturas paralelas 15

Arquitecturas Paralelas Recordemos que Un computador paralelo es un conjunto de elementos de proceso que se comunican y cooperan para resolver rápidamente grandes problemas. Podemos decir que la Arquitectura Paralela es: Arquitectura convencional + Arquitectura de comunicación 4. Arquitecturas paralelas 16

Arquitecturas Paralelas Arquitectura de comunicación User/System Interface + Implementación User/System Interface: Primitivas de comunicación a nivel de usuario y a nivel de sistema. Implementación: Objetivos: Estructuras que implementan las primitivas: hardware o OS Capacidades de optimización. Integración en los nodos de proceso. Estructura de la red. Rendimiento Amplia aplicación Fácil programación Ampliable Bajo coste 4. Arquitecturas paralelas 17

Arquitecturas Paralelas Modelos de programación Especifica las comunicaciones y la sincronización. Ejemplos: Multiprogramación: no hay comunicación o sincronismo. Paralelismo a nivel de programa. Memoria compartida: como un tablón de anuncios. Paso de mensajes: como cartas o llamadas telefónicas, punto a punto. Paralelismo de datos: varios agentes actúan sobre datos individuales y luego intercambian información de control antes de seguir el proceso. El intercambio se implementa con memoria compartida o con paso de mensajes. 4. Arquitecturas paralelas 18

Arquitecturas Paralelas Niveles de abstracción en la comunicación CAD Multiprogramming Database Scientific modeling Parallel applications Shared address Compilation or library Message passing Communication hardware Physical communication medium Data parallel Operating systems support Programming models Communication abstraction User/system boundary Hardware/software boundary 4. Arquitecturas paralelas 19

Arquitecturas Paralelas Evolución de los modelos arquitectónicos Modelo de programación, comunicación y organización de la máquina componen la arquitectura. Espacio de memoria compartida. Paso de mensajes. Paralelismo de datos. Otras: Flujo de datos. Arrays sistólicos. 4. Arquitecturas paralelas 20

Memoria Compartida Cualquier procesador puede referenciar directamente cualquier posición de memoria. La comunicación se realiza implícitamente por medio de cargas y almacenamientos. Ventajas: Localización transparente. Programación similar a tiempo compartido en uniprocesadores. Excepto que los procesos se ejecutan en diferentes procesadores. Buen rendimiento en distribución de carga. 4. Arquitecturas paralelas 21

Memoria Compartida Proporcionado en un amplio rango de plataformas. Históricamente sus precursores datan de los años 60. Desde 2 procesadores a cientos de procesadores. Conocidas como máquinas de memoria compartida. Ambigüedad: la memoria puede estar distribuida en los procesadores. 4. Arquitecturas paralelas 22

Memoria Compartida Proceso: espacio de direcciones virtuales más una o varias hebras. Parte de las direcciones son compartidas por varios procesos. Las escrituras en posiciones compartidas son visibles a las otras hebras (también en otros procesos). Es la extensión natural del modelo uniprocesador: memoria convencional; operaciones atómicas especiales para la sincronización. El sistema operativo usa la memoria compartida para coordinar procesos. 4. Arquitecturas paralelas 23

Memoria Compartida P 0 Store Direcciones Físicas en la máquina Espacio de direcciones virtuales. Conjunto de procesos con comunicación por medio de memoria compartidas P n pr i vat e P 1 P 2 Load P n Espacio de direcciones compartidas Espacio de direcciones privadas Direcciones Físicas compartidas P2 pr i vat e P1 pr i vat e P0 pr i vat e 4. Arquitecturas paralelas 24

Memoria Compartida Hardware de comunicación Mem Mem Mem Mem Interconnect Processor Interconnect I/O ctrl Processor I/O ctrl I/O devices Aumento independiente de capacidades de memoria, de I/O o de proceso añadiendo módulos, controladores o procesadores. 4. Arquitecturas paralelas 25

Memoria Compartida Estrategia de comunicaciones en Mainframe : Red de barras cruzadas. Inicialmente limitado por el coste de los procesadores. Después, por el coste de la red. El ancho de banda crece con p. Alto coste de ampliación; uso de redes multietapa. I/O I/O P P C C M M M M 4. Arquitecturas paralelas 26

Memoria Compartida Estrategia de comunicaciones en Minicomputer : Casi todos los sistemas con microprocesadores usan bus. Muy usados para computación paralela. Llamados SMP, symmetric multiprocessor. El bus puede ser un cuello de botella. Problema de la coherencia en cache. Bajo coste de ampliación I/O C I/O C M M $ $ P P 4. Arquitecturas paralelas 27

Memoria Compartida CPU Interrupt controller Bus interface 256-KB L 2 $ P-Pro bus (64-bit data, 36-bit addr ess, 66 MHz) PCI I/O cards PCI bridge PCI bus P-Pro module PCI bridge PCI bus P-Pro module P-Pro module Memory controller MIU 1-, 2-, or 4-way interleaved DRAM Ejemplo: Intel Pentium Pro Quad. Coherencia y multiproceso integrados en el modulo procesador. 4. Arquitecturas paralelas 28

Memoria Compartida Ejemplo: SUN Enterprise. 16 tarjetas de cualquier tipo: procesadores + memoria, o I/O. El acceso a la memoria es por bus, simétrico. P P $ $ $ 2 $ 2 Mem ctrl Bus interface/switch Gigaplane bus (256 data, 41 addr Bus interface 100bT, SCSI SBUS SBUS SBUS 2 FiberChannel CPU/mem cards ess, 83 MHz) I/O car ds 4. Arquitecturas paralelas 29

Memoria Compartida Otras opciones en comunicación: M M M $ P Network $ P UMA o Dance hall $ M $ M $ Problemas de interconexión: coste (barras cruzadas) o ancho de banda (bus). Dance-hall: ampliable a menor coste que en barras cruzadas. Latencia en acceso a memoria uniforme, pero alta. NUMA (non-uniform memory access): P Network Construcción de un simple espacio de memoria con latencias diferentes. COMA: Arquitectura de memoria a base de caches compartidas. P P NUMA M $ P 4. Arquitecturas paralelas 30

Memoria Compartida Ejemplo: Cray T3E Exter nal I/O Ampliable a 1024 procesadores, enlaces de 480MB/s. Switch El controlador de memoria genera las peticiones para posiciones no locales. No tiene mecanismo de hardware para coherencia (SGI Origin y otros sí lo proporcionan) XY P $ Mem ctrl and NI Z Mem 4. Arquitecturas paralelas 31

Paso de Mensajes Construidos por medio de computadores completos, incluyendo I/O. Comunicación por medio de operaciones explícitas de I/O. Modelo de programación: acceso directo sólo a direcciones privadas (memoria local), comunicación por medio de mensajes (send/receive) Diagrama de bloques similar al NUMA Pero las comunicaciones se integran a nivel de I/O. Como redes de workstations (clusters), pero mayor integración. Más fáciles de construir y ampliar que los sistemas NUMA. Modelo de programación menos integrado en el hardware. Librerías o intervención del sistema operativo. 4. Arquitecturas paralelas 32

Paso de Mensajes send especifica el buffer a transmitir y el proceso receptor. recv especifica el proceso emisor y el buffer de almacenamiento. Son copias memoria-memoria, pero se necesitan los nombres de procesos. Opcionalmente se puede incluir el destino en el envío y unas reglas de identificación en el destino. En la forma simple, el emparejamiento se consigue por medio de la sincronización de sucesos send/recv. Existen múltiples variantes de sincronización. Grandes sobrecargas: copia, manejo de buffer, protección. 4. Arquitecturas paralelas 33

Paso de Mensajes Dir X Espacio local del proceso Proceso P Send X, Q, t Match Receive, Y,P, t Espacio local del proceso Proceso Q Direcciones Y 4. Arquitecturas paralelas 34

Paso de Mensajes Evolución en las máquinas de Paso de Mensajes Primeras máquinas: FIFO en cada enlace. Modelo de programación muy próximo al hw; operaciones simples de sincronización. Reemplazado por DMA, permitiendo operaciones no bloqueantes. Buffer de almacenamiento en destino hasta recv. Disminución de la influencia de la topología (enrutado por hw). Store&forward routing: importa la topología. Introducción de redes multietapa. Mayor coste: comunicación nodo red. Simplificación de la programación 001 011 101 111 000 010 100 110 4. Arquitecturas paralelas 35

Paso de Mensajes General inter connection network formed fr om 8-port switches Realizado a base de estaciones RS6000. Ejemplo: IBM SP-2 Power 2 CPU Memory bus Micr ochannel bus I/O L 2 $ Memory contr oller i860 IBM SP-2 node 4-way interleaved DRAM DMA NI NIC DRAM 4. Arquitecturas paralelas 36

Paso de Mensajes Sandia s Intel Paragon XP/S-based Super 2D grid network with pr ocessing node attached to every switch computer Ejemplo Intel Paragon. i860 L 1 $ i860 L 1 $ Memory bus (64-bit, 50 MHz) Mem ctrl 4-way interleaved DRAM Driver Intel Paragon node DMA NI 8 bits, 175 MHz, bidir ectional 4. Arquitecturas paralelas 37

La Convergencia de las Arquitecturas La evolución y el papel del software ha difuminado las fronteras entre memoria compartida y paso de mensajes. send/recv soporta memoria compartida vía buffers. Se puede construir un espacio global de direcciones en Paso de Mensajes. También converge la organización del hardware. Mayor integración para Paso de Mensajes (menor latencia, mayor ancho de banda) A bajo nivel, algunos sistemas de memoria compartida implementan paso de mensajes en hardware. Distintos modelos de programación, pero también en convergencia. 4. Arquitecturas paralelas 38

Paralelismo de Datos Modelo de programación: Las operaciones se ejecutan en paralelo en cada elemento de la estructura. Una hebra de control, ejecución paralela. Un procesador asociado a cada elemento. Modelo arquitectónico: Array de muchos procesadores simples, baratos y con poca memoria. Asociados a un procesador de control que emite las instrucciones. Fácil sincronización de comunicaciones. Contr ol processor PE PE PE PE PE PE PE PE PE 4. Arquitecturas paralelas 39

Paralelismo de Datos EVOLUCION Rígida estructura de control (SIMD en la taxonomía de Flynn) Populares cuando el coste ahorrado con la centralización era alto. En los 60, cuando la CPU era un armario. Reemplazados por vectoriales a mediados de los 70. Más flexibles y fáciles de manejar Revivido en los 80 cuando aparecen 32-bit datapath slices. Aniquilados por los modernos microprocesadores. Más razones para su desaparición: Las aplicaciones regulares son fáciles de ejecutar por su localidad en otro tipo de procesadores. MIMD son eficaces y más generales en el paralelismo de datos. El modelo de programación converge con SPMD (single program multiple data). 4. Arquitecturas paralelas 40

Flujo de Datos a = (b +1) (b c) d = c e f = a d Token stor e Waiting Matching 1 b + Program stor e Instruction fetch a f c Execute d Token queue e Dataflow graph Form token Network Network Network 4. Arquitecturas paralelas 41

Flujo de Datos EVOLUCIÓN Claves: Capacidad para el nombramiento de instrucciones, sincronización, planificación dinámica. Problemas: Manejo de complejas estructuras de datos, como arrays. Complejidad de la memoria de emparejamiento y la unidades de memoria. Convergencia al uso de procesadores y memoria convencional. Soporte para conjuntos de hebras ejecutadas en distintos procesadores. Uso de memoria compartida. Progresiva separación entre el modelo de programación y el HW. 4. Arquitecturas paralelas 42

Interconexión de sistemas paralelos La misión de la red en una arquitectura paralela es transferir información desde cualquier fuente a cualquier destino minimizando la latencia y con coste proporcionado. La red se compone de: nodos; conmutadores; enlaces. La red se caracteriza por su: topología: estructura de la interconexión física; enrutado: que determina las rutas que los mensajes pueden o deben seguir en el grafo de la red; estrategia de conmutación: de circuitos o de paquetes; control de flujo: mecanismos de organización del tráfico. 4. Arquitecturas paralelas 43

Interconexión de sistemas paralelos Clasificación de las redes por su topología. Estáticas: conexiones directas estáticas punto a punto entre los nodos; fuerte acoplamiento interfaz de red-nodo; los vértices del grafo de la red son nodos o conmutadores; se clasifican a su vez: simétricas: anillo, hipercubo, toro; no simétricas: bus, árbol, malla. 4. Arquitecturas paralelas 44

Interconexión de sistemas paralelos Clasificación de las redes por su topología. Dinámicas: los conmutadores pueden variar dinámicamente los nodos que interconectan. Se clasifican a su vez: monoetapa; multietapa: bloqueante (línea base, mariposa, baraje); reconfigurable (Beneš); no bloqueante (Clos). 4. Arquitecturas paralelas 45

Interconexión de sistemas paralelos Parámetros característicos de una red: Tamaño de la red: número de nodos que la componen. Grado de un nodo: número de enlaces que inciden en el nodo. Diámetro de la red: es el camino mínimo más largo que se puede encontrar entre dos nodos cualesquiera de la red. Simetría: una red es simétrica si todos los nodos son indistinguibles desde el punto de vista de la comunicación. 4. Arquitecturas paralelas 46

Redes estáticas Red lineal Arbol Anillo Malla Estrella Red sistólica Cubo-3 Totalmente conexa Anillo cordal 4. Arquitecturas paralelas 47

Redes estáticas Tipo de red lineal anillo totalmente conexa arbol (h = log 2 N + 1) estrella malla - 2D (r x r) hipercubo n grado 2 2 N 1 3 N 1 4 n diámetro N 1 N/2 1 2(h 1) 2 2(r 1) n enlaces N 1 N N(N 1)/2 N 1 N 1 2N 2r nn/2 simetría no sí sí no no no sí 4. Arquitecturas paralelas 48

Redes estáticas Hipercubo 3D ciclo-conexo 4. Arquitecturas paralelas 49

Redes estáticas Ejemplo de conexiones en un hipercubo 3 010 110 100 011 000 001 111 101 Conexión de nodos que se diferencian en el bit menos significativo 000 001 010 011 100 101 110 111 Conexión de nodos que se diferencian en el segundo bit 000 001 010 011 100 101 110 111 Conexión de nodos que se diferencian en el bit más significativo 000 001 010 011 100 101 110 111 4. Arquitecturas paralelas 50

Redes dinámicas Redes dinámicas: son redes cuya configuración puede modificarse. Hay dos tipos: monoetapa. multietapa. Las redes monoetapa realizan conexiones entre elementos de proceso en una sola etapa. Puede que no sea posible llegar desde cualquier elemento a cualquier otro, por lo que puede ser necesario recircular la información (=>redes recirculantes) Las redes multietapa realizan conexiones entre los elementos de proceso en más de una etapa. 4. Arquitecturas paralelas 51

Redes dinámicas Redes de interconexión monoetapa 4. Arquitecturas paralelas 52

Redes dinámicas Red de barras cruzadas: permite cualquier conexión. EP0 EP1 EPn EP0 EP1 EPn EP0 EP1 EPn M0 M1 Mm 4. Arquitecturas paralelas 53

Redes dinámicas Redes de interconexión (multietapa) Cajas de conmutación a 0 a 1 a 0 a 1 Paso directo Difusión inferior b 0 b 1 b 0 b 1 Las cuatro configuraciones posibles de una caja de conmutación de 2 entradas. a 0 a 1 a 0 a 1 Cruce Difusión superior b 0 b 1 b 0 b 1 4. Arquitecturas paralelas 54

Redes dinámicas bloqueantes Redes multietapa bloqueantes. Se caracterizan porque no es posible establecer siempre una nueva conexión entre un par fuente/destino libres, debido a conflictos con las conexiones en curso. Generalmente existe un único camino posible entre cada par fuente/destino. 4. Arquitecturas paralelas 55

Redes dinámicas bloqueantes Red de línea base: Red de línea base 8 x 8 4. Arquitecturas paralelas 56

Redes dinámicas bloqueantes Red mariposa: 4. Arquitecturas paralelas 57

Redes dinámicas bloqueantes Red baraje perfecto: Barajado perfecto 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 Barajado perfecto inverso 000 000 001 001 010 010 011 011 100 100 101 101 110 110 111 111 4. Arquitecturas paralelas 58

Redes dinámicas reconfigurables Redes multietapa reconfigurables. Se caracterizan porque es posible establecer siempre una nueva conexión entre un par fuente/destino libres, aunque haya conexiones en curso, pero puede hacerse necesario un cambio en el camino usado por alguna(s) de ellas (reconfiguración). Interesante en procesadores matriciales, en donde se conoce simultáneamente todas las peticiones de interconexión. 4. Arquitecturas paralelas 59

Redes dinámicas reconfigurables Red de Beneš: Red de Benes 8 x 8 4. Arquitecturas paralelas 60

Redes dinámicas reconfigurables La red de Beneš se puede construir recursivamente: Red de Benes 4 x 4 Red de Benes 4 x 4 Red de Benes 8 x 8 4. Arquitecturas paralelas 61

Redes dinámicas no bloqueantes Redes dinámicas no bloqueantes. Se caracterizan porque es posible establecer siempre una nueva conexión entre un par fuente/destino libres sin restricciones. Son análogas a los conmutadores de barras cruzadas, pero pueden presentar mayor latencia, debido a las múltiples etapas. 4. Arquitecturas paralelas 62

Redes dinámicas no bloqueantes Red de Clos: n x m r x r m x n 1 1 1 1 n 2 r 2 m 2 r Red de Clos 1 n 4. Arquitecturas paralelas 63

Coherencia en Memoria Cache Estructuras comunes de la jerarquía de memoria en multiprocesadores Memoria cache compartida. Memoria compartida mediante bus. Interconexión por medio de red (dance-hall) Memoria distribuida. 4. Arquitecturas paralelas 64

Coherencia en Memoria Cache Cache compartida Pequeño número de procesadores (2-8) Fue común a mediados de los 80 para conectar un par de procesadores en placa. Posible estrategia en chip multiprocesadores. P1 Memoria cache (Entrelazada) Pn Memoria principal (Entrelazada) 4. Arquitecturas paralelas 65

Coherencia en Memoria Cache Compartición por medio de bus. Ampliamente usada en multiprocesadores de pequeña y mediana escala (20-30) Forma dominante en las máquinas paralelas actuales. Los microprocesadores modernos están dotados para soportar protocolos de coherencia en esta configuración. P1 Memoria cache bus Pn Memoria cache Memoria principal 4. Arquitecturas paralelas 66

Coherencia en Memoria Cache Salón de baile Fácilmente escalable. Estructura simétrica UMA. Memoria demasiado lejana especialmente en grandes sistemas. P1 Memoria cache Memoria principal Pn Memoria cache Red de interconexión Memoria principal 4. Arquitecturas paralelas 67

Coherencia en Memoria Cache Memoria distribuida Especialmente atractiva par multiprocesadores escalables. Estructura no simétrica NUMA. Accesos locales rápidos. Memoria principal P1 Memoria cache Red de interconexión Memoria principal Pn Memoria cache 4. Arquitecturas paralelas 68

Coherencia en Memoria Cache El problema de la coherencia Datos actualizados en memoria principal y las caches particulares. Monoprocesadores: Incoherencia en distintos niveles. Operaciones de I/O. Multiprocesadores: Incoherencia en distintos niveles Incoherencia en el mismo nivel 4. Arquitecturas paralelas 69

Coherencia en Memoria Cache Fuentes de incoherencia: Los datos compartidos. La migración de procesos. Las operaciones de entrada-salida. 4. Arquitecturas paralelas 70

Fuentes de incoherencia Datos compartidos en caches de escritura directa. P0 P1 P2 Pn Memoria principal Memoria cache 4. Arquitecturas paralelas 71

Fuentes de incoherencia Datos compartidos en caches de post-escritura. P0 P1 P2 Pn Memoria principal Memoria cache 4. Arquitecturas paralelas 72

Fuentes de incoherencia Migración de procesos en caches de escritura directa. P0 P1 P2 Pn Memoria principal Memoria cache 4. Arquitecturas paralelas 73

Fuentes de incoherencia Migración de procesos en caches de post-escritura. P0 P1 P2 Pn Memoria principal Memoria cache 4. Arquitecturas paralelas 74

Fuentes de incoherencia Operaciones de entrada salida Memoria principal P0 P1 P2 Pn Entrada Salida (post-escritura) Memoria cache 4. Arquitecturas paralelas 75

Coherencia en Memoria Cache Posibles soluciones Caches locales. Memoria cache compartida. Caches privadas con protocolos de escucha. Caches privadas con directorio compartido. 4. Arquitecturas paralelas 76

Coherencia en Memoria Cache Políticas de mantenimiento de coherencia Invalidar. Actualizar. X' I P P X X P P X' I P X X P I P X P X' X' X' X' P P P X' P Invalidar Actualizar 4. Arquitecturas paralelas 77

Protocolos de escucha Protocolos snoopy Sistemas de memoria basados en bus. Escucha de las operaciones (snoop) Se deben transmitir las operaciones de lectura y escritura. Las operaciones de cambio de bloque no influyen en el estado del bloque en otros procesadores. 4. Arquitecturas paralelas 78

Protocolos de escucha Protocolos snoopy Caches de escritura directa. R(j) W(j) inválido R(i), W(i) W(j) válido R(i) R(j) W(i) 4. Arquitecturas paralelas 79

Protocolos de escucha Protocolos snoopy Caches de post-escritura MSI. R(i) W(i) M W(j) W(i) R(j) W(i) I R(i) S W(j) R(i) R(j) R(j), W(j) 4. Arquitecturas paralelas 80

Protocolos de escucha Protocolos snoopy Caches de post-escritura MESI. R(i) W(i) M E R(i) R(j) R(j) W(i) S W(i) W(i) R(j) S R(i) S W(j) W(j) I R(i) S R(i) W(j) R(j) W(j) 4. Arquitecturas paralelas 81

Protocolos basados en directorios Protocolos basados en directorios Multiprocesadores con red de interconexión. Dificultades de broadcast y su escalabilidad. Directorio: guarda la información relativa al estado del bloque de cache. Directorios centralizados y directorios distribuidos. 4. Arquitecturas paralelas 82

Protocolos basados en directorios Fallo de lectura en estado modificado. Bloque Mem. Directorio 4 P1 Cache 1 2 3 Bloque Mem. P3 Cache Bloque Mem. Directorio P2 Cache 4 Directorio 4. Arquitecturas paralelas 83

Protocolos basados en directorios Fallo de escritura en estado compartido. Bloque Mem. Directorio P1 Cache 4 4 Bloque Mem. Directorio P3 Cache 3 3 1 2 Bloque Mem. Directorio P4 Cache Bloque Mem. Directorio P2 Cache 4. Arquitecturas paralelas 84

Protocolos basados en directorios Estructura del directorio (directorios completos) 0 Dirty 0 1 0 P0 P1 P2 Pm 1 Bloque Mem. Directorio bloque P Cache 4. Arquitecturas paralelas 85

Protocolos basados en directorios Estructura del directorio (directorios limitados) 0 Dirty log 2 P I1 I2 In Bloque Mem. Directorio P Cache bloque 4. Arquitecturas paralelas 86

Protocolos basados en directorios Estructura del directorio (directorios encadenados) 0 Dirty Bloque Mem. Directorio log 2 P P P Cache bloque Bloque Mem. Directorio P Cache Bloque Mem. Directorio P Cache FC FC FC Bloque Mem. Directorio P Cache 4. Arquitecturas paralelas 87