Sei sulla pagina 1di 5

Algoritmos Paralelos

Ex
amen Parcial
Prof. Jos
e Fiestas
Universidad Nacional de Ingeniera
15/05/15
El ex
amen dura 90 minutos
los programas se grabaran en un directorio Apellido AP/ en la plataforma
(en Apellido se ingresara el apellido del alumno)
La copia del ex
amen contendra las respuestas escritas as como todas las
anotaciones necesarias con respecto a los problemas de programacion

Conceptos de algoritmos paralelos

Conteste las siguientes preguntas: (puntaje se especifica al final de la pregunta)


Ilustre en un esquema (tiempo vs. n
umero de nodos) en que caso el tiempo
total de c
omputo (tiempo de calculo + tiempo de comunicacion) se incrementa al incrementar el n
umero de nodos. Que representa el punto donde
los tiempos de c
alculo y comunicacion se cruzan? 1 punto
Respuesta:

Un c
odigo realiza la siguiente operacion iterando un millon de veces
(x2 + y 2 )/z + a3 b2 + 6

(1)

Si el c
alculo en 10 nodos demora 1 s, calcule los FLOPS (reales) del algoritmo. Si las especificaciones de cada procesador indican FLOPS (teoricos)
= 2.5 TFLOPS, cual es la eficiencia real de cada procesador ?
1 punto
Respuesta:
La ecuaci
on realiza 10 operaciones, es decir 10 106 = 107 operaciones
#op.
=107 /106 = 10 TFLOPS. Y por
en total. Por ello, los FLOPS= tiempo
Treal
procesador, 1 TFLOP. La eficiencia E = Tteorica
=1/2.5 = 0.4, o 40 %
En la siguiente funci
on
indique en que casos (para el vector a[]) se realizara el n
umero maximo

y mnimo de operaciones. Note que el n


umero de operaciones varia solo
dentro de la condici
on while. En el algoritmo se asume que siempre l es
menor que n.
1 punto
Respuesta
El mejor caso es en el que el argumento de calculo() es positivo, ya que si
a[i] >= 0, solo se realiza una operacion en while (mnimo de operaciones),
mientras que si a[i] < 0, se realiza mas de una operacion (peor caso,
m
aximo de operaciones).
El costo de un algoritmo paralelo de ordenamiento (sort) de n elementos
en p procesos esta dado por
T (p) = (

nlog2 n
)
p

(2)

calcule la velocidad S(p) y eficiencia E(n, p), dado que el mejor algoritmo
secuencial de ordenamiento tiene un costo (nlogn). Como depende el
n
umero de procesos p del n
umero de elementos n, si el costo S(p) es
2

constante?
2 puntos
Respuesta:
La velocidad esta dada por S(p) =
(

Tseq
T (p)

(nlogn)
(nlog2 n/p)

p
= ( logn
) La

log
1
= ( logn
) Y si S(p) es constante, entonces
eficiencia es E(p) =
p
p
S(p) = ( logn ) = (1), es decir p = (logn)

Operaciones globales de reducci


on

Programe la reducci
on de datos con las siguientes condiciones
genere un vector de enteros, de dimension 10, y realize las siguientes operaciones con sus elementos:
promedio de todos los elementos
hallar el m
aximo y mnimo elemento
factorial de sus elementos
utilize para ello funciones MPI MIN, MPI MAX, MPI SUM y MPI PROD,
en MPI Reduce
3 puntos

Comunicaci
on bloqueada

Programe comunicaci
on P2P (MPI Send, MPI Recv) con las siguientes condiciones
un proceso enva una variable real usuarios que represente el n
umero de
usuarios del proceso actual, al proceso siguiente. Este u
ltimo acumula el
valor recibido con el suyo y lo enva al siguiente proceso. Por ejemplo,
si el proceso rank=0 tiene 1000 usuarios y el rank=1, 2000; el proceso
rank=0 enviara 1000 usuarios al proceso rank=1, el rank=1 enviara 3000
al rank=2, etc.
Defina el n
umero de usuarios por proceso como 1000+100rank. Acumule
el valor del n
umero de usuarios e imprima el resultado cada vez que un
proceso sea llamado
ejecute el programa para 5 procesos y haga una tabla con columnas: rank,
usuarios por proceso y suma acumulada
4 puntos

Ecuaci
on de calor en una dimensi
on

La distribuci
on de temperatura (u) en un cuerpo solido en funcion del tiempo
(t) y el espacio (x) esta determinada por la ecuacion
d2 u
du
k 2 = f (x, t)
dt
dx

(3)

Resuelva el sistema de ecuaciones formado aplicando el metodo de descomposici


on de dominio en n*p intervalos iguales (p=numero total de
procesos) y 400 intervalos de tiempo. Cada proceso tendra a cargo n=10
intervalos. Utilize las condiciones de frontera u[0] = 100 + 10 sin(t), y
u[n + 1] = 75, donde t es el tiempo actual
El dominio total es x=[0,1], y el intervalo total de tiempo t=[0,10] Inicialize
la temperatura a 95 grados (constante en todo el espacio), y el tiempo en
cero. La constante k = 0.002. Tenga en cuenta que los lmites de intervalo
en cada proceso dependen del n
umero del proceso (rank)
Discretizar la funci
on de la siguiente manera
u new[i] = u[i] + (t k/(x)2 ) (u[i 1] 2.0 u[i] + u[i + 1])) (4)
new representa el ndice temporal j+1

la paralelizaci
on se llevara a cabo utilizando comunicacion P2P (MPI Send,
MPI Recv), donde cada proceso enva la solucion de su extremo izquierdo
al su vecino izquierdo, y la solucion de su extremo derecho a su vecino
derecho, y a su vez, recibe la informacion respectiva de sus vecinos. El
primer y u
ltimo proceso, sin embargo, utilizan las condiciones de frontera

ejecute el problema y prepare una tabla con la distribucion de temperaturas al final de la simulacion. I.e., columnas posicion y temperatura
8 puntos
4

Potrebbero piacerti anche