Академический Документы
Профессиональный Документы
Культура Документы
Rendimiento
Cmo se puede definir el rendimiento de un sistema
computacional?
Tiempo de respuesta (tiempo de ejecucin). Tiempo
entre que llega y sale una tarea. Throughput. Cantidad de trabajo hecho en un tiempo dado.
aumento de throughput. Pero, un aumento de throughput no siempre implica una disminucin del tiempo de respuesta.
Universidad de Sonora Arquitectura de Computadoras 2
Ejemplo
Reemplazar CPUs viejas por nuevas disminuye el
tiempo de respuesta y aumenta el throughput (cantidad de trabajo hecho). Aumentar el nmero de computadoras aumenta el throughput pero no disminuye el tiempo de respuesta. A menos que hubiera colas. En este caso, el aumento en el nmero de computadoras aumenta el throughput y si disminuye el tiempo de respuesta.
Universidad de Sonora
Arquitectura de Computadoras
Definicin de rendimiento
El rendimiento de una computadora X es:
Rendimient oX 1 Tiempo de ejecucin X
una computadora Y:
RendimientoX > RendimientoY 1 / Tiempo de ejecucinX > 1 / Tiempo de ejecucinY Tiempo de ejecucinX < Tiempo de ejecucinY
Rendimiento relativo
X es n veces ms rpida que Y significa:
Universidad de Sonora
Arquitectura de Computadoras
Ejemplo
La computadora A corre un programa en 10 segundos
y la computadora B en 15 segundos.
RendimientoA / RendimientoB = Tiempo de ejecucinB / Tiempo de ejecucinA = 15 / 10 = 1.5
Universidad de Sonora
Arquitectura de Computadoras
Tiempo
1.
Tiempo de espera en cola. Accesos a disco. Accesos a memoria. Actividades de entrada y salida (I/O). Overhead del sistema operativo. Tiempo que el sistema operativo dedica a sus tareas propias y no al proceso que est ejecutando. Tiempo de carga, scheduling, recoleccin de basura, etc.
Arquitectura de Computadoras 7
Universidad de Sonora
Tiempo
2. Tiempo de CPU. Tiempo que la CPU dedica a la
tarea. No incluye tiempo dedicado a correr otras tareas. Se puede dividir en:
Tiempo de CPU de usuario. Tiempo que la CPU dedica al cdigo de la tarea. Tiempo de CPU de sistema. Tiempo que la CPU dedica al sistema operativo cuando ste realiza actividades relacionadas con la tarea. Por ejemplo, tiempo para cargar la tarea en memoria.
Arquitectura de Computadoras 8
Universidad de Sonora
Tiempo
En conclusin, se distinguen dos tiempos: 1. Rendimiento del sistema. Tiempo de respuesta en un sistema sin carga (sin otros usuarios). 2. Rendimiento de la CPU. Tiempo de CPU de usuario.
Las mtricas que veremos se enfocan al rendimiento de la CPU pero pueden aplicarse tambin al rendimiento del sistema. En general, se puede usar cualquier mtrica, siempre y cuando se mida y compare consistentemente.
Universidad de Sonora Arquitectura de Computadoras 9
Reloj
El reloj del sistema determina cuando los eventos ocurren en el hardware. 1. Periodo de reloj. Tiempo en que ocurre un ciclo (pulso) de reloj Se mide en fracciones de segundo. Por ejemplo 0.25 nanosegundos. 2. Velocidad de reloj. Es el inverso del periodo. Se mide en ciclos por segundo. Por ejemplo 4GHz (gigahertz).
Universidad de Sonora
Arquitectura de Computadoras
10
Rendimiento de la CPU
El tiempo de ejecucin de CPU de un programa:
Tiempo CPU = Ciclos de reloj para el programa x Periodo del reloj
Alternativamente
Tiempo CPU = Ciclos de reloj para el programa / Velocidad del reloj
Universidad de Sonora
Arquitectura de Computadoras
11
Rendimiento de la CPU
El tiempo de CPU de un programa puede mejorar
(disminuir) si:
El programa corre ms rpido (usa menos ciclos de
reloj). El periodo de reloj de la CPU disminuye y por lo tanto, aumenta la velocidad del reloj.
Universidad de Sonora
Arquitectura de Computadoras
12
Ejemplo
Un programa tarda 10 segundos en correr en una
computadora A que tiene una velocidad de reloj de 4 GHZ. Se desea construir una computadora B que corra el mismo programa en 6 segundos. Por problemas de diseo, B va a necesitar 1.2 veces mas ciclos de reloj que A para hacer la misma tarea. Cul debe ser la velocidad de reloj de B para cumplir la meta?
Universidad de Sonora Arquitectura de Computadoras 13
Ejemplo
Encontrar el nmero de ciclos que usa el programa
en A.
Tiempo CPUA = Ciclos relojA / Velocidad relojA 10 segundos = Ciclos relojA / (4x109 ciclos / segundo) Ciclos relojA = 10 segundos x (4x109 ciclos / segundo) = 40 x 109 ciclos.
reloj.
Universidad de Sonora Arquitectura de Computadoras 14
Ejemplo
Encontrar la velocidad de B, sabiendo que B va a
el programa en 6 segundos.
Universidad de Sonora Arquitectura de Computadoras 15
Ciclos de reloj
En la ecuacin
Tiempo CPU = Ciclos de reloj / Velocidad del reloj
CPI
El CPI es til para comparar dos implementaciones de
un conjunto de instrucciones. Para esto, se comparan los tiempos de ejecucin de un mismo programa en las dos implementaciones.
Universidad de Sonora
Arquitectura de Computadoras
17
Ejemplo
La computadora A tiene un periodo de reloj de 250 ps
(pico segundos) y un CPI = 2 para cierto programa. La computadora B tiene un periodo de reloj de 500 ps y un CPI = 1.2 para el mismo programa. Qu computadora es ms rpida y en cuanto?
Universidad de Sonora
Arquitectura de Computadoras
18
Ejemplo
Se usan la ecuaciones:
Tiempo CPU = Ciclos de reloj para el programa x Periodo del reloj Ciclos de reloj = Nmero de instrucciones x CPI Tiempo de CPUA / Tiempo de CPUB = n
Universidad de Sonora
Arquitectura de Computadoras
19
Ejemplo
Tiempo de CPU para A:
Tiempo CPUA = Ciclos de relojA x Periodo del relojA = Ciclos de relojA x 250 ps
Al final
Tiempo CPUA = I x 2 x 250 ps
= I x 500 ps
Universidad de Sonora
Arquitectura de Computadoras
20
Ejemplo
Tiempo de CPU para B:
Tiempo CPUB = Ciclos de relojB x Periodo del relojB = Ciclos de relojB x 500 ps
Al final
Tiempo CPUB = I x 1.2 x 500 ps = I x 600 ps
Universidad de Sonora Arquitectura de Computadoras 21
Universidad de Sonora
Arquitectura de Computadoras
22
Rendimiento de la CPU
La ecuacin de rendimiento de la CPU puede
reescribirse como:
Tiempo CPU = Nmero de instrucciones x CPI x Periodo del reloj
Alternativamente
Tiempo CPU = (Nmero de instrucciones x CPI) / Velocidad del reloj
del programa.
Universidad de Sonora Arquitectura de Computadoras 23
En vez del nmero de instrucciones y el CPI se puede usar el nmero de ciclos del programa.
Universidad de Sonora
Arquitectura de Computadoras
24
rendimiento? El tiempo de CPU se obtiene corriendo el programa. La velocidad, y por lo tanto el periodo del reloj, es parte de la documentacin de la computadora. El nmero de instrucciones y el CPI pueden ser ms complicados.
Universidad de Sonora
Arquitectura de Computadoras
25
Consideraciones
El nmero de instrucciones depende del conjunto de
instrucciones (el ISA) y no de la implementacin. El CPI depende de la implementacin porque depende de:
La estructura de la memoria.
La estructura del procesador. Las instrucciones usadas en el programa.
distintos CPI.
Universidad de Sonora Arquitectura de Computadoras 27
Nmero de ciclos
El nmero de ciclos se puede aproximar usando:
donde Ci es el nmero de instrucciones de clase i ejecutadas. CPIi es el promedio del nmero de ciclos por instruccin para la clase i. n es el nmero de clases de instrucciones.
Universidad de Sonora Arquitectura de Computadoras 28
Ejemplo
Hay 3 clases de instrucciones: A, B y C, cada una con
su propio CPI.
CPI por clase
A CPI 1 B 2 C 3
Universidad de Sonora
Arquitectura de Computadoras
29
Ejemplo
Hay dos secuencias de cdigo, S1 y S2, que se quieren
Arquitectura de Computadoras
30
Ejemplo
Qu secuencia ejecuta ms instrucciones? 2. Qu secuencia es ms rpida? 3. Cul es el CPI de cada secuencia?
1.
Universidad de Sonora
Arquitectura de Computadoras
31
Ejemplo
1.
Universidad de Sonora
Arquitectura de Computadoras
32
Ejemplo
2. Qu secuencia es ms rpida?
Universidad de Sonora
Ejemplo
3. Cul es el CPI de cada secuencia?
Se usa la ecuacin:
CPI = Nmero de ciclos / Nmero de instrucciones.
Universidad de Sonora
Arquitectura de Computadoras
34
Resumen
Los factores bsicos del rendimiento de la CPU y sus
medidas.
Componente Unidad de medida
Tiempo de ejecucin de CPU para un Segundos. programa. Nmero de instrucciones. Ciclos de reloj por instruccin (CPI). Instrucciones ejecutadas por el programa. Nmero de ciclos de reloj en promedio por instruccin.
Periodo de reloj.
Universidad de Sonora
Arquitectura de Computadoras
35
Resumen
Sin olvidarse de: Nmero de ciclos de reloj del programa = nmero de instrucciones x CPI. Velocidad del reloj = 1 / periodo de reloj.
Universidad de Sonora
Arquitectura de Computadoras
36
Resumen
Al comparar dos computadoras no basta fijarse en una
Universidad de Sonora
Arquitectura de Computadoras
37
Resumen
Las partes de un programa afectan su tiempo de
ejecucin.
Componente
Algoritmo. Lenguaje de programacin. Compilador ISA (conjunto de instrucciones)
Qu afectan?
Nmero de instrucciones. Tal vez el CPI. Nmero de instrucciones. CPI. Nmero de instrucciones. CPI. Nmero de instrucciones. CPI. Periodo de reloj.
38
Universidad de Sonora
Arquitectura de Computadoras