14 de diciembre de 2005 Universidad de Murcia 1
Modelos de computadores paralelos
Domingo GiménezDepartamento de Informática y Sistemas
Universidad de Murcia, Spaindis.um.es/~domingo
14 de diciembre de 2005 Universidad de Murcia 2
Contenido Programación paralela Modelos de computadores
paralelos Sistemas de memoria compartida Sistemas de memoria distribuida Evolución de los sistemas paralelos
14 de diciembre de 2005 Universidad de Murcia 3
Programación paralela Uso de varios procesadores trabajando juntos
para resolver una tarea común: Cada procesador trabaja en una porción del
problema Los procesos pueden intercambiar datos, a
través de la memoria o por una red de interconexión
14 de diciembre de 2005 Universidad de Murcia 4
Programación paralela
Posibilidades: Segmentación encauzada. Pipeline Jerarquía de memorias División de memoria en bloques Paralelismo a nivel de instrucción Ejecución fuera de orden Especulación Múltiples unidades funcionales Unidades vectoriales Procesadores de E/S Varios procesadores en un chip LAN de altas prestaciones ...
14 de diciembre de 2005 Universidad de Murcia 5
Programación paralela
Concurrente: varios procesos trabajando en la resolución de un problema
Heterogénea: procesadores con distintas características
Adaptativa: durante la ejecución el programa se adapta al estado del sistema
Distribuida: procesadores geográficamente distribuidos
En la web: necesidad de herramientas específicas
¿Cuántica o biológica?
14 de diciembre de 2005 Universidad de Murcia 6
Programación paralela
Límites de sistemas secuenciales: Memoria Velocidad
Sistemas paralelos permiten resolver: Problemas mayores Más problemas Más rápidamente
14 de diciembre de 2005 Universidad de Murcia 7
Modelos de computadores paralelos
Procesador
Memoria
SECUENCIAL (SISD)
Instrucciones:de memoria a procesador
Datos:entre memoriay procesador
14 de diciembre de 2005 Universidad de Murcia 8
Modelos de computadores paralelos
SIMD. Una única Unidad de Control. La misma instrucción se ejecuta síncronamente
por todas las unidades de procesamiento.
Procesador Procesador Procesador
programa
instrucciones
datos
14 de diciembre de 2005 Universidad de Murcia 9
Modelos de computadores paralelos
MIMD. Cada procesador ejecuta un programa diferente
independientemente de los otros procesadores.
Procesador
programa
instrucciones
datos
Procesador
programa
instrucciones
datos
Procesador
programa
instrucciones
datos
14 de diciembre de 2005 Universidad de Murcia 10
Modelos de computadores paralelos
Memoria compartida – un único espacio de memoria. Todos los procesadores tienen acceso a la memoria a través de una red de conexión: - Bus - Red de barras cruzadas - Red multietapa
Memoria distribuida – cada procesador tiene su propia memoria local. Se utiliza paso de mensajes para intercambiar datos.
P P P P P P
B U S
M e m o r y
M
P
M
P
M
P
M
P
M
P
M
P
Network
14 de diciembre de 2005 Universidad de Murcia 11
Sistemas de memoria compartida
Uniform memory access (UMA)Cada procesador tiene acceso uniforme a memoria. También se llamansymmetric multiprocessors (SMPs)
P P P P
BUS
Memory
Non-uniform memory access (NUMA)El tiempo de acceso depende de dónde están los datos. El acceso local es más rápido. Más fácil y barato de escalarque SMPs
P P P P
BUS
Memory
Network
P P P P
BUS
Memory
14 de diciembre de 2005 Universidad de Murcia 12
Sistemas de memoria compartida
NUMA: SGI Origin 2000
14 de diciembre de 2005 Universidad de Murcia 13
Sistemas de memoria distribuida
anilloDiámetro: p/2 Malla
Diámetro: p
Servidorde ficheros
Estaciones de trabajo
red
Hipercubo
14 de diciembre de 2005 Universidad de Murcia 14
Sistemas de memoria distribuida
El HPC 160 (prometeo.sait.upct.es) es un
sistema paralelo de memoria distribuida con un
total de 16 procesadores (4 nodos
tetraprocesadores) a 1 GHz, con 8MB de caché
de nivel 2, 16 GBytes de memoria y unos 300
GBytes de almacenamiento en disco. Su
rendimiento teórico o pico es de 32 Gflops.
14 de diciembre de 2005 Universidad de Murcia 15
Sistemas de memoria distribuida
El cluster consta de 20 nodos biprocesadores Pentium Xeon a 2 Ghz, interconectados
mediante una red SCI con topología de Toro 2D en malla de 4x5. Cada nodo consta de
1 Gigabyte de memoria RAM. 19 los nodos están disponibles para cálculo científico. El
front-end es el punto de entrada al cluster y no se utiliza en ejecuciones de trabajos al
cluster.
14 de diciembre de 2005 Universidad de Murcia 16
Evolución de los sistemas paralelos
TOP500