Upload
itatitat
View
1.255
Download
2
Embed Size (px)
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