Está en la página 1de 54

Ing.

Jos Daz Chow


ARQUITECTURA DE MQUINAS
COMPUTADORAS III





Introduccin
Introduccin a la Asignatura
Presentaci
nContact
o
Schedule
Diagnstic
o
Syllabus
Jos Lenidas Daz Chow
Ingeniero en computacin
Profesor asistente Facultad de Electrotecnia y Computacin.
Director del Banco de Proyectos del Sistema Nacional de
Inversin Pblica (SNIP)
Miembro profesional ACM:
http://member.acm.org/~xdc2k
E-mail: jdiazchow@acm.org
Contacto:
http://www.snip.gob.ni/xdc/amc3
E-mail: jdiaz@snip.gob.ni




Docente
Introduccin a la Asignatura
Horarios
(5T1-Co)



Hora Lunes Martes Mircoles Jueves Viernes
4:10-5:50
Inteligencia
Artificial
Aplicaciones
Graficas
Aplicaciones
Graficas
Aplicaciones
Graficas
Inteligencia
Artificial
6:00-7:30
Ingeniera del
Software II
Redes de
Computadora
s
Redes de
Computadora
s
Arquitectura
de
Mquinas III
Ingeniera del
Software II
7:30-9:00
Ingeniera del
Software II
Redes de
Computadora
s
Arquitectura
de
Mquinas III
Arquitectura
de
Mquinas III

Introduccin a la Asignatura
Horarios
(5T2-Co)



Hora Lunes Martes Mircoles Jueves Viernes
4:10-5:50
Tendencias
Tecnolgicas
Inteligencia
Artificial
Inteligencia
Artificial
Arquitectura
de
Mquinas III
Tendencias
Tecnolgicas
6:00-7:30
Arquitectura
de
Mquinas III
Ingeniera del
Software II
Ingeniera del
Software II
Redes de
Computadora
s
Redes de
Computadora
s
7:30-9:00
Arquitectura
de
Mquinas III

Ingeniera del
Software II
Redes de
Computadora
s

Introduccin a la Asignatura
Diagnstic
o


Por qu otra AMC?
Qu recuerdan de AMC2?
Qu temas creen integran
AMC3 a partir de lo abordado
en AMC2?

Introduccin a la Asignatura
Diagnstic
o


Qu creen ustedes que
estudiaremos en esta
asignatura?
Lluvia de Ideas:
Objetivos
Contenidos
Relacin con AMC1 y AMC2
Mapa Conceptual

Introduccin a la Asignatura
Syllabu
s
[Objetiv
o
general]


Obtener conocimientos de las
tcnicas de evaluacin del
desempeo del sistema de
cmputo y las tecnologas de
diseo que se han desarrollado
para mejorar las prestaciones de
las computadoras modernas.

Introduccin a la Asignatura
Syllabu
s
[Objetivos
Especficos
]


Introduccin a la Asignatura
Syllabu
s
[Contenidos]
Unidad TEMA C C
P
LAB SEM Total
I Paralelismo y mejora del
rendimiento
16 4 4 24
II Segmentacin 16 6 12 2 36
III Computacin SIMD. 8 2 6 2 18
IV Computacin MIMD 8 2 6 2 18
TOTALES

48 14 28 6 96
Introduccin a la Asignatura
Syllabu
s
[Evaluacin]
Introduccin a la Asignatura
Syllabu
s
[Recursos]

Todos disponibles en el portal web de
la asignatura:
Documentacin
Libros
Folleto de la asignatura
Artculos
Presentaciones
Guas de Clases prcticas
Guas y herramientas de laboratorios
Bibliografa
Arquitectura de
Computadoras y
procesamiento paralelo.
Kai Hwang
Fay A. Briggs

Cubre todo el contenido de la
asignatura.
Abundantes ejemplos de
implementacin de
arquitecturas reales.

Bibliografa
Arquitectura de
Computadoras Un enfoque
cuantitativo.
John Hennessy
David Patterson

Especialmente til en unidades
1 y 2, aunque cubre todo el
contenido de la clase.
Enfoque evaluativo de la
arquitectura.

