PDF de programación - 1.4 El papel del rendimiento

Imágen de pdf 1.4 El papel del rendimiento

1.4 El papel del rendimientográfica de visualizaciones

Publicado el 5 de Abril del 2021
682 visualizaciones desde el 5 de Abril del 2021
175,9 KB
18 paginas
Creado hace 17a (01/11/2006)
1.4 El papel del rendimiento

Cuando se dice que una computadora es más rápida que otra, ¿qué se quiere decir? El
usuario de una computadora individual puede decir que ésta es más rápida cuando ejecuta
un programa en menos tiempo, mientras que el director de un centro de cálculo puede decir
que una computadora es más rápida cuando completa más tareas en una hora.

El usuario de la computadora está interesado en reducir el tiempo de respuesta – el tiempo
transcurrido entre el comienzo y el final de un evento - denominado también tiempo de
ejecución o latencia.

El director del centro de cálculo está interesado en incrementar la productividad
(throughput) - la cantidad total de trabajo realizado en un tiempo determinado.


Ejemplo: Productividad y tiempo de respuesta.

Los siguientes cambios en un sistema de cómputo, ¿incrementan la productividad,
decrementan el tiempo de respuesta, o ambas?

1. Reemplazar el procesador en una computadora con una versión más rápida.
2. Agregar un procesador a un sistema que utiliza múltiples procesadores para tareas

separadas – por ejemplo, el manejo de un sistema de reservaciones en una aerolínea.


Respuesta:
Decrementar el tiempo de respuesta casi siempre mejora la productividad. Por lo tanto, en
el caso 1, tanto la productividad como el tiempo de respuesta son mejorados. En el caso 2,
ninguna tarea se realizará de manera mas rápida, de manera que solo se incrementa la
productividad. Sin embargo, si la demanda para el procesamiento en el segundo caso fue al
menos tan grande como la productividad, el sistema debe necesariamente requerir de una
cola de tareas. En este caso, al incrementar la productividad podría también mejorar el
tiempo de respuesta, dado que reduciría el tiempo de espera en la cola. Así, en muchos
sistemas de cómputo reales, cambiar el tiempo de ejecución afecta a la productividad y
viceversa.


Cuando se comparan alternativas de diseño, con frecuencia se quiere relacionar el
rendimiento de dos máquinas diferentes, por ejemplo X e Y. La frase «X es más rápida que
Y» se utiliza para indicar que el tiempo de respuesta o tiempo de ejecución es inferior en X
con respecto a Y para una tarea dada. En particular, «X es en n veces más rápida que Y»
significa

Tiempo de ejecución Y
Tiempo de ejecución X

= n



El rendimiento mantiene una relación inversa al tiempo de ejecución, es decir, a un menor
tiempo de ejecución se tiene un mayor rendimiento; y viceversa. Por lo que se mantiene la
siguiente relación:


n =

Tiempo de Ejecución Y

Tiempo de Ejecución X

=

Rendimiento Y

Rendimiento X


1

1

=

Rendimiento X

Rendimiento Y

La frase «la productividad de X es en 1.4 veces superior que la de Y» significa que el
número de tareas completadas por unidad de tiempo en la máquina X es 1.4 veces el
número de tareas completadas en la máquina Y.

Como rendimiento y tiempo de ejecución son recíprocos, incrementar el rendimiento hace
decrecer el tiempo de ejecución. Para evitar confusiones entre los términos «incrementar» y
«decrementar», habitualmente se dice «mejorar el rendimiento» o «mejorar el tiempo de
ejecución» para hacer referencia a un incremento del rendimiento y una disminución del
tiempo de ejecución.


Ejemplo: Rendimiento relativo.

Una máquina A ejecuta un programa en 10 segundos y una máquina B ejecuta el mismo
programa en 15, ¿Cuánto es mas rápida A que B?

Respuesta:
Si A es n veces más rápida que B significa que:


RENDIMIENT
RENDIMIENT

O
O

n
A =
B

o

TIEMPO
TIEMPO

_
_

DE
DE

_
_

EJECUCIÓN
EJECUCIÓN

n



B =
A


De manera que la razón de rendimiento es: 15/10 = 1.5, y A es por lo tanto, 1.5 veces más
rápida que B.



En resumen, el rendimiento permite la comparación de dos computadoras; aunque
aparentemente este tema cae fuera de contexto en un curso de arquitectura de
computadoras, mas adelante se demuestra que no es así. Por que para una misma
arquitectura se analizaran tres diferentes tipos de implementaciones, y el objetivo en cada
nueva implementación será alcanzar un aumento en el rendimiento.


De hecho, desde 1985 la industria de computadoras alcanzó un nuevo estilo de arquitectura,
iniciando un período en el cual el rendimiento ha aumentado a una velocidad mucho más
rápida. Al concentrar los avances en la tecnología de circuitos integrados, las mejoras en la
tecnología de compiladores y las nuevas ideas arquitectónicas, los diseñadores pudieron
crear una serie de máquinas que mejoraban el rendimiento, en un factor de casi 2, cada año.
Estas ideas están ahora proporcionando una de las mejoras en rendimiento más
significativas que las sostenidas en los últimos veinte años. Estas mejoras han sido posibles
al tomar en cuenta una serie de importantes avances tecnológicos, junto a un mejor
conocimiento empírico sobre la utilización de las computadoras. De esta fusión ha
emergido un estilo de diseño de computadoras basado en datos empíricos, experimentación
y simulación.


