Download SISTEMAS DE MULTIPROCESAMIENTO Aplicaciones con altas

Document related concepts
no text concepts found
Transcript
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