• No se han encontrado resultados

Procesamiento Paralelo

N/A
N/A
Protected

Academic year: 2022

Share "Procesamiento Paralelo"

Copied!
27
0
0

Texto completo

(1)

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

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

27 de marzo de 2016

(2)

Algunas preguntas

Una vez que tenemos el programa paralelo

¿C ´omo sabemos que aceleramos la ejecuci ´on?

¿C ´omo sabemos que es la mejor soluci ´on?

¿Hay una soluci ´on ideal?

¿Podemos decir que usamos los recursos de la mejor manera posible?

(3)

Ocho procesadores

(4)

A partir del caso planteado

En un algoritmo secuencial se puede evaluar a partir del tiempo de ejecuci ´on

En un algoritmo paralelo el tiempo de ejecuci ´on depende del tama ˜no del problema, la cantidad de procesadores y las comunicaciones

Las m ´etricas son fundamentales a la hora de evaluar desempe ˜no en m ´aquinas paralelas

Hoy vamos a ver las m ´as usadas

(5)

Antes de ver m ´etricas...

Dado un algoritmo en particular

Necesitamos dos implementaciones (una serie y una paralela) para definir m ´etricas

En la pr ´actica no siempre contamos con las dos implementaciones

En la literatura siempre se supone que tenemos las dos implementaciones para definir m ´etricas

(6)

Tiempos

Ts tiempo de ejecuci ´on de un programa en serie

Tp tiempo de ejecuci ´on de un programa paralelo

Ambos tiempos se miden desde que se lanza al programa hasta que finaliza

Ts se considera como la mejor implementaci ´on serie conocida para el algoritmo a estudiar

(7)

P ´erdidas totales (total overhead)

To = p ∗ Tp − Ts

Esta m ´etirca apunta a cuantificar los costos de las comunicaciones o sincronizaciones

p es el numero de procesadores

Idealmente To = 0

(8)

Speedup

S = Ts/Tp

Indica cuanto hemos aumentado el desempe ˜no

El valor de S va desde 1 hasta p

Cuando decimos que se acelera una aplicaci ´on en 10x se refiere al speedup

(9)

Eficiencia

E = S/p

Es una medida de la fracci ´on del tiempo en que los procesadores son usados efectivamente

El valor de E va de 0 a 1

En t ´erminos pr ´acticos, nos da una idea de la calidad del uso de la arquitectura que disponemos

(10)

Costo

C = p ∗ Tp

Refleja el tiempo que cada procesador usa para resolver el problema

Elcosto ´optimo es el que crece como el algoritmo serie m ´as r ´apido conocido

(11)

Granularidad y desempe ˜no

Si agregamos procesadores, aumenta la probabilidad de tener p ´erdidas por comunicacinoes

A mayor granularidad, m ´as procesadores en juego

Este es un factor a tener en cuenta en cualquier implementaci ´on

No hay reglas exactas, en cada implementaci ´on particular hay que buscar un compromiso entre granularidad y desempe ˜no

(12)

Ejemplo granularidad

(13)

Escalabilidad

Supongamos que tenemos una implementaci ´on de detecci ´on de bordes de una imagen que funciona aceptablemente con 8 procesadores

¿Funciona bien con 32?

¿Funciona bien con 256?

¿Funciona bien con 1024?

Este es el concepto de escalabilidad

(14)

Escalabilidad

Supongamos que tenemos una implementaci ´on de detecci ´on de bordes de una imagen que funciona aceptablemente con 8 procesadores

¿Funciona bien con 32?

¿Funciona bien con 256?

¿Funciona bien con 1024?

Este es el concepto de escalabilidad

(15)

Ejemplo escalabilidad (cantidad procesadores

constante)

(16)

Ejemplo real de Speedup

(17)

Ejemplo real de Eficiencia

(18)

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

(19)

Isoeficiencia

(20)

An ´alis asint ´otico de algoritmos paralelos

Consideremos el problema de ordenar una lista de n elementos

El algoritmo serie m ´as r ´apido conocido es de orden O (n log n)

Miremos lo que indican las m ´etricas para 4 implementaciones paralelas del algoritmo

¿Cu ´al es el mejor? ¿El m ´as r ´apido?

(21)

Cuatro implementaciones paralelas del mismo

problema

(22)

Observaciones

A1 es el m ´as r ´apido (fila Tp), pero demanda n * n procesadores (fila p)

Si vemos la eficiencia, podemos decir que A2 y A4 son los mejores

Si vemos el costo (fila p Tp) podemos decir que A2 y A4 son ´optimos seg ´un el costo

(23)

Ley de Amdahl

Da la idea del m ´aximo a mejorar de un sistema si solo una porci ´on del mismo es acelerado

En procesamiento paralelo da la idea del m ´aximo te ´orico de una implementaci ´on

Dada una fracci ´on mejorada (Fmej) a un speedup de la fracci ´on (Fmej)

SpeedupAML = Tmejoras/Tsinmejoras

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

(24)

Ejemplo Ley Amdahl

(25)

Resumiendo

En algoritmos paralelos las m ´etricas son importantes

Hay varias m ´etricas a tener en cuenta

Dependiendo de cual sea la m ´etrica elegida, se puede evaluar cu ´al es la mejor implementaci ´on

(26)

¡Muchas gracias!

¿Preguntas?

jiparraguirre@frbb.utn.edu.ar

(27)

Referencias

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

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

Referencias

Documento similar

Este folleto procede de bosques gestionados de forma sostenible y fuentes controladas Certificado

Los objetivos principales de este proyecto eran crear un entorno donde poder encontrar las aplicaciones corporativas de Telespazio que recibiría el nombre de Apps Corporativas y

mecánico del coche que se encarga de transmitir el movimiento del motor a las ruedas, a través de la caja de Mecánica básica: ¿cómo funciona el embrague de un coche?May 6, 2016 —

• Giro electrónico asistido mediante frena- do con pedal simple (e-SBF): la misma función que el sistema convencional (giros más cerrados), pero con mayor seguridad (a más de 20 km/h

Aunque para nuestros prop´ositos bastar´a con tener clara la anterior definici´on intuitiva de l´ımite, rigurosamente hablando una sucesi´on tiene l´ımite L si para

c) Los compuestos Ph3SnX reaccionan con un ión X–– para formar el anión [Ph3SnX2]–– que tiene estructura de bipirámide trigonal con los grupos fenilo en.

El m´ etodo de Phi2Scan consiste en observar el espectro de generaci´ on de segundo arm´ onico para un pulso al que se le introducen distintos valores de dispersi´ on de segundo

Figura 5.9 Comparaci´ on del ranking la mejor soluci´ on encontrada hasta cada iteraci´ on, entre el algoritmo de b´ usqueda y su respectiva b´ usqueda aleatoria, para cada funci´