Este documento discute diferentes medidas para evaluar el rendimiento de un computador, incluyendo el tiempo de reloj, tiempo de respuesta, tiempo de ejecución de la unidad central de procesamiento (UCP), y frecuencia del reloj. También describe factores que influyen en el rendimiento como el número de instrucciones, ciclos por instrucción, y frecuencia del reloj. El documento enfatiza la importancia de equilibrar el rendimiento y el coste al diseñar computadores.
2. Introducción
Cuando vamos a adquirir un
computador,
es interesante que conozcamos el
rendimiento que nos va a ofrecer.
A la hora de diseñar un computador, es
interesante contar con herramientas
que nos permitan evaluar sus
prestaciones
con objeto de ponderar la relación
coste / rendimiento del mismo.
Vamos a estudiar algunas formas de
caracterizar el rendimiento de un
computador.
3. Definición de rendimiento
El concepto de rendimiento se
puede percibir desde diferentes
puntos de vista:
• Tiempo de respuesta: velocidad
(tiempo) de ejecución.
• Productividad: Número de tareas
completadas en la unidad de tiempo.
4. Medidas para evaluar el rendimiento
Tiempo de reloj, tiempo de respuesta o tiempo
transcurrido:
• Tiempo desde que se lanza una tarea hasta que se
completa.
• Incluye el tiempo de espera de entrada / salida, el
tiempo consumido por otros procesos activos en
el sistema, etc.
Tiempo de ejecución de UCP o tiempo de ejecución:
• Tiempo consumido por la UCP en ejecutar el
programa.
• No incluye el tiempo de espera de entrada / salida,
el tiempo consumido por otros
procesos activos en el sistema, etc.
• Tiempo de ejecución de UCP = Tiempo de ejecución
de UCP de usuario + tiempo
de ejecución de UCP del sistema.
5. Rendimiento de un sistema:
• Tiempo transcurrido en un sistema sin
carga.
Rendimiento de UCP:
• Recíproco del tiempo de ejecución.
Tiempo de ejecución: a veces se mide en
ciclos de reloj.
• Frecuencia de reloj: inversa del ciclo de
reloj.
6. LOS MPES
Es importante diseñar mejorando el
rendimiento sin perder de vista el coste que
ello supone: equilibrio coste-rendimiento.
• Diseño de alto rendimiento: el coste es
secundario.
• Diseño de bajo coste: el
rendimiento es secundario.
• Diseño coste/rendimiento: busca el
equilibrio.
7. Método correcto de calcular el rendimiento:
tiempo de ejecución de programas reales.
Factores que influyen en el rendimiento:
• Número de instrucciones de los
programas.
• Número de ciclos de reloj por instrucción.
• Frecuencia del reloj.
Arte del diseño de computadores:
determinar de forma precisa cómo las
alternativas influyen en el coste y el
rendimiento.
8. Fiabilidad y tolerancia de fallos
Objetivos
Veremos cuáles son los factores que
afectan a la fiabilidad de un sistema
También veremos algunas técnicas para
tolerar fallos de software
9. Fallos de funcionamiento
Los fallos de funcionamiento de un sistema
pueden tener su origen en
- Una especificación inadecuada
- Errores de diseño del software
- Averías en el hardware
- Interferencias transitorias o permanentes en
las comunicaciones
Nos centraremos en el estudio de los
errores de software
10. Conceptos básicos
La fiabilidad (reliability) de un sistema es una
medida de su conformidad con una especificación
autorizada de su comportamiento
Una avería (failure) es una desviación del
comportamiento de un sistema respecto de su
especificación
Las averías se manifiestan en el comportamiento
externo del sistema, pero son el resultado de
errores (errors) internos
Las causas mecánicas o algorítmicas de los
errores se llaman fallos (faults)
11. Fallos encadenados
Los fallos pueden ser consecuencia de
averías en los componentes del sistema
(que son también sistemas)
averia fallo error averia fallo
12. Tipos de fallos
Fallos transitorios
- desaparecen solos al cabo de un tiempo
- ejemplo: interferencias en comunicaciones
Fallos permanentes
- permanecen hasta que se reparan
- ejemplo: roturas de hardware, errores de
diseño de software
Fallos intermitentes
- fallos transitorios que ocurren de vez en
cuando
- ejemplo: calentamiento de un
componente de hardware