You are on page 1of 6

CAPTULO 7

Problema 1:
Un programa tarda 40s en ejecutarse en un multiprocesador. Durante un 20% de ese tiempo se ha ejecutado
en cuatro procesadores; durante un 60%, en tres; y durante un 20% restante, en un procesador
(consideramos que se ha distribuido la carga de trabajo por igual entre los procesadores que colaboran en la
ejecucin en cada momento, despreciamos sobrecarga). Cunto tiempo tardara en ejecutarse el programa
en un nico procesador?

Solucin:

4 Procesadores 3 Procesadores 1 Procesador


20% 60% 20%
Tp = 40 segundos

Ts1 Ts2 Ts3


20% 60% 20%
Ts

20
= =
4 4 100

60
= =
3 3 100

20
= =
2 1 100

= + +

= 88.89

Cul es la ganancia en velocidad obtenida con respecto al tiempo de ejecucin secuencial?

88.89
= = = 2.22
40

Y la eficiencia?

Hallando el promedio ponderado de los procesadores del sistema

= 0.2 4 + 0.6 6 + 0.2 1 = 2.8

2.22
= = 0.79
2.8

Se consigue una eficiencia del 79%


1/6
Problema 2:
Un programa tarda 20s en ejecutarse en un procesador P1, y requiere 30s en otro procesador P2. Si se
dispone de los dos procesadores para la ejecucin del programa (despreciamos sobrecarga) Qu tiempo
tarda en ejecutarse el programa si la carga de trabajo se distribuye por igual entre los procesadores P1 y P2?

Solucin:

Procesador 1 Procesador 2
100% 100%
20 segundos 30 segundos

Procesador 1 Procesador 2
50% 50%
10 segundos 15 segundos

= , = 15

Qu distribucin de carga entre los dos procesadores P1 y P2 permite el menor tiempo de ejecucin
utilizando los dos procesadores en paralelo?

Siendo:

X: Porcentaje del programa realizado por el procesador 1.


Y: Porcentaje del programa realizado por el procesador 2.

20 = 30

+ =1

3
= = 0.6
5

2
= = 0.4
5

El procesador 1 realiza el 60% del programa mientras que el procesador 2 el restante 40%.

Cul es el tiempo?

20 = 12

30 = 12

2/6
Problema 3:
Cul es la fraccin de cdigo paralelo de un programa secuencial que, ejecutando en paralelo 8
procesadores tarda un tiempo de 100ns, durante 50ns utiliza 8 procesadores (distribuyendo la carga de
trabajo por igual entre los procesadores, despreciamos sobrecarga)?

Solucin:

1 Procesador 8 Procesadores
50ns 50ns
100ns

8 =0

+ =1

8
= = 88.89%
9

1
= = 11.11%
9

88,89%
= 11.11%
8

11.11%

Problema 4:
Un 25% de un programa no se puede paralelizar, el resto se puede distribuir por igual entre cualquier
nmero de procesadores (despreciamos sobrecarga) Cul es el mximo valor de ganancia de velocidad que
se podra conseguir al paralelizarlo?

Solucin:

1 Procesador N Procesadores
25% 75%

+ 1
( )= =
+ + (
+ + )

=
+

( )=
1 + ( 1)

1
= lim ( ) =

3/6
S=25
P=75

25
= = 0.25
100

1
= =4
0.25

A partir de cual nmero de procesadores se podran conseguir ganancias mayores o iguales a 2?

( )= =2
1 + ( 1)

=3

A partir de 3 procesadores se consigue una ganancia mayor o igual a 2.

Problema 5:
En la figura se presenta el grafo de dependencia entre tareas para una aplicacin. La figura muestra una
fraccin del tiempo de ejecucin secuencial que la aplicacin tarda en ejecutar las tareas del grafo.
Suponiendo un tiempo de ejecucin secuencial de 60s, que las tareas no se pueden dividir en tareas de
menor granularidad y que el tiempo de comunicacin es despreciable, obtener el tiempo de ejecucin en
paralelo y la ganancia en velocidad en un computador con 4 procesadores.

Solucin:

Tiempo de ejecucin en paralelo de 33 segundos

60
( )= = = 1.82
33

4/6
Si el computador es con 2 procesadores.

Tiempo de ejecucin en paralelo de 15 segundos.

60
( )= = = 1.33
45

5/6
Problema 6:
Un programa se ha conseguido dividir en 10 tareas. El orden de precedencia entre las tareas se muestra con
el grafo mostrado. La ejecucin de estas tareas en un procesador supone un tiempo de 2s. El 10% de ese
tiempo a la ejecucin de la tarea 1; el 15% de ese tiempo a la tarea 2; otro 15% de ejecucin de 3; cada tarea
4, 5, 6 o 7 supone el 9%, un 8% supone la tarea 8, la tarea 9 un 10%; por ltimo, la tarea 10 supone un 6%. Se
dispone de una arquitectura con 8 procesadores para ejecutar la aplicacin. Consideramos que el tiempo de
comunicacin se puede despreciar. Qu tiempo tarda en ejecutarse el programa en paralelo?

Solucin:

El tiempo que tarda en ejecutarse el programa en paralelo es de 1 segundo.

Qu ganancia de velocidad se obtiene con respecto a su ejecucin secuencial?

2
( )= = =2
1

6/6

You might also like