Sistemas de Multiprocesamiento - 5º IAEI SISTEMAS DE MULTIPROCESAMIENTO 5º Curso de Automática y Electrónica Industrial. 1 Aplicaciones con altas demandas de prestaciones Demandas de velocidad de procesamiento (nos centramos en esto) También demandas en cuanto a capacidad de almacenamiento 2 Tema 1 1 Sistemas de Multiprocesamiento - 5º IAEI Aplicaciones con altas demandas de procesamiento. Multiples campos de aplicación tanto en ciencias como en ingeniería. Destacan las aplicaciones de simulación de modelos complejos. Algunos ejemplos de aplicación: Modelado de la evolución global del clima en periodos largos de tiempo. La evolución de las galaxias. La estructura atómica de los materiales. La eficiencia de la combustión en motores. El flujo del aire sobre la superficie de vehículos. Resultados de impactos. El comportamiento de dispositivos electrónicos microscópicos. 3 Aplicaciones con altas demandas de procesamiento. En Ingeniería: Industrias del petróleo (modelado de reservas) Automoción(simulaciones de impactos, fricción, eficiencia en la combustión), Aeronáutica (análisis aerodinámico, eficiencia de los motores, estructura mecánica, compatibilidad electromagnética), Farmacéutica (modelado molecular) Electrónica (CAD). 4 Tema 1 2 Sistemas de Multiprocesamiento - 5º IAEI Areas de aplicación frente a nº de sistemas 5 Dos posibilidades para incrementar la velocidad Aumentar la velocidad de un procesador Dedicar muchos procesadores a una tarea 6 Tema 1 3 Sistemas de Multiprocesamiento - 5º IAEI Ventajas de un sistema paralelo En cuanto al precio: >> Utilizar 10 procesadores Coste de incrementar la velocidad de un procesador x 10 En cuanto al tiempo de desarrollo: Para conseguir un procesador 10 veces más rápido que el actual más rápido es necesario esperar unos 5 años. 7 Incremento de la velocidad de los microprocesadores La velocidad de los microprocesadores ha crecido de forma exponencial. 8 Tema 1 4 Sistemas de Multiprocesamiento - 5º IAEI Ley de Moore Predicción de Gordon Moore en 1965 (revisada en 1975). El número de transistores en un chip se duplica aproximadamente cada 2 años. Evidencia empírica Se incrementa la densidad de integración y la superficie del chip. 9 Ley de Moore • Nº de componentes se duplica (aprox.) cada dos años. 10 Tema 1 5 Sistemas de Multiprocesamiento - 5º IAEI Consecuencias de la ley de Moore El coste se reduce exponencialmente (aprox. a la mitad cada dos años). Se reduce el coste de procesamiento y de almacenamiento. Se produce la revolución de la informática. Incremento exponencial en la velocidad de procesamiento: Incremento de la velocidad de reloj Incremento del número de bits Incremento del número de elementos de procesamiento. 11 Ley de Moore (Frecuencia de reloj para los microprocesadores de Intel) 12 Tema 1 6 Sistemas de Multiprocesamiento - 5º IAEI Ley de Moore (Datos para los microprocesadores de Intel) Microprocesador Año de introducción "4004" 1971 "8008" 1972 "8080" 1974 "8086" 1978 "Intel286" 1982 "Intel386" 1985 "Intel486" 1989 "Pentium" 1993 "Pentium II" 1997 "Pentium III" 1999 "Pentium 4" 2000 "Xeon" 2001 "Itanium" 2001 "Itanium 2" 2002 "Pentium 4 Extreme Edition" 2003 "Itanium 2 (9MB cache)" 2004 Transistores (Miles) 2.300 2.500 4.500 29.000 134.000 275.000 1200.000 3100.000 7500.000 9500.000 42000.000 42000.000 25000.000 220000.000 Frecuencia de reloj (MHz) 0.4 0.8 2 10 12 16 25 66 300 500 1500 1700 800 1000 178000.000 3200 592000.000 1600 Fuente: www.intel.com 13 Límites de la Ley de Moore Posible límite financiero: el coste de una nueva planta de fabricación de chips se duplica en cada generación. Las prestaciones de los procesadores se alejan del crecimiento exponencial desde el año 2002. 14 Tema 1 7 Sistemas de Multiprocesamiento - 5º IAEI Número de componentes frente a prestaciones La ley de Moore crece suave hasta el 2002, año en el que la distancia entre el crecimiento de las prestaciones y el crecimiento en el número de transistores comienza a aumentar. 15 Incremento exponencial de la velocidad de procesamiento de los ordenadores Mediante el uso de sistemas de procesamiento en paralelo 16 Tema 1 8 Sistemas de Multiprocesamiento - 5º IAEI Evolución de las prestaciones 17 Clasificación de los ordenadores Punto de vista del procesamiento en paralelo 18 Tema 1 9 Sistemas de Multiprocesamiento - 5º IAEI Clasificación de Flynn Basado en el concepto de corrientes de instrucciones y de datos SISD (Single Instruction stream over a Single Data stream): Única corriente de Instrucciones sobre una Única corriente de Datos. SIMD (Single Instruction stream over Multiple Data streams): Única corriente de Instrucciones sobre Múltiples corrientes de Datos. MISD (Multiple Instruction streams over a Single Data stream): Múltiples corrientes de Instrucciones sobre una Única corriente de Datos. MIMD (Multiple Instruction streams over Multiple Data stream): Múltiples corrientes de Instrucciones sobre Múltiples corriente de Datos. Número de máquinas paralelas existentes MIMD > SIMD > MISD 19 SISD (Single Instruction Stream Over A Single Data Stream ) Única corriente de Instrucciones sobre una Única corriente de Datos. Son las máquinas secuenciales convencionales. I : Corriente de Instrucciones UC : Unidad de Control D: Corriente de Datos UC : Unidad de Procesamiento UM: Unidad de Memoria E/S: Entrada y Salida I E/S UC I UP D UM 20 Tema 1 10 Sistemas de Multiprocesamiento - 5º IAEI SIMD (Single Instruction Stream Over Multiple Data Streams ) Única corriente de Instrucciones sobre Múltiples corrientes de Datos. Procesadores Matriciales (arrays) (SIMD) Procesadores vectoriales Arquitecturas de aplicación específica EP : Elemento Procesador ML : Memoria Local D EP1 I ML1 D I UC Programa procedente del host D EPn MLn D Conjuntos de Datos procedentes del host Arquitectura SIMD de memoria distribuida 21 MISD (Multiple Instruction Streams Over A Single Data Streams) Multiples corrientes de Instrucciones sobre una única corriente de Datos Array sistólico : arrays de procesadores (MISD) Arquitecturas de aplicación específica I I UC1 Memoria (Programa, Datos) D I UP1 UC2 UCn I D I D UP2 UPn E/S D Arcquitectura MISD (array sistólico) Tema 1 22 11 Sistemas de Multiprocesamiento - 5º IAEI MIMD (Multiple Instruction Streams Over Multiple Data Stream) MIMD Ordenadores paralelos de propósito general I I E/S UC1 D UP1 Memoria Compartida E/S I UCn D UPn I Arquitectura MIMD de memoria compartida 23 Clasificación de los MIMD UMA (Uniform Memory Access) Multiprocesadores (Un único espacio de memoria) NUMA (Non Uniform Memory Access) MIMD Nodo de grano Medio Multicomputadores (Múltiples espacios de memoria) Nodo de grano Fino 24 Tema 1 12 Sistemas de Multiprocesamiento - 5º IAEI Evolución de los sistemas de procesamiento en paralelo Reflejado en la historia de los sistemas de altas prestaciones. Asociación con distintos grados de paralelismo. Desde sistemas con pocos procesadores de tipo SIMD hasta sistemas con un número elevado de procesadores y de tipo MIMD. 25 Evolución de los sistemas de procesamiento en paralelo. Tiempos preliminares: Desde 1972 hasta 1982. Primer periodo: Primera mitad de los años 80. Segundo periodo: Segunda mitad de los años 80. Tercer periodo: Primera mitad de los años 90. Cuarto periodo: Segunda mitad de los años 90. 26 Tema 1 13 Sistemas de Multiprocesamiento - 5º IAEI Evolución . . . Tiempos preliminares: Desde 1972 hasta 1982. Primeros ordenadores vectoriales Cray-1 Construido por Cray Research Inc. en 1976. 160 MFlops (64 bits) y 8 Mbytes de memoria principal. Costó 8 Millones de dólares. 1 procesador con varias unidades funcionales vectoriales y escalares. 8 Registros vectoriales de 64 × 64 bits. 27 Evolución … Primer periodo Primera mitad de los años 80. Ordenadores vectoriales de grandes prestaciones. Dos tipos: Arquitectura paralela: Varios procesadores. Memoria compartida. Cray -X MP(Hasta: 4 proc.vec., 128 MB) Con muchas unidades aritméticas: Fujitsu VP200. 28 Tema 1 14 Sistemas de Multiprocesamiento - 5º IAEI Evolución … Segundo periodo Segunda mitad de los años 80. Dos líneas: Evolución de los ordenadores vectoriales: Cray -Y MP, Fujitsu VP2600 Máquinas masivamente paralelas (MPP): Son de tipo SIMD CM - 2 29 Evolución … Tercer periodo Primera mitad de los años 90. Sistemas vectoriales multiprocesadores (multivector processor): Memoria compartida: Cray J90 Memoria distribuida: VPP500 Sistemas MPP: SIMD: MP - 2 MIMD: Multicomputadores, Intel Paragon, CM - 5 30 Tema 1 15 Sistemas de Multiprocesamiento - 5º IAEI Evolución … Cuarto periodo Segunda mitad de los años 90. Sistemas no escalables: Multiprocesadores vectoriales de memoria compartida: Cray T90 Multiprocesadores vectoriales de memoria distribuida: Fujitsu VPP700 Sistemas escalables: Multiprocesadores: Cray T3D y Cray T3E Multicomputadores MPP: IBM SP2. 31 Evolución … Últimos años Información de la lista Top500 Evolución hacia sistemas escalables Tres tipos de sistemas todos de tipo MIMD: Cluster: Constelaciones: MPP: Multicomputador. Pocos Proc/nodo. MareNostrum Multicomputador. Nº Proc./nodo > Nº nodos Sistemas masivamente paralelos. Multicomputadores y Multiprocesadores de tipo NUMA con hardware para la coherencia de cachés. 32 Tema 1 16 Sistemas de Multiprocesamiento - 5º IAEI Evolución … Últimos años Nº de Sistemas por arquitecturas en la lista Top 500 de 2004. 33 Carácterísticas sistemas MIMD Multiples corrientes de Instrucciones sobre Múltiples corrientes de Datos. Múltiples tareas simultáneamente. Sincronización y comunicación entre las tareas en función del hardware y el software. Dos tipos: Multiprocesadores: Un único espacio de memoria Multicomputadores: Múltiples espacios de memoria 34 Tema 1 17 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesadores Características Un único espacio de memoria. Comunicación y sincronización mediante variables globales en memoria compartida. Tipos: UMA (Uniform Memory Access) Acceso Uniforme a Memoria NUMA (Non-Uniform Memory Access) Acceso No Uniforme a Memoria. COMA (Cache Only Memory Access) Acceso a Memoria de Sólo Caché. CC-NUMA (Cache Coherent Non-Uniform Memory Access) Acceso No Uniforme a Memoria con Coherencia de Cachés. 35 Multiprocesadores UMA (Uniform Memory Access) Acceso uniforme a memoria. Todos los procesadores acceden con misma latencia a la memoria. SMP (Symmetric Multiprocessor) Multiprocesador simétrico. Sistemas multiprocesadores vectoriales. Sistema de interconexión de red dinámica: Bus, Crossbar... Sun Fire V490 4 procesadores UltraSPARC IV de doble núcleo, 64 GB de memoria común. 595 SGI Challenge, IBM System P5 36 Tema 1 18 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesadores UMA (Uniform Memory Access) Memoria Red dinámica P P P 37 Multiprocesadores NUMA (Non-Uniform Memory Access) Acceso No Uniforme a Memoria. Memoria distribuida compartida. Hardware para espacio único de memoria. Distinta latencia según que el acceso sea a memoria local o remota. KSR 2 de Kendall Square Research 38 Tema 1 19 Sistemas de Multiprocesamiento - 5º IAEI Cray T3E 39 Multiprocesadores NUMA (Non-Uniform Memory Access) P Mem Caché P Mem Caché Red de interconexión Mem Caché P Mem Este multiprocesador incluye hardware apropiado para acceso a memoria remota en un único espacio de memoria. Caché P 40 Tema 1 20 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesadores NUMA Tipo MPP (Procesadores Masivamente Paralelos) BM : Bus de Memoria NIC : Circuito de Interfase de Red (Network Interface Circuitry) BM MB P/C P/C ML ML NIC NIC Red de diseño específico 41 Multiprocesador COMA (Cache Only Memory Access) Acceso a Memoria de Sólo Caché. Tipo particular de multiprocesador NUMA. No hay jerarquía de memoria en cada nodo procesador. Acceso a memoria caché remota mediante directorios de caché distribuidos. KSR 1 de Kendall Square Research. 42 Tema 1 21 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesador COMA (Cache Only Memory Access) DIR : Directorio de Caché Proc Proc Caché Caché DIR DIR Red de interconexión 43 Multiprocesadores CC-NUMA (Cache Coherent Non-Uniform Memory Access) Acceso No Uniforme a Memoria con Coherencia de Cachés. Memoria distribuída y directorios de caché. Todas las copias de caché deben mantenerse consistentes. Ejemplos: Stanford Dash, MIT Alewife. 44 Tema 1 22 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesador SMP (Symetric Multiprocessor) •Multiprocesador simétrico. •Multiprocesador UMA pero con memoria caché Memoria Red dinámica Caché Caché Caché P P P 45 Intel Pentium Pro Quad 46 Tema 1 23 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesadores Multinúcleo Varios procesadores por chip ≠ Varias unidades funcionales. Sistemas MIMD multiprocesadores. 47 Mapa de memoria multiprocesador Todos los procesadores acceden a la memoria compartida pero puede haber memoria local privada. 48 Tema 1 24 Sistemas de Multiprocesamiento - 5º IAEI Multiprocesadores: Ventajas: Programación muy similar a la programación multihilo en un uniprocesador. Para programas que utilizan mucho la memoria compartida el uso adecuado de los datos globales en la caché local puede acelerar mucho la ejecución. Los procesadores comerciales actuales suelen dispones de extensiones hardware que soportan la coherencia de memoria caché, abaratando la construcción de multiprocesadores de pocos procesadores. 49 Multiprocesadores: Desventajas: Coste del hardware, especialmente del sistema de coherencia de memoria caché. Dificultad en la escalabilidad especialmente por la coherencia de la memoria caché. 50 Tema 1 25 Sistemas de Multiprocesamiento - 5º IAEI Multicomputadores Características Múltiples espacios de memoria. Sistemas con memoria distribuida Comunicación y sincronización mediante paso de mensajes. Clasificación en función del tamaño de grano: Multicomputadores de grano grueso. Multicomputadores de grano medio. Multicomputadores de grano fino. 51 Multicomputadores Características 2 Sistemas MIMD formados por nodos. Nodo: Ordenador individual uniprocesador de tipo SISD o SIMD o multiprocesador cuya memoria compartida es la local del nodo. 52 Tema 1 26 Sistemas de Multiprocesamiento - 5º IAEI Multicomputadores M P P M P P ··· P Red de interconexión para paso de mensajes (Malla, anillo, toro, hipercubo, Ciclos de cubos conectados, etc.) P P M M ··· Nodo M P M ·· ·· M M P M P M 53 Generaciones de Multicomputadores 1ª Generación (1983-87): Tecnología de procesadores en tarjeta. Paso de mensajes controlado por software. Redes en hipercubo. Multicomputadores de grano grueso: Caltech Cosmic, Intel iPSC/1, NCUBE. 2ª Generación (1988-1992): Arquitecturas de red en malla, encaminadores de mensajes hardware. Entorno de programación para procesamiento distribuido de grano medio. Ejemplos: Intel Paragon, Parsys SuperNode 1000. 3ª Generación (1993-1997): Incluyen el procesador y el control de la comunicación dentro del mismo chip VLSI permitiendo ejecuciones de grano fino. Ejemplos: MIT J-Machine, Caltech Mosaic. 54 Tema 1 27 Sistemas de Multiprocesamiento - 5º IAEI Multicomputadores de 1ª generación. Estructura de paso de mensajes: Cada nodo está conectado a sus vecinos en cada dimensión mediante “FIFOs”. Para enviar un mensaje a un nodo no vecino los nodos intermedios deben reenviarlo. 55 Intel iPSC/1 Multicomputador de 1ª generación. Año 1985. Computación de grano grueso. Un host controla un hipercubo de nodos Posibles hipercubos de 5, 6 y 7 dimensiones. (32, 64 y 128 nodos) Host y nodos basados en el 80286 a 8 MHz. Comunicación punto a punto mediante mensajes controlados por el SO. 56 Tema 1 28 Sistemas de Multiprocesamiento - 5º IAEI Multicomputadores de 2ª generación. La comunicación la controlan los encaminadores sin que los mensajes deban entrar en los nodos intermedios. Paragon Mesh Routing Chips Red de interconexiones del Intel Paragon. 57 Intel Paragon •Año 1991. •Multicomputador heterogéneo sin host. •Malla 2D con particiones de E/S(Intel 386), procesamiento (Intel i860XP) y servicio. •Mensajes controlados por encaminadores hardware en la red. 58 Tema 1 29 Sistemas de Multiprocesamiento - 5º IAEI Multicomputadores de 3ª generación. Multicomputadores de grano fino. Encaminador integrado físicamente (mismo chip) y lógicamente con el procesador. Acoplamiento más fuerte con la red de interconexión. Procesadores específicos. 59 Multicomputadores: Comparación nodos de grano medio y nodos de grano fino. 60 Tema 1 30 Sistemas de Multiprocesamiento - 5º IAEI MIT J-Machine Malla en toro tridimensional de 8 x 8 x 16 nodos. El núcleo de cada nodo es el chip MDP (Message Driven Processor). Incluye el encaminador y un microprocesador con instrucciones añadidas para el paso de mensajes. Ejemplo en ensamblador para enviar un mensajes de 4 palabras: SEND R0,0 ; Envía la dirección de red (prioridad 0). SEN2 R1,R2,0 ; Cabecera y receptor (prioridad 0). SEND3E R3,[3,A3],0 ; Selector y final mensaje (prioridad 0). 61 Multicomputadores actuales Clusters-NOW: Cluster de tipo red de estaciones de trabajo. Los nodos y la red son sistemas comerciales. Constelaciones: Tipo particular de cluster donde los nodos son sistemas SMP con nº de procesadores > nº nodos Multicomputadores MPP: Multicomputadores masivamente paralelos con elementos específicos (no comerciales). 62 Tema 1 31