Programacion en ambientes heterogeneos

Preview:

DESCRIPTION

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

Citation preview

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

Alumno: Francisco Albert Albusac

Ingeniería de Telecomunicación

1

¿Por qué un tema 8?

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

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

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

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

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

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

Solución

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

8

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

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

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

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?

13

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

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

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

16

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Ejemplo 2: SETI@HOME

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.

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?

¿Como valorar el rendimiento?

Potencia computacional

Nivel de heterogeneidad

Speedup

Eficiencia

18

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

A

A2

A4

A1

A3

20

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Si(A)Veloc. En ejecutar A

A

A2

A4

A1

A3

21

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Tsi(A)Tiempo en ejecutar A

A

A2

A4

A1

A3

22

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

PciPotencia computacional

Tu vas a Recibir la Tarea mas pequeña

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

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

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

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

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

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

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

30

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Tarea 3

vo

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

Sistema homogéneo.

P1

P2

P3

Tiempo

Procesadores

32

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Envio de tareas Envió de resultados

Maestro

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

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

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

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

-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

38

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

Sistema homogéneo

40

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

t

Recepcionitems

Envio itemsProcesados

Sistema heterogéneo¡Ocioso!

• Velocidad condicionada por la velocidad del procesador mas lento

41

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

Comparación:

42

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

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

45

Recordemos:• SISD (Single

instruction single data)

• SIMD (Single

Instruction Multiple Data)

• MIMD (Multiple

Instruction Multiple Data).

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

46

Recordemos:

• Sistema de memoria compartida

• Sistema de memoria distribuida

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

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

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

50

Comunicación Internodo/intranodo mensajes largos

Internodo

PROBLEMA GRID POTENCIAMAESTRO/ESC

LAVOPIPELINE S.HIBRIDO

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

TEST

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.

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.

FIN