tarea a realizar por todo el grupo

17
Considera un programa secuencial formulado por una secuencia de k fases de cálculo C 1 , C 2 , …, C i . Queremos desarrollar un programa paralelo eficiente a partir de C explorando cada fase C i , con un grado de paralelislo GDP i . Tanto las operaciones de paralelismo como de interacción introducen overhead. En la figura 1 se muestra la estructura del algoritmo paralelo APT del programa “benchmark STAP”. Se muestra un algoritmo paralelo en fases de grano grueso, N=256 (parámetro del problema). El paso DP puede ser distribuido en hasta 8192 nodos. El paso total Exchange se ejecuta por todos los nodos. El paso HT se ejecuta secuencialmente en un solo nodo (DOP=1). La operación de broadcast envía un mensaje de 80 KB a todos los nodos. El paso BF realiza la construcción de las señales de radar (beamforming) usando 256 nodos. El paso TD necesita seguir la pista del objetivo en 256 nodos localmente. A continuación, todos los informes de objetivos locales se unen a través de una operación colectiva de reducción. La carga de trabajo (workload) de cada paso de computación se obtiene en Mflops y tiempo de ejecución en un nodo del SP2 en sg. El overhead del paralelismo es insignificante ya que en el SP2 se usan tareas estáticas. Los overhead de las comunicaciones colectivas en el SP2 (m se expresa en bytes) son: Operación Fórmula de tiempo Broadcast Total Exchange Reduction a) Predecir los valores extremos de las métricas de rendimiento (paralelismo máximo, carga total W, tiempo de ejecución secuencial T 1 , camino crítico T , máximo rendimiento P , y el paralelismo medio , ignorando todos los overhead de comunicación (Predicción zero-overhead)

Upload: kuma-sanchez

Post on 26-Jul-2015

94 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Tarea a realizar por todo el grupo

Considera un programa secuencial formulado por una secuencia de k fases de cálculo C1, C2, …, Ci. Queremos desarrollar un programa paralelo eficiente a partir de C explorando cada fase Ci, con un grado de paralelislo GDPi. Tanto las operaciones de paralelismo como de interacción introducen overhead. En la figura 1 se muestra la estructura del algoritmo paralelo APT del programa “benchmark STAP”. Se muestra un algoritmo paralelo en fases de grano grueso, N=256 (parámetro del problema). El paso DP puede ser distribuido en hasta 8192 nodos. El paso total Exchange se ejecuta por todos los nodos. El paso HT se ejecuta secuencialmente en un solo nodo (DOP=1). La operación de broadcast envía un mensaje de 80 KB a todos los nodos. El paso BF realiza la construcción de las señales de radar (beamforming) usando 256 nodos. El paso TD necesita seguir la pista del objetivo en 256 nodos localmente. A continuación, todos los informes de objetivos locales se unen a través de una operación colectiva de reducción. La carga de trabajo (workload) de cada paso de computación se obtiene en Mflops y tiempo de ejecución en un nodo del SP2 en sg. El overhead del paralelismo es insignificante ya que en el SP2 se usan tareas estáticas.

Los overhead de las comunicaciones colectivas en el SP2 (m se expresa en bytes) son:

Operación Fórmula de tiempo Broadcast Total Exchange Reduction a) Predecir los valores extremos de las métricas de rendimiento (paralelismo máximo, carga total W,

tiempo de ejecución secuencial T1 , camino crítico T , máximo rendimiento P , y el paralelismo

medio

, ignorando todos los overhead de comunicación (Predicción zero-overhead)

Page 2: Tarea a realizar por todo el grupo

b) Estimar el overhead de interacción Tinteract al ejecutar el programa paralelo en el SP2. Representarlo

gráficamente variando n de 1 a 1024 en potencias de 2 y comentar los resultados

[ ]

Page 3: Tarea a realizar por todo el grupo

Pasamos todo a segundos….

( )

Podemos observar que cuantos más nodos menor el overhead de comunicación, esto es

un speedup superlineal, es decir cuando la eficiencia es mayor que 1.

c) Calcular el tiempo de ejecución Tn del algoritmo paralelo APT en un SP2 de n nodos, donde n 256. Obtener también la granularidad media cuando se usan 256 nodos (expresarlo como segundos de cálculo por cada segundo de comunicación). c) comentar los resultados

