programacion en ambientes heterogeneos

57
Capítulo 8: Computación paralela en ambientes heterogéneos Alumno: Francisco Albert Albusac Ingeniería de Telecomunicación

Upload: itatitat

Post on 09-Jul-2015

1.253 views

Category:

Technology


2 download

DESCRIPTION

Como obtener el maximo rendimiento en computacion cuando el sistema es heterogeneo.

TRANSCRIPT

Page 1: Programacion en ambientes heterogeneos

Capítulo 8: Computación paralela en ambientes heterogéneos

Alumno: Francisco Albert Albusac

Ingeniería de Telecomunicación

Page 2: Programacion en ambientes heterogeneos

1

¿Por qué un tema 8?

Page 3: Programacion en ambientes heterogeneos

Diferentes sistemas cooperan a la hora de realizar una tarea con la máxima eficacia, sin embargo… estos tienen características diferentes (distinto rendimiento)

¿Cómo obtener entonces un buen rendimiento?

Existen sistemas heterogéneos dedicados y no dedicados

2

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 4: Programacion en ambientes heterogeneos

La representación interna de datos: Sobrecarga asociada a la conversión de los datos durante

el intercambio de mensajes entre máquinas.

Problemas en algoritmos de tipo numérico que demandanuna alta precisión.

Ejemplo: clusters que combinan arquitecturas de 32/64bits.

3

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 5: Programacion en ambientes heterogeneos

La memoria:

cuando las cantidades de memoria disponibles en cadamáquina no son las mismas o aún siendo las mismas, puedehaber diferencias en algunos niveles de la jerarquía dememoria.

4

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 6: Programacion en ambientes heterogeneos

La red:

diferentes capacidades de comunicación que tienen los distintos

procesadores.

Ts

tw

El envío de n datos punto a punto entre dos procesadores puede ser modelado mediante la fórmula:

tcom=tsi,j+twi,j n

5

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 7: Programacion en ambientes heterogeneos

El programa:

Una forma de caracterizarlo es mediante los tipos de buclesexistentes:

Bucles homogéneos o regulares: el número de operaciones poriteración es siempre el mismo y los procesadores realizansiempre la misma cantidad de trabajo.

Bucles heterogéneos o irregulares: el número de operacionespor iteración puede variar de una iteración a otra.

6

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 8: Programacion en ambientes heterogeneos

El software base:

En un sistema paralelo se pueden encontrar diferencias en:

Los sistemas operativos de las máquinas.

En el sistema de archivos.

En la comunicación entre procesos.

En los compiladores y lenguajes disponibles, etc.

7

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 9: Programacion en ambientes heterogeneos

Solución

Se asigna trabajo a cada sistema en función de sus características

8

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 10: Programacion en ambientes heterogeneos

Los beneficios que se obtienen:

Proporciona un mecanismo de

colaboración transparente entre

grupos dispersos, tanto

científicos como comerciales.

- Posibilita el funcionamiento de

aplicaciones a gran escala.

- Facilita el acceso a recursos

distribuidos desde nuestros

PCs.

9

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 11: Programacion en ambientes heterogeneos

Servicios requeridos:

servicio de autenticación

servicio de autorización

servicio de acceso a datos remotos

servicio de caracterización

servicios de monitorización

servicio de planificación de los recursos

10

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 12: Programacion en ambientes heterogeneos

Planificación de trabajos:

Proceso de toma de decisiones que tienen que ver con recursos sobre

múltiples dominios administrativos

Los planificadores grid tienen que tomar decisiones basándose en la

información de la que disponen

Selección de recursos (a veces denominada como descubrimiento de

recursos), Aasignación de los trabajos a estos recursos ( resource mapping

o matching)

11

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Etapas de planificación:

Descubrimiento de recursos

Selección de los mejores recursos

Reserva

Eejecución del trabajo

Page 13: Programacion en ambientes heterogeneos

12

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 1 GRID: LHC (CERN)- ¿QUE ES EL LHC?

LHC: es una red mundial que conecta miles de universidades y centros

de investigación de todo el mundo, y que permitirá distribuir toda esta información a los 7 mil físicos que conforman la red.

Se envian datos provenientes de 150 millones de sensores, los

cuales estudian 600 millones de colisiones de protones por

segundo

Se generan 15 millones de GB por año.

¿Cómo harán los físicos para analizar toda esta información? Divide y venceras-> grid

¿SE NECESITAN TANTOS GIGABYTES PARA DESCRIBIR UN

EXPERIMENTO DONDE SOLO INTERVIENEN DOS PARTICULAS?

Page 14: Programacion en ambientes heterogeneos

13

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 1 GRID: LHC (CERN)- ¿QUE ES EL LHC?

Page 15: Programacion en ambientes heterogeneos

14

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 1 GRID: LHC (CERN)-MODUS OPERANDI

• La LHC Computing Grid está dividida en Tiers, así como lo está el Internet.

• Tier 1, es decir, los servidores de mayor rango, son 9: AOL, AT&T, Global Crossing, Level3, Verizon Business, NTT Communications, Qwest, Cogent, SAVIS y SprintLink

• Éstos, a su a vez, distribuyen la información a más de 150 Tier 2, y de ahí la información pasa a los físicos

• Tier 0, que viene a ser el CERN Computer Center, que distribuye a su vez información a once Tier 1, localizados en América, Asia y Europa..

Page 16: Programacion en ambientes heterogeneos

15

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 1 GRID: LHC (CERN)-RESULTADOS

Por ejemplo, el 2006 se logró tranferir 3.3 millones de Gigabytes obtenido por el exprimento del CMS, llamado PhEDEx (PhysicsData Experiment), en un periodo de 91 días

Page 17: Programacion en ambientes heterogeneos

16

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 2: SETI@HOME

Page 18: Programacion en ambientes heterogeneos