1.5 Métricas para determinar el rendimiento

1.5.1 El tiempo de ejecución

El tiempo es la medida del rendimiento de la computadora: la computadora que realiza la
misma cantidad de trabajo en menos tiempo es la más rápida.

El tiempo de ejecución de un programa se mide en segundos por programa. El tiempo se
puede definir de formas distintas dependiendo de lo que se quiera contar. La definición más
directa de tiempo se denomina tiempo de reloj (wall-clock time), tiempo de respuesta
(response time), o tiempo transcurrido (elapsed time). Esta es la latencia para completar
una tarea, incluyendo accesos a disco, accesos a memoria, actividades de entrada/salida,
gastos del sistema operativo - todo.

Actualmente las computadoras trabajan a tiempo compartido, de manera que un procesador
puede trabajar sobre diferentes programas. En tal caso, los sistemas intentan mejorar la
productividad en lugar de intentar disminuir el tiempo transcurrido para un programa
individual. Por lo que es conveniente distinguir entre el tiempo transcurrido y el tiempo en
que el procesador está trabajando al servicio de un programa. Con el tiempo de CPU debe
reconocerse esta distinción, por lo que se debe medir el tiempo que el CPU está
computando una tarea sin incluir el tiempo de espera para las E/S o para ejecutar otros
programas. (Obviamente, el tiempo de respuesta visto por el usuario es el tiempo
transcurrido del programa, no el tiempo de CPU). Además, el tiempo de CPU puede
dividirse en: el tiempo empleado por el CPU en el programa “tiempo de CPU del usuario”,
y el tiempo empleado por el sistema operativo realizando tareas requeridas por el programa
“tiempo de CPU del sistema”.

Estas distinciones las refleja el comando «time» de UNIX, que devuelve lo siguiente:


El tiempo de CPU del usuario es de 90,7 segundos, el tiempo de CPU del sistema es de
12,9 segundos, el tiempo transcurrido es de 2 minutos y 39 segundos (159 segundos), y el
porcentaje de tiempo transcurrido que es el tiempo de CPU es

90,7u 12,9s 2:39 65%





7.90

9.12

+
159

=

65.0

=

%65



En este ejemplo, más de un tercio del tiempo transcurrido se gastó esperando las E/S o
ejecutando otros programas, o ambas cosas.

En ocasiones no se considera al tiempo de CPU del sistema debido a la poca precisión de
los sistemas operativos para obtenerlo, por lo que resultará poco realista considerar el
tiempo de CPU del sistema cuando se comparan rendimientos entre máquinas con sistemas
operativos diferentes. Por otro lado, el código del sistema de algunas máquinas está
incluido en el código del usuario, en otras; y ningún programa corre sin que se ejecute el
sistema operativo sobre el hardware, lo que es un argumento a favor de utilizar la suma del
tiempo de CPU del usuario y del tiempo de CPU del sistema como la medida del tiempo de
ejecución de un programa.

1.5.2 Rendimiento del CPU

La mayoría de las computadoras se construyen utilizando un reloj que funciona a una
frecuencia constante. Estos eventos discretos de tiempo se denominan pulsos, pulsos de
reloj, períodos de reloj, relojes, ciclos o ciclos de reloj.

Los diseñadores de computadoras referencian el tiempo de un período de reloj por su
duración (por ejemplo, 10 ns) o por su frecuencia (por ejemplo, 100 MHz). El tiempo de
CPU para un programa puede expresarse entonces de dos formas:

Tiempo de CPU = Ciclos de reloj de CPU para un programa x Duración del ciclo de reloj

O


Tiempo de CPU =

Ciclos de reloj de CPU para un programa

Frecuencia de reloj


En esta última expresión queda claro que el diseñador de hardware puede mejorar el
rendimiento disminuyendo la duración del ciclo de reloj o el número de ciclos de reloj
requeridos por un programa.


Ejemplo: Mejorando el Rendimiento.

Un programa X se ejecuta en 10 segundos en una máquina A, la cual es de 400 MHz. Se
intentará ayudarle al diseñador de hardware para que realice una máquina B, que ejecutará
ese programa en 6 segundos. El diseñador ha determinado que es posible un incremento
sustancial de la frecuencia de reloj, sin embargo, este incremento afectará al resto del CPU
ocasionando que la máquina B requiera 1.2 veces la cantidad de ciclos de reloj que utilizaba
la máquina A para este programa. ¿Cuál sería la frecuencia de reloj de la máquina B?


Respuesta:
El número de ciclos que utilizaría la máquina A para el programa X es:



Ciclos de Reloj de CPUA



Tiempo
  • Links de descarga
http://lwp-l.com/pdf19075

Comentarios de: 1.4 El papel del rendimiento (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad