? Procesadores cada vez más eficientes:
2-6 Gflop/s
? Dos mercados:
– gama “alta”
IBM ? Power4, 5, PowerPC, Cell
Intel / HP ? Itanium 2 , IA64
– gama “baja”
Intel ? Pentium 4, Xeon
AMD ? Opteron
Un procesador
Itanium (IA-64)
IBM Power4/5
IBM Power4/5
IBM Power4/5
? La busca de paralelismo a nivel de instrucción tiene un límite, marcado en muchas ocasiones por la propia aplicación (+ hard, + soft).
Existen múltiples problemas para los que un solo procesador no es suficiente, por más que éste sea cada vez más rápido.
Y en otros muchos casos, es posible reducir sensiblemente el tiempo de ejecución.
Necesidad de Paralelismo
? Ejemplo “simple”: meteorología
atmósfera dividida en “puntos” de 1x1x1 km3 ? 1010 puntos
300 operaciones c.f. / elemento ? 3 x 1012 f
cada 10 minutos (144 veces día) ? 5 x 1014 f
una máquina a 1.000 MF/s ? 5 x 105 s
? simular una interacción … 6 días.
Además, el tamaño de las tareas a ejecutar puede crecer todo lo que queramos.
Necesidad de Paralelismo
? Solución: Paralelismo
Utilizar P (muchos) procesadores que cooperen en la resolución de un problema, para ir P veces más rápido.
+ tolerancia a fallos + throughput + entrada/salida
Necesidad de Paralelismo
(Gp:) Array
Vectorial
(Gp:) MP
(Gp:) P
(Gp:) C
(Gp:) bus
(Gp:) memoria compartida
(Gp:) SMP
(Gp:) MPP/NUMA
Clusters
(Gp:) memoria distribuida
(Gp:) P
(Gp:) C
(Gp:) M
(Gp:) red general
(Gp:) 1
(Gp:) 1
(Gp:) N
(Gp:) N
(Gp:) SIMD
(Gp:) MIMD
(Gp:) SISD
(Gp:) fl. instrucciones
(Gp:) flujo datos
Clasificación
? Dos arquitecturas básicas:
1. Memoria compartida (shared memory):
El espacio de direccionamiento es único. Todos los procesadores pueden acceder a todas las posiciones de memoria. La comunicación entre procesos es a través de variables compartidas.
2. Memoria Distribuida (distributed memory):
Cada procesador tiene un espacio de direccionamiento privado. No existen posiciones de memoria comunes. La comunicación entre procesos es mediante paso de mensajes.
Sistemas SIMD
Página siguiente |