Bibliografa
Modern Computer Architecture.
Rafiquzzaman & Chandra
Enfoque sinttico de muchos
temas.

Arquitectura de Computadoras.
Morris Mano
Enfoque ms bien organizacional,
excelente abordaje de los
multiprocesadores.

Bibliografa
Organizacin y arquitectura de
Computadores.
William Stallings
Enfoque general. Ejemplos de
arquitecturas modernas.

Organizacin de Computadoras.
Hamacher/ Vranesic/ Zaky
Fundamentos anteriores.

Ing. Jos Lenidas Daz Chow
Unidad 1: PARALELISMO Y MEJORA DEL
RENDIMIENTO
1. Evaluacin del Desempeo
De
qu?
Cmo?

Evaluacin
Evaluacin de la Computadora
Las computadoras son cada vez ms
poderosas
Verdad o falsedad?
Cmo puedo
saberlo?
EVALUAR (Dar
valor, valorar)
Medible
Como ingeniero,
dispongo de la
tcnica apropiada?
Qu quiero yo de una
Computadora?
Ofertas de PC :
Qu caractersticas presentan?
Cul o cules me interesan ms a m?
Por qu?
Algunas caractersticas de
Aviones
Aeroplano
Capacidad
[Pasajeros]
Alcance
[Millas]
Velocidad
[M.p.h.]
Productividad
[Pasajeros X Mph]
Boeing 737 - 100 101 630 598 60,398
Boeing 747 470 4,150 610 286,700
BAC/Sub Concord 132 4,000 1,350 178,200
Douglas DC-8-50 146 8,720 544 79,424
Evaluacin del Desempeo
Por qu es importante saber qu tan bueno
es el desempeo de cada avin?
Por qu es importante saber qu tan bueno
es el desempeo de una Computadora?
Para qu me sirve?
Evaluacin del Desempeo
Determinar
rendimiento
Medir Categorizar
Comparar
Toma de decisiones
Aplicacin
Mejorar
Reemplazar
Evaluacin del Desempeo
Determinar rendimiento
Diferentes Momentos
Diseo
Construccin
Explotacin

Conceptos de Evaluacin
Entidad: Objeto en evaluacin [Computador]
Concepto cuantificable: Lo que deseamos evaluar de
la entidad: rendimiento, calidad, etc.
Factores: atributos o caractersticas de la entidad que
determinan el concepto cuantificable. Deben ser
medibles directa o indirectamente (magnitudes).
Medida: valor de una magnitud obtenido mediante un
instrumento de medicin confiable.
Mtrica.
Mtrica
El mtodo de medicin definido y la escala de
medicin [ISO 14598--1:1999].
Medidas estndarizadas
Permiten comparar arquitecturas dismiles
Base para el establecimiento de indicadores
de desempeo

Mtricas de desempeo
Externas:
Latencia o tiempo de respuesta.
Productividad
Disponibilidad

Interna
Utilizacin
Mtricas de desempeo
Externas:
Latencia o tiempo de respuesta. t
Productividad. e
Disponibilidad. o

Interna
Utilizacin.
Consideraciones de Costo
Desempeo a Cualquier Costo!
Evaluacin Costo-Beneficio
Consideraciones econmicas: ROI y TCO
Avances tecnolgicos Eficiencia
Menor consumo de material
Menor consumo de energa
Efectos comerciales
Masificacin y economas de escala

Tcnicas de Evaluacin
Medida del rendimiento de la ejecucin
Sistema real

Modelado analtico
Sistema real o proyectado

Modelado por simulacin
Sistema real o proyectado.

Modelado Hbrido
Rendimiento
El tiempo de ejecucin (t) es la medida que mejor
caracteriza el rendimiento de la computadora.

Rendimiento est en proporcin inversa al tiempo
de ejecucin:

=


Rendimiento
Una computadora A ejecuta un programa de
prueba p en 10 segundos. Cunto es su
rendimiento?

=
1

=
1
10
= 0.1

Qu utilidad ?
Comparar 2 computadoras
Rendimiento
A ejecuta un programa p en 10 segundos y B
ejecuta p en 12. Cunto es el rendimiento de
cada una? Cul rinde ms?

