Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado...

27
Procesamiento Paralelo Modelado anal´ ıtico de programas paralelos Javier Iparraguirre Universidad Tecnol´ ogica Nacional, Facultad Regional Bah´ ıa Blanca 11 de Abril 461, Bah´ ıa Blanca, Argentina [email protected] http://www.frbb.utn.edu.ar/hpc/ 27 de marzo de 2016

Transcript of Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado...

Page 1: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Procesamiento ParaleloModelado analıtico de programas paralelos

Javier Iparraguirre

Universidad Tecnologica Nacional, Facultad Regional Bahıa Blanca11 de Abril 461, Bahıa Blanca, Argentina

[email protected]

http://www.frbb.utn.edu.ar/hpc/

27 de marzo de 2016

Page 2: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Algunas preguntas

• Una vez que tenemos el programa paralelo• ¿Como sabemos que aceleramos la ejecucion?• ¿Como sabemos que es la mejor solucion?• ¿Hay una solucion ideal?• ¿Podemos decir que usamos los recursos de la mejor

manera posible?

Page 3: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ocho procesadores

Page 4: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

A partir del caso planteado

• En un algoritmo secuencial se puede evaluar a partir deltiempo de ejecucion

• En un algoritmo paralelo el tiempo de ejecucion dependedel tamano del problema, la cantidad de procesadores ylas comunicaciones

• Las metricas son fundamentales a la hora de evaluardesempeno en maquinas paralelas

• Hoy vamos a ver las mas usadas

Page 5: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Antes de ver metricas...

• Dado un algoritmo en particular• Necesitamos dos implementaciones (una serie y una

paralela) para definir metricas• En la practica no siempre contamos con las dos

implementaciones• En la literatura siempre se supone que tenemos las dos

implementaciones para definir metricas

Page 6: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Tiempos

• Ts tiempo de ejecucion de un programa en serie• Tp tiempo de ejecucion de un programa paralelo• Ambos tiempos se miden desde que se lanza al programa

hasta que finaliza• Ts se considera como la mejor implementacion serie

conocida para el algoritmo a estudiar

Page 7: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Perdidas totales (total overhead)

To = p ∗ Tp − Ts

• Esta metirca apunta a cuantificar los costos de lascomunicaciones o sincronizaciones

• p es el numero de procesadores• Idealmente To = 0

Page 8: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Speedup

S = Ts/Tp

• Indica cuanto hemos aumentado el desempeno• El valor de S va desde 1 hasta p• Cuando decimos que se acelera una aplicacion en 10x se

refiere al speedup

Page 9: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Eficiencia

E = S/p

• Es una medida de la fraccion del tiempo en que losprocesadores son usados efectivamente

• El valor de E va de 0 a 1• En terminos practicos, nos da una idea de la calidad del

uso de la arquitectura que disponemos

Page 10: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Costo

C = p ∗ Tp

• Refleja el tiempo que cada procesador usa para resolver elproblema

• El costo optimo es el que crece como el algoritmo seriemas rapido conocido

Page 11: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Granularidad y desempeno

• Si agregamos procesadores, aumenta la probabilidad detener perdidas por comunicacinoes

• A mayor granularidad, mas procesadores en juego• Este es un factor a tener en cuenta en cualquier

implementacion• No hay reglas exactas, en cada implementacion particular

hay que buscar un compromiso entre granularidad ydesempeno

Page 12: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ejemplo granularidad

Page 13: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Escalabilidad

• Supongamos que tenemos una implementacion dedeteccion de bordes de una imagen que funcionaaceptablemente con 8 procesadores

• ¿Funciona bien con 32?• ¿Funciona bien con 256?• ¿Funciona bien con 1024?

• Este es el concepto de escalabilidad

Page 14: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Escalabilidad

• Supongamos que tenemos una implementacion dedeteccion de bordes de una imagen que funcionaaceptablemente con 8 procesadores

• ¿Funciona bien con 32?• ¿Funciona bien con 256?• ¿Funciona bien con 1024?• Este es el concepto de escalabilidad

Page 15: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ejemplo escalabilidad (cantidad procesadoresconstante)

Page 16: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ejemplo real de Speedup

Page 17: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ejemplo real de Eficiencia

Page 18: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

El la realidad...

• Es muy difıcil poder mantener speedup lineal• Es muy difıcil poder mantener eficiencia cercana a 1• Siempre hay que encontrar un punto de compromiso

Page 19: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Isoeficiencia

Page 20: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Analis asintotico de algoritmos paralelos

• Consideremos el problema de ordenar una lista de nelementos

• El algoritmo serie mas rapido conocido es de orden O (nlog n)

• Miremos lo que indican las metricas para 4implementaciones paralelas del algoritmo

• ¿Cual es el mejor? ¿El mas rapido?

Page 21: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Cuatro implementaciones paralelas del mismoproblema

Page 22: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Observaciones

• A1 es el mas rapido (fila Tp), pero demanda n * nprocesadores (fila p)

• Si vemos la eficiencia, podemos decir que A2 y A4 son losmejores

• Si vemos el costo (fila p Tp) podemos decir que A2 y A4son optimos segun el costo

Page 23: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ley de Amdahl

• Da la idea del maximo a mejorar de un sistema si solo unaporcion del mismo es acelerado

• En procesamiento paralelo da la idea del maximo teoricode una implementacion

• Dada una fraccion mejorada (Fmej) a un speedup de lafraccion (Fmej)

SpeedupAML = Tmejoras/Tsinmejoras

SpeedupAML = 1/((1 − Fmej) + (Fmej/Smej))

Page 24: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Ejemplo Ley Amdahl

Page 25: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Resumiendo

• En algoritmos paralelos las metricas son importantes• Hay varias metricas a tener en cuenta• Dependiendo de cual sea la metrica elegida, se puede

evaluar cual es la mejor implementacion

Page 26: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

¡Muchas gracias!

¿[email protected]

Page 27: Procesamiento Paralelo - Modelado analítico de programas ... Procesamiento Paralelo Modelado anal´ıtico de programas paralelos Javier Iparraguirre Universidad Tecnologica Nacional,

Referencias

• A. Grama, G. Karypis, V. Kumar, A. Gupta. Introduction toParallel Computing (2nd Edition). Addison Wesley, 2003.

• J. L. Hennessy, D. A. Patterson. Computer Architecture: AQuantitative Approach (4th Edition). Morgan Kaufmann,2006.