Caso n=256

(

)

(

)

Caso n<256

0

0,05

0,1

0,15

0,2

0,25

0,3

0,35

1 2 3 4 5 6 7 8 9 10

Ove

rHea

d d

e In

tera

cció

n

Número Nodos

Tiempointeraccion

Page 4: Tarea a realizar por todo el grupo

(

)

(

)

(

)

(

)

(

)

;

;

;

;

d) Cálcular la cota superior de Amdahl del speedup cuando (i) se ignoran todos los overhead, y (ii) se consideran todos los overhead con la asunción de que T0()T0(256).

El problema nos dice que se calcula la cota superior de la ley de Amhdal, esto quiere decir que se calcula cuando hay infinitos nodos, esto es cuando n

Page 5: Tarea a realizar por todo el grupo

En la fórmula anterior no hemos tenido en cuenta el overhead tal y como nos pide el primer apartado del problema:

Para calcular podemos usar el tiempo de ejecución secuencial y el tiempo secuencial tota, que son datos que podemos sacarlos del dibujo del problema:

Con esto ya podemos calcular la ganancia.

También calcular la cota superior considerando el overhead de comunicación:

Calculamos T0 porque lo necesitamos en la fórmula de la ganancia: Por tanto ya podemos aplicar la fórmula de la ganancia

Vemos que se consigue una ganancia grande, pero hay que tener en cuenta que es el límite de ganancia que se puede alcanzar como máximo según la ley de Amdahl. e) Comparación de los tres factores de speedup (carga fija, tiempo fijo, memoria fija). Asumir que el programa APT se ejecuta en un multicomputador de n nodos, donde cada nodo tiene 64 MB de memoria. Representar gráficamente (en la misma gráfica) los tres tipos de speedup sobre n (de 1 a 256, potencias de 2), teniendo en cuenta todos los overhead de comunicación. El programa APT tiene las siguientes características adicionales: La carga varía con el parámetro del problema N de acuerdo a las fórmulas:

W = 0’00016N2 + 0’015N + 0’04sg Nominalmente, N=256 y W=1447 Mflops o 14’37 sg. Los requerimientos de memoria son 512 N2 bytes. El overhead de broadcast (Tbast) y el overhead de reduction Treduce no cambia cuando escala la carga de trabajo. Ellos sólo dependen del tamaño de la máquina n. El overhead de total exchange Tindex decrecerá con la siguiente velocidad, cuando la carga escala:

Tindex= 80logn + 0’03 n1’29 m seg, donde m= 256(N/n)2 bytes

Page 6: Tarea a realizar por todo el grupo

Para la ley de Amhdal que es la ley de carga fija, y como la carga no escala pues la expresiones de overhead de comunicación son las de las anteriores apartados:

Donde:

{

Número Nodos Ganancia Amdahl

2 1’999748686 4 3’998131242 8 7’989061001 16 15’93998081 32 31’67216064 64 62’16415752 128 117’4507693 256 197’5998382 512 249’560644

Ahora pasamos a calcular la ganancia según la ley de gustafson. Como nos dice el enunciado el overhead Total Exchange cambia, los demás no, además como vemos el Tindex también depende de m, y m a su vez depende de N que es el parámetro del problema. Como N es desconocido, tenemos que calcularlo, para ello usamos igualamos la parte de arriba de la ley de Gustafson con la expresión de la carga que nos da el ejercicio:

0

50

100

150

200

250

300

2 4 8 16 32 64 128 256 512

Ove

rHea

d d

e In

tera

cció

n

Número Nodos

Gananciaamdahl

Page 7: Tarea a realizar por todo el grupo

;

Por tanto igualamos y despejamos N:

{

Ahora podemos sacar N usando la fórmula de una ecuación de segundo grado

Dónde: ⏟

Por tanto:

Page 8: Tarea a realizar por todo el grupo

√ √

Nos quedamos con el positivo

√ Una vez que ya tenemos calculado N, ya podemos calcular el overhead Total Exchange (Tindex) que recordemos que dependía de N:

Tindex= 80logn + 0’03 n1’29 m seg, donde m= 256(N/n)2 bytes Yo prefiero simplicar un poco m:

(

)

( √

)

( √

)

Page 9: Tarea a realizar por todo el grupo

Aquí nos damos cuenta que dentro del paréntesis tenemos un binomio al cuadrado con la siguiente forma: Por tanto:

( √

)

( √

)

(

)

( √

)(

)

(

)(

)

(

)

Recordemos que estamos calculando m:

( √

)

( √

)

Page 10: Tarea a realizar por todo el grupo

Ahora calculamos Tindex Como esta en microsegundos, voy a pasarlo a segundos antes de nada

Por tanto para pasar Tindex a segundos hay que multiplicar todos los términos por 1x10-7

Ahora sustituimos el valor de m, calculado anteriormente :

{

Una vez que tenemos calculado el Tindex ya podemos calcular el overhead total T0 ya que este dato lo necesitamos para calcular la ganancia según la ley de Gustafson:

Page 11: Tarea a realizar por todo el grupo

Por tanto calculamos el overhead total:

Como los overhead están en distintas unidades, pues hay que pasar todo a segundos, para ello hay que multiplicar todos los términos por 1x10-7

[ ]

Ahora que tenemos todos en segundos podemos calcular el overhead total:

Page 12: Tarea a realizar por todo el grupo

Ahora ya que tenemos el overhead total podemos calcular la ganancia según la ley de

Gustafson:

{

Número Nodos Ganancia Gustafson 2 1’124759357 4 2’566561928 8 5’676818636 16 12’25256144 32 25’95798026 64 54’2363274 128 112’1626323 256 230’1959032 512 469’7597402

Page 13: Tarea a realizar por todo el grupo

Una vez que tenemos calculado la ganancia según la ley de Gustafson, ahora procedemos a calcular la ganancia según la ley de Sun y Ni, como ya sabemos Sun y Ni tienen en cuenta las memorias de los nodos, en este caso tenemos el mismo problema, y es que necesitamos calcular el overhead total T0 y este overhead depende de N la cual no sabemos, sin embargo el enunciado del ejercicio nos dice que cada nodo tiene 64MB de memoria , y también se nos dice que los requerimientos de memoria son 521N2 bytes, esto es la memoria total que se necesita, por tanto igualando estas dos expresiones podemos despejar N:

Podemos ver que no tienen las mismas unidades, por tanto pasamos los MB a bytes:

Por tanto la fórmula se queda como:

Ahora podemos despejar N:

√ Una vez calculado N, podemos calcular el overhead Total Exchange Tindex

(

)

0

50

100

150

200

250

300

350

400

450

500

2 4 8 16 32 64 128 256 512

Ove

rHea

d d

e In

tera

cció

n

Número Nodos

GananciaGustafson

Page 14: Tarea a realizar por todo el grupo

(

)

(√

)

Pasamos Tindex a segundos hay que multiplicar todos los términos por 1x10-6

Sustituimos m en Tindex:

Podemos ahora calcular el overhead total:

Ahora para calcular la ganancia según la ley de Sun y Ni necesitamos conocer el parámetro G(n):

Page 15: Tarea a realizar por todo el grupo

Para ello igualamos la parte de arriba de la ley de Sun y Ni que es el tiempo secuencial para una carga escalada, con la expresión de carga que nos da el problema:

{

Como sabemos que: √

(√ ) √

√ Ya tenemos todos los parámetros para poder calcular la ley de Sun y Ni:

Page 16: Tarea a realizar por todo el grupo

{

Número Nodos Ganancia Sun y Ni

2 1’99999954 4 3’99999944 8 7’99999932 16 15’9999992 32 31’999999 64 63’9999988 128 127’999998 256 255’999998 512 511’999998

0

100

200

300

400

500

600

2 4 8 16 32 64 128 256 512

Ove

rHea

d d

e In

tera

cció

n

Número Nodos

Gananciaunyi

Page 17: Tarea a realizar por todo el grupo

0

100

200

300

400

500

600

2 4 8 16 32 64 128 256 512

Ove

rHea

d d

e In

tera

cció

n

Número Nodos

omparaciongananciasSun y Ni Gustafson