16

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 3: BOINC (http://boinc.berkeley.edu)

Boinc es un programa que te permite donar tiempo de

inactividad de su ordenador a proyectos como

SETI@HOME

ClimatePrediction

Rosetta@home

World community Grid

Muchos otros

Despues de instalar BOINC puedes unir tu ordenador

a tantos de dichos proyectos como quiera

MULTIPLES VERSIONES PARA SISTEMAS OPERATIVOS.

ESPECIAL INTERES AQUELLAS VERSIONES CON GPU

ESPECIAL INTERES LINUX.

Page 19: Programacion en ambientes heterogeneos

A

A2

A4

A1

A3

Versión secuencial del programaFormado por 4 tareas

17

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

¿Cómo reparto las tareas?

Page 20: Programacion en ambientes heterogeneos

¿Como valorar el rendimiento?

Potencia computacional

Nivel de heterogeneidad

Speedup

Eficiencia

18

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 21: Programacion en ambientes heterogeneos

Potencia computacional Depende de las características físicas del procesador pero también de la tarea

que se esta ejecutando y del problema a resolver

Puede variar para diferentes aplicaciones en un mismo procesador

19

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 22: Programacion en ambientes heterogeneos

A

A2

A4

A1

A3

20

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Si(A)Veloc. En ejecutar A

Page 23: Programacion en ambientes heterogeneos

A

A2

A4

A1

A3

21

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Tsi(A)Tiempo en ejecutar A

Page 24: Programacion en ambientes heterogeneos

A

A2

A4

A1

A3

22

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

PciPotencia computacional

Tu vas a Recibir la Tarea mas pequeña

Page 25: Programacion en ambientes heterogeneos

Velocidad del procesador i al ejecutar A

Velocidad del mas rápido de todos al ejecutar A

Tiempo en ejecutar A para el mas rápido (menos tiempo)

Tiempo en ejecutar A para el procesador i

23

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

S

Ahora cada procesador podra recibir un tamaño del problema acorde a sus potencia computacional

Page 26: Programacion en ambientes heterogeneos

Nivel de heterogeneidad Refleja La varianza de las potencias computacionales de los elementos de

proceso.

Refleja los efectos dinámicos que se producen en el sistema, por ejemplo, cuandose introducen en el sistema elementos de proceso mucho más rápidos o muchomás lentos.

Nº de equipos

24

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 27: Programacion en ambientes heterogeneos

Speedup Si ejecuto el programa secuencial en paralelo, ¿Qué velocidad se

gana? -> Speedup (rendimiento de un algoritmo en paralelo)

Tiempo que ha tardado el procesador mas rápido en ejecutar A

Tiempo total que se ha tardado ejecutándose A en paralelo (con todos los procesadores: A1, A2, …)

25

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Vs

Page 28: Programacion en ambientes heterogeneos

Eficiencia: Indica porción de tiempo que los procesadores dedican a trabajo

útil

S(A): ganancia en velocidad de cómputo.

SpeedUp

Potencia computacional total

26

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 29: Programacion en ambientes heterogeneos

Ideas principales: A mayor heterogeneidad en el sistema:

Necesidad de mayor adaptación el algoritmo a la arquitectura para obtener un buen rendimiento.

A menor heterogeneidad en el sistema: No es necesario una adaptación del algoritmo a la arquitectura

27

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 30: Programacion en ambientes heterogeneos

Rendimiento obtenido por un programa paralelo no adaptado al sistema heterogéneo. Todos los procesadores reciben la misma carga (sean mas rápidos o lentos)

Rendimiento obtenido por un programa paralelo adaptado. Cada procesador recibe una carga de trabajo proporcional a su potencia computacional

Procesadores mas rápidos Procesadores mas lentos

28

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 31: Programacion en ambientes heterogeneos

Para este apartado vamos a suponer que nuestra plataformaheterogénea presenta:

-Heterogeneidad en las comunicaciones:

-Medio compartido (bus), acceso de los procesadores

de forma exclusiva.

-Heterogeneidad en la potencia computacional de loselementos de proceso.

29

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 32: Programacion en ambientes heterogeneos

30

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Tarea 3

vo

Page 33: Programacion en ambientes heterogeneos

Disponemos de p procesadores de los cuales del procesador 0 será el maestro y el resto esclavos. El algoritmo a utilizar será:

31

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 34: Programacion en ambientes heterogeneos

Sistema homogéneo.

P1

P2

P3

Tiempo

Procesadores

32

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Envio de tareas Envió de resultados

Maestro

Page 35: Programacion en ambientes heterogeneos

Caso 1: tres procesadores.

P1

P2

P3

Sobrecarga

Tiempo

Procesadores

Sobrecarga

33

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Envio de tareas Envió de resultados

Maestro

Page 36: Programacion en ambientes heterogeneos

Caso 2: tres procesadores.

P1

P2

P3

Tiempo

zzZZzzZ

Procesadores

Sobrecarga

34

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Envio de tareas Envió de resultados

Maestro

Page 37: Programacion en ambientes heterogeneos

Caso 3: tres procesadores.

P1

P2

P3

Tiempo

Procesadores

35

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Envio de tareas Envió de resultados

Maestro

Mas trabajo al mas rapido

Page 38: Programacion en ambientes heterogeneos

Conclusiones:

-Las tareas se deben generar y distribuir de forma dinámica,equilibrando la carga de trabajo.

-Se busca un mayor número de tareas que de procesadores,procesadores más potentes ejecutarán más tareas que losmenos potentes.

-Compromiso entre equilibrar la carga de trabajo y no generarun volumen excesivo de comunicaciones.

36

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 39: Programacion en ambientes heterogeneos

-La heterogeneidad en las comunicaciones:

-Utilizar procesadores muy potentes pero que están

geográficamente muy dispersos.

-Estos procesadores pueden estar conectados a través de una red decomunicaciones de bajas prestaciones.

37

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 40: Programacion en ambientes heterogeneos

38

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 41: Programacion en ambientes heterogeneos

Bases del pipeline:

Dividir la ejecución completa de la instrucción en varias actividades que se puedan realizar de forma solapada

Para resolver un problema es necesario particionar el conjunto de tareas en n partes, cada una de las cuales se denominan etapas del algoritmo.

Supondremos que tenemos tantos procesadores como etapas

39

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 42: Programacion en ambientes heterogeneos

Sistema homogéneo

40

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

t

Recepcionitems

Envio itemsProcesados

Page 43: Programacion en ambientes heterogeneos

Sistema heterogéneo¡Ocioso!

• Velocidad condicionada por la velocidad del procesador mas lento

41

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 44: Programacion en ambientes heterogeneos

Comparación:

42

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 45: Programacion en ambientes heterogeneos

El procesador mas lento no es el de la menor potenciacomputacional, sino el que mas tiempo invierto en recibir,computar y enviar -> Necesidad de equilibrar la carga:

Primer procesador: aquel con mayor coste de recepción porque(no recibe datos)

Ultimo procesador el de mayor coste de envío porque no envíadatos.

43

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 46: Programacion en ambientes heterogeneos

44

Sistema hibrido:

Entorno que combina arquitecturas de memoria compartida y de paso de mensajes ( para comunicación de procesos)….pero…¿y eso que es?

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 47: Programacion en ambientes heterogeneos

45

Recordemos:• SISD (Single

instruction single data)

• SIMD (Single

Instruction Multiple Data)

• MIMD (Multiple

Instruction Multiple Data).

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 48: Programacion en ambientes heterogeneos

46

Recordemos:

• Sistema de memoria compartida

• Sistema de memoria distribuida

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 49: Programacion en ambientes heterogeneos

47

Recordemos:

Paso de mensajes:

El paso de mensajes es una técnica empleada en programación concurrente para aportar sincronización entre procesos y permitir la exclusión mutua, de manera similar a como se hace con los semáforos, monitores, etc.

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 50: Programacion en ambientes heterogeneos

48

Paso de mensajes+Mem. compartida

• Cuando la comunicación tiene lugar entre diferentes nodos se utiliza la red

• Cuando la comunicación tiene lugar en el mismo nodo es posible optar por el uso de la red o hacerlo a travesde la memoria.

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 51: Programacion en ambientes heterogeneos

49

(mas rapida)

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

En mismo nodo (por la red)

En mismo nodo (por mem. compart.)

No hay ventaja de una sobre la otra

Page 52: Programacion en ambientes heterogeneos

50

Comunicación Internodo/intranodo mensajes largos

Internodo

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 53: Programacion en ambientes heterogeneos

Programación en sistemas híbridos:

Mediante el uso de programas de paso de mensajes puro que utilizanla librería MPI.

A través de esquemas de programación que combinan códigos MPI yOpenMP.

51

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Page 54: Programacion en ambientes heterogeneos

TEST

Page 55: Programacion en ambientes heterogeneos

TEST[V][F] La heterogeneidad se produce al sustituir un procesadorpor otro con características diferentes.[V][F] Un sistema heterogéneo se puede clasificar en dos clases:sistemas dedicados y sistemas no dedicados.[V][F] La potencia computacional siempre varia para diferentesaplicaciones en un mismo procesador debido al tamaño delproblema de la aplicación.[V][F] Si el nivel de heterogeneidad del sistema es alto, no esnecesario adaptar el algoritmo a la arquitectura.[V][F] La distintas potencias computacionales de losprocesadores que forman el sistema heterogéneo, no influyenen la capacidad de comunicarse entre ellos.

Page 56: Programacion en ambientes heterogeneos

TEST[V][F] Si el nivel de heterogeneidad del sistema es bajo, no valela pena adaptar el algoritmo a la arquitectura, ya que la mejoraes baja.[V][F] En un algoritmo pipeline, el primer procesador delpipeline debería ser aquel con menor coste de recepción y elúltimo el de mayor coste de envío.[V][F] La heterogeneidad asociada a la red viene dada por lasdiferentes capacidades de cómputo que tienen los distintosprocesadores.[V][F] Cuando el procesador más lento esta en los extremos delpipeline el tiempo de ejecución se reduce.[V][F] En sistemas híbridos, el uso de memoria compartida tieneun rendimiento beneficioso si se utilizan paquetes de pequeñotamaño.

Page 57: Programacion en ambientes heterogeneos

FIN