Está en la página 1de 2

3.

Un programa secuencial consiste en un 25% de instrucciones de punto flotante y un 75%


de instrucciones no aritméticas. Se evalúa adquirir un procesador que puede ejecutar 4
veces el número de instrucciones de punto flotante que el procesador actual, o adquirir un
procesador que puede ejecutar un 50% más rápido las instrucciones no aritméticas. ¿Qué
solución es mejor?

1. El primer procesador mejora el 25% del código 4 veces.


1
SpeedUp=
Fraccion mejora Donde :Fraccio nmejora =.25 y Mejora=4
( 1−Fraccio nmejora ) +
Mejora
1
SpeedUp=
Entonces : 0.25 SpeedUp=1.23
(1−0.25 ) +
4
2. El segundo procesador mejora el 75% del código al 50%.
1
SpeedUp=
Fraccion mejora Donde :Fraccio nmejora =. 7 5 y Mejora=1.50
( 1−Fraccio nmejora ) +
Mejora
1
SpeedUp=
Entonces: 0. 7 5 SpeedUp=1. 22
(1−0. 7 5 )+
1.50
Por lo que, asumimos que el procesador 2 da un mejor rendimiento al código.

4. Obtenga las eficiencias de las mediciones del algoritmo anterior asumiendo 2, 4, 8, 16,
32, 64, 128 y 256 procesadores. La eficiencia de un algoritmo paralelo nos dice qué tan
bien están utilizados los recursos computacionales. Un valor cercano a 0 significa que el
algoritmo es prácticamente secuencial y un valor cercano a 1 significa que es altamente
paralelizable. Su fórmula es: Ep= Sp/p donde Sp=SpeedUp y p=Num. De procesadores.

p
Aplicamos la ley de Amdahl S ( p )=
1+ ( p−1 ) f
donde p es el numero de procesadores y f el código secuencial restante
Como el procesador optimiza el75 % del código, f =.25

Aplicando de 2 a 256 procesadores:


Por lo que, el algoritmo funciona mejor teniendo dos procesadores a la vez.

También podría gustarte