22
Universidad de Murcia 1 Computación de Altas Prestaciones Sistemas computacionales Javier Cuenca, Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo

Computación de Altas Prestaciones Sistemas …dis.um.es/~domingo/apuntes/CAP/0809/sistemas.pdf · Uso de varios procesadores trabajando juntos para resolver una ... Procesadores

  • Upload
    ngocong

  • View
    221

  • Download
    2

Embed Size (px)

Citation preview

Universidad de Murcia 1

Computación de Altas PrestacionesSistemas computacionales

Javier Cuenca, Domingo GiménezDepartamento de Informática y Sistemas

Universidad de Murcia, Spaindis.um.es/~domingo

2

Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal:

Introducción a la Programación Paralela

Paraninfo Cengage Learning, 2008

Capítulo 1: Introducción a la programación paralela

Capítulo 2: Modelado de computadores paralelos

Universidad de Murcia 3

Motivación Problemas de alto coste computacional: 

Necesario abordarlos con sistemas computacionales de altas prestaciones

Con programas paralelos eficientes Con nuevos sistemas:

Resolución de problemas de mayor dimensión Resolución de problemas previamente 

intratables

Universidad de Murcia 4

Contenido y organización Planificado:

Sistemas computacionales (1Te+0 Pr+3 Tr) Paradigmas de programación paralela             

(1 Te+0 Pr+0 Tr) Organización:

Presentación+sistemas+paradigmas:  1.5 horas Trabajo sin evaluar: lectura sobre distintos 

sistemas 

Universidad de Murcia 5

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 (Modelo de Memoria Compartida, OpenMP)

por una red de interconexión (Modelo de Paso de Mensajes, MPI)

Universidad de Murcia 6

Necesidad de la programación paralela Límites de sistemas secuenciales:

Memoria Velocidad Incremento coste superior al de prestaciones

Solución paralelismo: Dificultades físicas: integración, velocidades acceso Dificultades lógicas: uso, programación

Universidad de Murcia 7

Necesidad de la programación paralela Sistemas paralelos permiten resolver:

Problemas mayores Más rápidamente

Aplicación en: Problemas de alto coste computacional Problemas de gran dimensión Problemas de tiempo real

Universidad de Murcia 8

Aspectos de la programación paralela Dificultades físicas:

Mayor velocidad proceso que acceso a memoria y comunicación

Integración: Límites velocidad de la luz Disipación de calor

Universidad de Murcia 9

Aspectos de la programación paralela Ley de Moore: el número de procesadores integrados se 

duplica cada 18 mesesProcesadores Intel

Paralelismo

10

Programación paralela Paralelismo en monoprocesadores:

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 ...

Universidad de Murcia 11

Programación paralela Posibilidades de computación paralela:

Varios procesadores en un chip Procesadores embebidos LAN de altas prestaciones Procesadores gráficos Computación de altas prestaciones Computación grid Computación web Computación ubicua Cloud computing Móviles ...

Universidad de Murcia 12

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?

13

Modelos de computadores paralelos

Procesador

Memoria

SECUENCIAL (SISD)Modelo Von Neuman

Instrucciones:de memoria a procesador

Datos:entre memoriay procesador

14

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

15

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

16

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

17

Sistemas de memoria compartida

Uniform memory access (UMA)Cada procesador tiene acceso uniformea memoria. También se llamansymmetric multiprocessors (SMPs)

P P P P

BUS

M em ory

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

Me m o ry

Ne tw o rk

P P P P

BUS

Me m o ry

18

Sistemas de memoria compartida

NUMA: SGI Origin 2000

19

Sistemas de memoria distribuida

anilloDiámetro: p/2 Malla

Diámetro: √p

Servidorde ficheros

Estaciones de trabajo

red

Hipercubo

20

Evolución de los sistemas paralelos

TOP500

21

En Murcia

– Personal:• Uso de OpenMP y MPI en monoprocesadores, bipros, quad

– Empresas y Administración:• Redes o multiprocesadores de reducido tamaño• Uso para manejo de volúmenes de datos grandes, sin programación paralela• Uso de programas paralelos desarrollados por otros• ¿Ibarabi?: supercomputador MC + clusters, en 2009, computación científica+empresas

– Universidad:• Cartagena: híbrido MC+MD, 12 nodos de 8 núcleos + 2 nodos de 16 núcleos• Murcia: híbrido MC+MD, ¿12 nodos de 8 núcleos?• Resolución de problemas científicos, uso mínimo de paralelismo

– Grupos de investigación:• Redes de ordenadores, para computación científica o paralelismo• PCGUM: PC bipro, cluster: 3 bipro con duales, 2 bipros; computación paralela y 

heterogénea 

22

Sistemas actuales y futuros

• Multicore– Actual: Bipro y Quad Intel, 

también SUN, CELL, AMD, ...• Procesadores específicos

– Gráficos GPU– De tratamiento de señal DSP– FPGA y heterogéneos 

embebidos– De juegos PS3

• Computadores heterogéneos– CPU+GPU– Futuro: Plataformas 

híbridas Itanium2+Xeon con MC

– Futuro: Híbridos con 16000+16000

• Distribuidos– Redes, Grid, Web– P2P, móviles