=
1

=
1
10
= 0.1

=
1

=
1
12
= 0.083

A rinde ms
Rendimiento:
La relacin del rendimiento de dos
Computadoras X e Y: n = Rx/Ry.
n representa cmo es el rendimiento de X
respecto al rendimiento de Y.
n se conoce como ganancia G (si X es un
reemplazo de Y) o como aceleracin (A) o
mejora de rendimiento (si X es una evolucin de
la misma arquitectura de Y).
Rendimiento
A ejecuta un programa p en 10 segundos y B
ejecuta p en 12. Cunto es el rendimiento de
cada una? Cul rinde ms?

=
1

=
1
10
= 0.1

=
1

=
1
12
= 0.083
=

=
0.1
0.083
= 1.2
n > 1 Ra > Rb

Rendimiento
Incremento neto de rendimiento:
n = n 1

Porcentaje de superacin en rendimiento de dos
PC:
n% = ( n 1) * 100%

Tambin esto se puede expresar como:

%
=

%

%
=

%
Rendimiento
A ejecuta un programa p en 10 segundos y B
ejecuta p en 12. Determine incremento de
rendimiento neto y el incremento neto porcentual.

=
1

=
1
10
= 0.1

=
1

=
1
12
= 0.083
=

1 =
0.1
0.083
1 = 0.2

%
=

1 100% =
0.1
0.083
1 100% = 20%


Factores que determinan el tiempo de
ejecucin
Perodo del pulso de reloj base del procesador:
Pulso ms ancho, mayor latencia.
Y por ende la Frecuencia de reloj, ya que =
1



Podemos decir que:
= =



La constante c ac corresponde al nmero total de
ciclos de reloj que consumi el programa.


Factores que determinan el tiempo de
ejecucin
Ejemplo : Suponga que la mquina A ejecuta un
programa p en 10s y su CPU tiene una
frecuencia de reloj de 100MHz. Usted est
diseando una mquina B y quiere que sta
ejecute p en solamente 6 segundos aunque
sabe que para ello requiere una mayor
frecuencia de reloj y como consecuencia, sern
requeridos 20% ms de ciclos para completar p.
Qu frecuencia debe tener B para lograr el
objetivo?


Factores que determinan el tiempo de
ejecucin
Datos :

= 10

= 100

= 6

= ?

= 1.2


(20% ms)

Modelo:
=

= 1.2


Solucin:

= 10 100 = 1000 10
6

