Professional Documents
Culture Documents
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:
20
= =
4 4 100
60
= =
3 3 100
20
= =
2 1 100
= + +
= 88.89
88.89
= = = 2.22
40
Y la eficiencia?
2.22
= = 0.79
2.8
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:
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
( )= =2
1 + ( 1)
=3
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:
60
( )= = = 1.82
33
4/6
Si el computador es con 2 procesadores.
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:
2
( )= = =2
1
6/6