Está en la página 1de 4

Malena Burs

18 de Abril del 2020

Trabajo Práctico - Medida de la Eficiencia


Según el análisis que se hace del problema de sumar N números, explicado en la siguiente figura, responder las
preguntas indicadas a continuación,

• ¿Qué reparto de carga se realiza?

Como notamos en la especificación del ejemplo, N no es múltiplo de p. Sino que N= p x k + R, siendo 1 <R <p-
1. Consecuentemente, p-R procesadores hacen solamente k cálculos, mientras que R procesadores realizan k+1
cálculos.

• ¿Cuándo se haría un reparto que desestabilice el cómputo?

En mi opinión un reparto que desestabilice el cómputo es cuando N no es múltiplo de p, esto sucede en todos los
casos de este problema puesto que N= p x k + R, siendo 1 <R <p-1. Entonces habrá ciertos cores o procesadores
que hacen un operación menos que los otros, así quedara el programa desincronizado.

• ¿El reparto propuesto considera que es equitativo?

A mi parecer, el reparto no es equitativo, puesto que no todos los procesadores realizan la misma cantidad de
cálculos. Cómo explique en la primera pregunta, p-R procesadores hacen solamente k cálculos, mientras que R
procesadores realizan k+1 cálculos.

• ¿Por qué la eficiencia disminuye al aumentar la cantidad de procesos?

1
Malena Burs
18 de Abril del 2020

La eficiencia es la comparación del Speed-Up de la ejecución paralela frente al Speed-Up máximo. Entonces,
podemos definir a la eficiencia como E=S/p; podemos notar que si p aumenta S/p disminuirá, lógicamente. La
eficiencia de este problema puede también ser definida como,

E= k/(k+1) = (N/p) / [(N/p)+1]

Por otro lado, notamos que si p aumenta, la granularidad de las tareas (k = N/p) disminuye, al igual que la
eficiencia. Cuanto más overhead hay, la eficiencia disminuye. Consecuentemente, si aumenta el tamaño del
problema, el Speed-Up y la Eficiencia aumentan; pero si disminuye el tamaño del problema, el Speed-Up y la
Eficiencia disminuyen.

 Realizar una tabla que muestre para cada cantidad de procesos, el tiempo (medido en cantidad de sumas), el
SpeedUp, la Eficiencia, el costo computacional y la efectividad

Cómo podemos notar cuando N>>p, es decir cuando N es lo suficientemente grande para no que el cómputo en
paralelo no presente anomalías, el tiempo posee como cota mínima a k x c1 y cómo cota máxima a (k+1) x c1,
siendo c1 el tiempo que lleva una operación. El enunciado pedirá medir el tiempo en la cantidad de sumas,
siendo una suma equivalente a un tiempo; por lo tanto tomaré c1=1.

Supondré que N=13, redondearé a tres decimales para una mejor visualización de los datos y utilizaré las
siguientes fórmulas,

E = (N/p) / [(N/p)+1]

S = Tsec/Tpar = N / [(N/p) + 1]= E x p

Cp = p x tp, siendo tp = k + 1 = (N/p) + 1, entonces, C p = p x [(N/p) +1] = N + p. Recordemos que una unidad de
tiempo equivale a una suma.

Fp = S / Cp = E / tp = E x S/ ts, siendo ts=N

p 1 2 3 4 5 6 7 8
Speed-Up 0,929 1,733 2,438 3,059 3,611 4,105 4,550 4,952
Eficiencia 0,929 0,867 0,813 0,765 0,722 0,684 0,650 0,619
Costo
Computacional 14 15 16 17 18 19 20 21
Efectividad 0,066 0,116 0,152 0,180 0,201 0,216 0,228 0,236

2
Malena Burs
18 de Abril del 2020

Al graficar obtendríamos lo siguiente,

25.000

20.000

15.000
SpeedUp
Eficiencia
CostoComputacional
Efectividad
10.000

5.000

0.000
1 2 3 4 5 6 7 8

Podemos observar como a medida que p aumenta el Speed-Up también aumenta. Recordemos que el Speed-Up,
también llamado ganancia o aceleración, se encuentra definido por T sec/Tpar = N / [(N/p) + 1], entonces es lógico
que si p aumenta el T par disminuye y S aumenta. Además podemos observar que S en casi todos los casos se
encuentra entre su cota mínima: 1, y su cota máxima: p. En el único caso en el cuál esto no se cumple es cuando
p=1, en este caso S debería ser 1, debido a que T sec/T1 = Tsec/Tsec =1; esto puede suceder debido al overhead. Es
claro que el Speed-Up comienza a “achancharse”, pasado cierto valor de p.

Por otro lado, la Eficiencia disminuye. Tengamos en cuenta que la eficiencia es también identificada como S/p,
entonces si S comienza a “achancharse”, pero p sigue aumentando linealmente la brecha entre S y p aumentará, y
E disminuirá. Esto quiere decir que lleva un punto en el cual no es tan eficiente continuar agregando
procesadores dado un tamaño de N.

Notamos también como es más costoso computacionalmente trabajar con más procesadores y vemos en el
gráfico, al igual que en la tabla, una dependencia linear entre p y el costo computacional. Recordemos que a C lo
podemos definir también como N+p.

3
Malena Burs
18 de Abril del 2020

Finalmente, la efectividad refiere a la relación que existe entre el Speed-Up y el costo computacional, o a la
relación entre la Eficiencia y el tiempo de ejecución en paralelo. Podemos observar, que al principio, al aumentar
p esta relación crece bruscamente, pero luego comienza a “achancharse”, junto al Speed-Up. Es eficiente
aumentar p hasta cierto valor.

También podría gustarte