=
(1.2

=
1.2 1000 10
6
6

= 200
Clculo del tiempo de Ejecucin
El tiempo de ejecucin depende netamente del total de
ciclos requeridos para ejecutar el programa y del perodo
o duracin del ciclo.
Un programa es una serie de instrucciones (N) a ejecutar.
Cada instruccin consume una cantidad de ciclos.
La cantidad total de ciclos que emplea una mquina para
ejecutar un programa corresponde a la suma de los ciclos
que consumen cada una de sus instrucciones.

Por tanto:

=
=
N
i
i C t
1
* t
Clculo del tiempo de Ejecucin
Es posible determinar grupos de instrucciones que tienen la
misma cantidad de ciclos de ejecucin.





Siendo CPI la cantidad de ciclos por instruccin que utilizan
las instrucciones del grupo i-simo y N
i
la cantidad total de
instrucciones del grupo i-simo ejecutadas.
) * ( *
1
i
m
i
i
N CPI t

=
=t
Clculo del tiempo de Ejecucin
En algunas arquitecturas incluso, el CPI es constante o
se puede aproximar con bastante precisin como la
cantidad media de ciclos por instruccin, con lo cual, t se
podra definir como:

= =


Donde CPI es la cantidad constante de ciclos por
instruccin y N es el total de instrucciones ejecutadas.

Ley de Amdahl
Uno para Todos y Todos para Uno

Qu pasa si Uno no es para Todos?

Cuando el rendimiento de una PC es mayor
como efecto de introducir una mejora, decimos
que tenemos una aceleracin de rendimiento.

Ley de Amdahl
La aceleracin global del sistema, sin embargo,
estar limitada por la fraccin de tiempo en que
dicha mejora es efectiva.

Papel de la Utilizacin

Ag = Rmejorado/Roriginal
Rmejorado = Rnuevo * % tiempo usada mejora
+ Roriginal * % tiempo sin usar mejora
Ley de Amdhal
Siendo tg el nuevo tiempo de ejecucin global
del sistema al incorporar la mejora, t el tiempo
de ejecucin original sin mejora, n la ganancia o
aceleracin parcial que la mejora proporciona, y
g, la fraccin mejorada (utilizacin) o el
porcentaje de tiempo real que la mejora es
efectiva, entonces:
tg = t tramo en que la mejora es efectiva + t
tramo sin mejora




Ley de Amdhal
(

+ = + =
n
t t
n
t
t
g

) 1 ( * ) 1 ( * *
n
t
t
A
mejorado
g

+
= =
) 1 (
1
Ley de Amdhal
Ejemplo: Si una mquina se mejora duplicando
la frecuencia del CPU, pero la mejora solo es
efectiva durante el 60% del ciclo de instruccin
por el acceso a memoria, la aceleracin global
del sistema sera:
Ag = 1 / 0.4 + (0.6/2) = 1/ 0.7 = 1.43
Nota: = 0.6 y n = 2
Ley de Amdhal
Conclusiones:
Agilizar el caso comn.
Evitar las excepciones en el mainstream de
procesamiento (penalizar a todos por unos
pocos).



Mtricas populares de rendimiento:
MIPS
MIPS Millones de Instrucciones (ejecutadas) por Segundo.
Velocidad o frecuencia de ejecucin de instrucciones.
Mtrica del tipo productividad.




Es una frecuencia, expresa el rendimiento en proporcin inversa
al tiempo lo cual es adecuado porque mayores MIPS indican
mquinas ms rpidas.
El problema: si se emplea como mtodo comparativo, debe
tenerse cuidado que las mquinas tengan caractersticas
similares.
6 6
10 * 10 * CPI
f
t
N
MIPS = =
Mtricas populares de rendimiento: MIPS
relativos
Surgen para resolver el problema de dos mquinas
con repertorios o arquitecturas diferentes.
Contrasta los MIPS de una mquina en comparacin
con una mquina de referencia.
Tcnica: Los MIPS relativos se obtienen del producto
de la razn de los tiempos de ejecucin de una
mquina de referencia y la evaluada con los MIPS de
la mquina de referencia.
referencia
evaluando
referencia
lativos
MIPS
t
t
MIPS *
Re
=
Mtricas populares de rendimiento:
MFLOPS
Millones de Instrucciones en Coma Flotante por
Segundo.

Solo contabiliza las operaciones en punto flotante.
Son ms consistentes que los MIPS por cuanto la cantidad
de operaciones no cambia de mquina a mquina.
Problema: los conjuntos de operaciones en punto flotante
disponibles de mquina a mquina no son estndares y
por tanto algunas operaciones se deben implementar en
funcin de otras.
6
10 * t
O
MFLOPS
PF
=
Mtricas populares: MFLOPS
Normalizados
Este mtodo concede pesos relativos a cada tipo de operacin
en punto flotante y permite adems considerar las operaciones
enteras. Al asignar pesos mayores a las operaciones
complejas se puede normalizar la diferencia de velocidades
permitiendo comparar de manera ms equitativa de dos
mquinas.



Problema: evala el rendimiento para ese programa tipo de
prueba (benchmark) especfico y que aunque representa una
opcin para comparar dos computadoras, no representa el
rendimiento de la mquina.

6
10 *
_ *
t
relativo peso O
MFLOPS
i i
os normalizad

=
Tipos de programas de prueba o
benchmarks
Programas reales: Medidas basadas en el uso
real del computador.
Ncleos (Kernels): Partes clave de
programas
Benchmarks reducidos (Toys): 10-100 lneas
de cdigo que realizan pequeos algoritmos
habituales. Fciles pero muy insuficientes.
Benchmarks sintticos: elaborados
expresamente para evaluar rendimiento
imitando el comportamiento de programas de
verdad, pero lo consiguen a medias.

También podría gustarte