Sunteți pe pagina 1din 8

EXAMEN FINAL DE MICRO II

1. Explique en qu consiste la ley de Amdahl. Utilice un ejemplo.


Ley de Amdahl
Evala como cambia el rendimiento al mejorar una parte de la computadora.
Define el speedup (aceleracin) que se puede alcanzar al usar cierta mejora.


Alternativamente


Factores
El speedup depende de dos factores:
1. La fraccin del proceso original que puede ser mejorado.
Si la mejora afecta 20 segundos de un proceso que tarda 60 segundos, entonces
Fraccin
mejora
= 20/60.
2. Aceleracin de la fraccin que puede ser mejorada.
Si la mejora hace que la parte que tardaba 20 segundos ahora tarde 12,
Speedup
mejora
= 20/12.
Tiempo de ejecucin
El tiempo de ejecucin mejorado es igual al tiempo que no se usa la mejora mas el
tiempo que si usa la mejora.




mejora la usar sin o Rendimient
mejora la usar al o Rendimient
Speedup =
mejora la con ejecucin de Tiempo
mejora la sin ejecucin de Tiempo
Speedup =
|
|
.
|

\
|
+ =
mejora
mejora
mejora viejo nuevo
Speedup
Fraccin
) Fraccin - (1 ejecucin de Tiempo ejecucin de Tiempo
Ejemplo
Tiempo de ejecucin original: 60 segundos.
Mejora: 20 segundos se hacen ahora en 12.
Fraccin
mejora
: 20/60 = 0.333.
Speedup
mejora
: 20/12 = 1.667.
Tiempo de ejecucin con la mejora:
60 x ((1 0.333) + 0.333/1.667) =
60 x (0.667 + 0.2) =
60 x (0.867) =
52
Speedup global
El speedup global es:


Alternativamente:


Ejemplo
Fraccin
mejora
: 20/60 = 0.333.
Speedup
mejora
: 20/12 = 1.667.
Tiempo de ejecucin original: 60 segundos.
Tiempo de ejecucin con la mejora: 52 segundos.
Speedup
global
= 60 / 52 = 1.15.
Speedup
global
= 1 / ((1 0.333) + (0.333 / 1.667)) = 1.15.


mejora
original
global
ejecucin de Tiempo
ejecucin de Tiempo
Speedup =
mejora
mejora
mejora
global
Speedup
Fraccin
) Fraccin - (1
1
Speedup
+
=
Otro ejemplo
Un programa tarda 100 segundos en correr.
El programa pasa 80 segundos en un procedimiento.
Qu tanto se debe mejorar ese procedimiento para que todo el programa corra 5 veces
ms rpido?
Usamos la ley de Amdahl:

Tiempo de ejecucin original: 100 segundos.
Tiempo de ejecucin nuevo: 20 segundos.
Fraccin mejorada: 80 / 100 = 0.8
Falta por saber el speedup de la mejora.
20 = 100 x ((1 0.8) + (0.8 / Speedup
mejora
))
20 = 100 x (0.2 + 0.8 / Speedup
mejora
)
20 = 20 x 80 / Speedup
mejora

20 20 = 80 / Speedup
mejora

0 = 80 / Speedup
mejora

No hay forma de que el programa mejorado corra en 20 segundos.
Corolario de la ley de Amdahl
El speedup global est limitado por la fraccin del programa que se puede mejorar.

Cmo se interpreta ese lmite cuando Fraccin
mejora
es 1?
Ejemplo
Se tiene un servidor de Web.
Se le cambia la CPU por una CPU que es 10 veces ms rpida que la antigua.
La CPU antigua estaba 40% del tiempo haciendo clculos y 60% ociosa esperando I/O.
Cul es el speedup global con la nueva CPU?
|
|
.
|

\
|
+ =
mejora
mejora
mejora viejo nuevo
Speedup
Fraccin
) Fraccin - (1 ejecucin de Tiempo ejecucin de Tiempo
mejora
global
Fraccin - 1
1
Speedup <
Fraccin que se puede mejorar: 40% = 0.4.
Speedup de la mejora: 10.
El corolario de la ley de Amdahl limita el speedup global:
Speedup
global
< 1 / (1 0.4) = 1.67
Usando la ley de Amdahl, el speedup global es:



El speedup global es:
1 / ((1 0.4) + (0.4 / 10)) = 1.56
El servidor con la nueva CPU es 1.56 veces ms rpido que el servidor con la antigua CPU.
Aplicaciones
La ley de Amdahl se puede usar para comparar entre dos opciones.
Se quiere mejorar un programa que hace ciertos clculos. Hay dos opciones:
1. Comprar un chip que acelera el 20% del programa 10 veces.
2. Recodificar el 50% del programa para que corra 1.6 veces ms rpido.
Qu opcin ofrece mejor speedup?
Se usa la ley de Amdahl:


Opcin 1:
1. Fraccin
mejora
= 0.2
2. Speedup
mejora
= 10
3. Speedup
global
= 1 / ((1 0.2) + (0.2 / 10)) = 1.219


mejora
mejora
mejora
global
Speedup
Fraccin
) Fraccin - (1
1
Speedup
+
=
mejora
mejora
mejora
global
Speedup
Fraccin
) Fraccin - (1
1
Speedup
+
=

Opcin 2:
1. Fraccin
mejora
= 0.5
2. Speedup
mejora
= 1.6
3. Speedup
global
= 1 / ((1 0.5) + (0.5 / 1.6)) = 1.231
No hay mucha diferencia entre 1.219 y 1.231.
Hay que considerar otros factores en la decisin.
La ley de Amdahl se puede usar en otros estudios.
Un sistema de discos en un centro de cmputo tiene varios componentes.
Cuando se presenta una falla, el porcentaje de que sea alguno de los componentes es
como sigue:
Componente Porcentaje
Discos 43%
Controlador SCSI 9%
Fuente de poder 22%
Abanico 22%
Cable SCSI 4%

Un estudio determina que instalando otra fuente de poder eleva la confiabilidad (tiempo
medio entre fallas) de las fuentes de poder en 4,150 veces.
Qu tanto se eleva la confiabilidad de todo el sistema de discos?




La ley de Amdahl se puede adaptar:



Fraccin
mejora
= 0.22.
Confiabilidad
mejora
= 4150.
La confiabilidad global es:
1 / ((1 0.22) + (0.22 / 4150) = 1.28
La confiabilidad del sistema con dos fuentes de poder es 1.28 veces que con una sola
fuente de poder.
2. Explique los riesgos que se presentan en la arquitectura DLX. Detalle explicando los
riesgos de datos y de control.
DESCRIPCIN DE LOS RIESGOS

El objetivo de esta prctica es evaluar las mejoras que se pueden introducir en el DLX
segmentado para evitar la insercin de ciclos de parada debidos a los distintos riesgos que
pueden aparecer en el mismo. Recordemos que estos riesgos pueden ser:

Riesgos por Dependencia de Datos. Que dependen del programa de ejecucin. En el DLX
aparecen cuando una operacin lee un dato que una instruccin anterior est escribiendo de
forma simultnea (RAW Read After Write). Slo aparecen si la distancia entre las dos
instrucciones con dependencia es pequea. Para reducir el impacto de los riesgos por
dependencia de datos se pueden plantear dos estrategias:

Detencin de la segmentacin mediante la insercin de burbujas: para evitar las ocasiones
en que se producen los riesgos el compilador se encarga automticamente de separar las
instrucciones que provocan dichos riesgos mediante la insercin de ciclos de espera o
burbujas

Anticipacin o Forwarding: reduciendo por HW (cortocircuitos) la distancia a la que
tienen que estar dos operaciones para que aparezca el riesgo, reduciendo de esta forma el
nmero de ciclos de parada que se deben insertar en el caso de la aparicin de uno de estos
riesgos





mejora
mejora
mejora
global
dad Confiabili
Fraccin
) Fraccin 1 (
1
dad Confiabili
+
=

Ejemplo:
ADD R1,R2,R3
SUB R4,R1,R5

Inst ADD B D/L E M ES Aqu carga R1 con R2+R3


Inst SUB B D/L E M ES

lee el contenido de R1 antes de que
sea asignado el valor de la suma de
R2 + R3


Riesgos de Control. Se presentan siempre que hay un salto condicional. Se tratan de
resolver mediante una serie de tcnicas entre las que cabe citar:

Insercin de burbujas de retardo: es imprescindible la utilizacin de un compilador que
conozca el nmero de slots o burbujas de retardo que se utilizarn y que coloque en ellos
instrucciones tiles, el impacto del riesgo de control ser menor cuanto ms llenos de
instrucciones tiles se encuentran los slots de retardo

Prediccin sobre el salto: donde se intenta adivinar qu instruccin se ejecutar en base a
un histrico de los saltos anteriores

Evidentemente la implementacin de estas tcnicas va a suponer un mayor coste en el
diseo y la produccin de la unidad, por lo que es necesario asegurarse que suponen una
clara mejora en las prestaciones de la mquina.

3. Dado el siguiente fragmento de cdigo en DLX, que es ejecutado en una mquina que
trabaja a 3.2 GHz; determinar el tiempo de CPU para este fragmento (expresado en ns y
con tres decimales), considerando que en la posicin 0 de memoria est el valor de 60:
ADD R13,R0,R0
LW R11,0(R0)
ADD R10,R0,R0
ETQ: BEQZ R11,FIN
LW R1,4(R10)
LW R2,164(R10)
SUB R12,R1,R2
ADD R13,R13,R12
ADDI R10,R10,#4
SUBI R11,R11,#1
J ETQ
FIN: SW 324(R0),R13
a. Considerando detenciones, adelantamientos y riesgos de control (todo junto).
b. Considerando adems la arquitectura modificada para reducir los riesgos de
control.
c. Aplicando salto retardado.
d. Desdoblando el lazo en dos, reacomodar y salto retardado.

S-ar putea să vă placă și