Está en la página 1de 18

ESTRUCTURA DE COMPUTADORES

Tema 3: Medidas de rendimiento

GRADO EN INGENIERÍA DE COMPUTADORES


Luis Rincón

1
Índice

1. Concepto de rendimiento de un computador.


2. Tiempo de ejecución y CPI.
3. Alternativas de diseño de computadores.
4. Impacto de las decisiones de diseño en el rendimiento de
un computador.
5. Comparación y resumen del rendimiento de los
computadores.

2
Bibliografía

[PAT] D.A. PATTERSON, J.L. HENNESSY. Computer Organization and Design, 5th
ed. Morgan Kaufmann, 2014 (o la traducción española más reciente: Estructura y
Diseño de Computadores, 4ª ed. Reverté, 2011).

[PRI] A. PRIETO, A. LLORIS, J.C. TORRES. Introducción a la Informática. 4ª


edición, McGraw-Hill, 2006.

[CER] C. CERRADA, V. FELIU. Estructura y Tecnología de Computadores I. U.N.E.D.,


1993.

[DMI] P. DE MIGUEL. Fundamentos de los Computadores. 9ª edición. Paraninfo,


2006.

[STA] W. STALLINGS. Organización y Arquitectura de Computadores. 7ª edición,


Prentice Hall, 2006.

Se recomienda leer el apartado de rendimientos del primer capítulo de [PAT].

3
Índice

1. Concepto de rendimiento de un computador.


2. Tiempo de ejecución y CPI.
3. Alternativas de diseño de computadores.
4. Impacto de las decisiones de diseño en el rendimiento de
un computador.
5. Comparación y resumen del rendimiento de los
computadores.

4
Medidas de rendimiento en los computadores
• Rendimiento como:
– Tiempo de ejecución: velocidad (tiempo) de ejecución.
– Productividad: número de tareas completadas en la unidad de tiempo.
1
• Rendimiento como tiempo de ejecución: 𝑅
𝑇 .

• Tiempo de reloj, tiempo de respuesta o tiempo transcurrido:


tiempo desde que se lanza una tarea hasta que se completa.

• Tiempo de ejecución de UCP o tiempo de ejecución: tiempo


consumido por la UCP en ejecutar el programa.
– Tiempo de ejecución de UCP = Tiempo de ejecución de UCP de usuario +
tiempo de ejecución de UCP del sistema.

• Rendimiento de UCP: recíproco del tiempo de ejecución.


• Comparación de rendimientos: la máquina X es n veces más rápida
que la máquina Y si: 𝑅
𝑛
𝑅

El rendimiento es un concepto fundamental en los computadores. Cuando usamos un computador,


nos interesa que tenga un buen rendimiento a la hora de cumplir con las tareas que ejecutamos en
él. Pero el concepto de rendimiento depende de para qué se esté utilizando el computador.

A menudo cuando se habla de rendimiento nos estamos refiriendo al tiempo que tardan en ejecutarse
los programas, conocido como tiempo de ejecución. Nos interesa que el tiempo de ejecución sea
bajo, en cuyo caso diremos que el computador tiene un rendimiento alto. Así, en este caso, se
entiende como rendimiento al inverso del tiempo de ejecución. El tiempo se puede medir en
ciclos de reloj o en segundos o fracciones de segundo.

El tiempo de reloj, tiempo de respuesta o tiempo transcurrido es el tiempo que tarda en


completarse una tarea, incluyendo operaciones de E/S y del SO. En sistemas multiprogramados,
incluye la ejecución de otros procesos, por lo que depende de la carga de trabajo del sistema. El
tiempo de respuesta es el tiempo que el usuario permanece esperando a que la tarea se realice.

El tiempo de ejecución de UCP, o simplemente tiempo de ejecución, es el tiempo que el


procesador tarda en ejecutar una tarea completa, sin incluir el tiempo de E/S o el tiempo consumido
por otros procesos. Este tiempo se divide en tiempo de UCP de usuario (tiempo consumido por las
instrucciones del proceso) y tiempo de UCP del sistema (tiempo consumido por las tareas
ejecutadas por el SO imputables al proceso concreto).

Otras veces lo que interesa es realizar el máximo número de tareas en un tiempo determinado. En
este caso estamos hablando de productividad, y ésta se calcula como el cociente entre el número
de tareas completadas dividido por el tiempo empleado en ello.

Para comparar el rendimiento de dos máquinas calcularemos el cociente de sus rendimientos. Una
máquina es n veces más rápida que otra si el cociente entre sus rendimientos da como resultado n.
5
Índice

1. Concepto de rendimiento de un computador.


2. Tiempo de ejecución y CPI.
3. Alternativas de diseño de computadores.
4. Impacto de las decisiones de diseño en el rendimiento de
un computador.
5. Comparación y resumen del rendimiento de los
computadores.

6
Tiempo de ejecución y CPI
• Tiempo de ejecución de UCP para un programa:
𝐶𝑖𝑐𝑙𝑜𝑠 𝑈𝐶𝑃
𝑇𝑖𝑒𝑚𝑝𝑜 𝑈𝐶𝑃 𝐶𝑖𝑐𝑙𝑜𝑠 𝑈𝐶𝑃 𝑃𝑒𝑟𝑖𝑜𝑑𝑜 𝑑𝑒 𝑟𝑒𝑙𝑜𝑗
𝐹𝑟𝑒𝑐𝑢𝑒𝑛𝑐𝑖𝑎 𝑑𝑒 𝑟𝑒𝑙𝑜𝑗

• CPI: ciclos de reloj por instrucción.


• CPIi: número de ciclos de reloj que dura cada instrucción de tipo i.
• Ci: recuento (número) de instrucciones ejecutadas del tipo i.

• Entonces:
𝐶𝑖𝑐𝑙𝑜𝑠 𝑈𝐶𝑃 𝐶𝑃𝐼 𝐶

• CPI medio: media de ciclos de reloj por instrucción.


𝐶𝑖𝑐𝑙𝑜𝑠 𝑈𝐶𝑃
𝐶𝑃𝐼 𝐶𝑃𝐼
𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠

El tiempo de ejecución de UCP para un programa se puede obtener multiplicando el número de ciclos
de UCP que consume por la duración del ciclo de reloj.

Por su parte, el número de ciclos de reloj depende de las instrucciones ejecutadas y su duración. Se
dice que el CPI de una instrucción es el número de ciclos de reloj que consumen la totalidad de las
fases que la componen. En general, instrucciones diferentes tendrán CPIs diferentes. El CPI de un
programa se calcula de forma dinámica, es decir, teniendo el cuenta el número de instrucciones
ejecutadas (recuento de instrucciones).

Para un cierto programa se puede calcular su CPI medio, sin más que dividir el número total de
ciclos de UCP entre el número total de instrucciones ejecutadas.

7
Tiempo de ejecución y CPI: ejemplo

Supongamos una máquina con 3 tipos de instrucciones: T1 (5 ciclos),


T2 (4 ciclos) y T3 (2 ciclos). Un programa que se ejecuta en esa
máquina tiene 50 instrucciones de tipo T1, 40 de tipo T2 y 10 de tipo
T3. ¿Cuál es su CPI medio? ¿Cuál es su tiempo de ejecución, si la
frecuencia de reloj es 500 MHz?

• Cálculo del CPI medio:

50 5 40 4 10 2 430
𝐶𝑃𝐼 𝐶𝑃𝐼 4,3
50 40 10 100

• Cálculo del tiempo de ejecución:

430
𝑇𝑖𝑒𝑚𝑝𝑜 𝑈𝐶𝑃 8,6 10 𝑠
500 10

8
Índice

1. Concepto de rendimiento de un computador.


2. Tiempo de ejecución y CPI.
3. Alternativas de diseño de computadores.
4. Impacto de las decisiones de diseño en el rendimiento de
un computador.
5. Comparación y resumen del rendimiento de los
computadores.

9
Alternativas de diseño
• Diseño de alto rendimiento:
– Se pretende obtener rendimiento elevado.
– El coste es secundario.

• Diseño de bajo coste:


– Se busca fabricar equipos baratos.
– El rendimiento es secundario (siempre que cumpla unos mínimos).

• Diseño de coste / rendimiento:


– Se busca el equilibrio entre coste y rendimiento.
– Se mejora el rendimiento en lo posible, pero manteniendo un coste
razonable.

• Medida: rendimiento dividido por coste. 𝐾


– Se busca maximizar esta relación.

• Arte del diseño de computadores: determinar de forma precisa cómo


las alternativas influyen en el coste y el rendimiento.

Diseñar para obtener un gran rendimiento sin tener en cuenta los costes es poco realista. Ambos
parámetros, rendimiento y coste, deben estar equilibrados. Existe un campo de diseño de alto
rendimiento, que persigue alcanzar un rendimiento muy elevado como objetivo principal, dejando el
coste en segundo plano. En este segmento nos encontramos los supercomputadores. En el extremo
opuesto está el diseño de bajo coste, donde lo importante es conseguir un diseño asequible, y
considerando el rendimiento como un aspecto secundario. Entre estos dos extremos está el diseño
de coste/rendimiento, en el que los diseñadores persiguen equilibrar los dos factores.

Resumiendo, el rendimiento de un sistema, medido como tiempo de ejecución, depende de:


• El número de instrucciones ejecutadas en los programas (recuento de instrucciones).
• El número de ciclos de reloj que tarda cada instrucción (CPI).
• La duración del ciclo de reloj.

Las decisiones de diseño tienen efecto sobre estos tres parámetros clave, e implican un coste
determinado en el sistema final. A menudo, lo más complicado es determinar el coste de las
diferentes características del diseño, ya que cuestiones como el valor de los componentes
seleccionados, el ensamblaje de la máquina, los gastos de I+D, las ventas, el marketing y los
márgenes de beneficio tienen mucha influencia sobre el mismo.

El arte del diseño de computadores implica ser capaz de determinar de forma precisa cómo las
decisiones de diseño influyen sobre el coste y el rendimiento, y el objetivo es encontrar el equilibrio
entre ambos, teniendo en cuenta el segmento de mercado hacia el que se enfoca el diseño y los
requisitos de los potenciales clientes que pueden estar en disposición de adquirir los equipos.

10
Índice

1. Concepto de rendimiento de un computador.


2. Tiempo de ejecución y CPI.
3. Alternativas de diseño de computadores.
4. Impacto de las decisiones de diseño en el
rendimiento de un computador.
5. Comparación y resumen del rendimiento de los
computadores.

11
Mejoras en el rendimiento: ley de Amdahl (I)
• Al mejorar un aspecto parcial de la máquina, se producirá un aumento
del rendimiento (speedup).
– El speedup se calcula comparando el rendimiento de la máquina original (sin
incorporar mejoras) y la máquina con las mejoras incorporadas.
ó
𝑆𝑝𝑒𝑒𝑑𝑢𝑝
ó

• El impacto de la mejora sobre el rendimiento global del sistema depende del


tiempo en que la mejora puede aplicarse, y está limitado por el mismo.
– Tiempo no afectado por la mejora: tiempo original de tareas que no se mejoran.
– Tiempo afectado por la mejora: tiempo original de la tarea que se pretende mejorar.
– Tiempo mejorado: tiempo que tarda la tarea mejorada después de aplicar la mejora.
Tiempo no afectado Tiempo afectado
Tiempo inicial sin mejora

Tiempo final mejorado


Tiempo
Tiempo no afectado
mejorado

𝑇𝑖𝑒𝑚𝑝𝑜 𝑖𝑛𝑖𝑐𝑖𝑎𝑙 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 𝑠𝑖𝑛 𝑚𝑒𝑗𝑜𝑟𝑎 𝑇𝑖𝑒𝑚𝑝𝑜 𝑛𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜 𝑇𝑖𝑒𝑚𝑝𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜


𝑇𝑖𝑒𝑚𝑝𝑜 𝑓𝑖𝑛𝑎𝑙 𝑐𝑜𝑛 𝑚𝑒𝑗𝑜𝑟𝑎 𝑇𝑖𝑒𝑚𝑝𝑜 𝑛𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜 𝑇𝑖𝑒𝑚𝑝𝑜 𝑚𝑒𝑗𝑜𝑟𝑎𝑑𝑜

Al diseñar una máquina se calculan o estiman el rendimiento y el coste de la misma. Cuando se


considera incorporar alguna modificación en el diseño para mejorar el rendimiento, es necesario medir
el impacto de dicha mejora sobre ambos parámetros.

Centrándonos en el rendimiento, el incremento del mismo tras incorporar la mejora en el diseño se


denomina speedup, y se calcula como el cociente entre el rendimiento de la máquina con la mejora
incorporada y el de la máquina original (sin incorporar la mejora).

Es preciso tener en cuenta que la mejora incorporada normalmente afectará a aspectos parciales de
la máquina, mientras que habrá otros aspectos de la misma que permanecerán inalterados. Por tanto,
el impacto de la mejora incorporada será mayor cuanto mayor sea el tiempo en que esta mejora
pueda aplicarse, es decir, cuanto más se utilice el aspecto mejorado dentro de la ejecución de los
programas.

Así, el tiempo inicial sin mejora (Tosm) es el tiempo que tarda la máquina original (sin incorporar la
mejora) en ejecutar un cierto programa. Este tiempo se calcula como la suma del tiempo no
afectado por la mejora (tiempo original de las tareas que siguen durando lo mismo porque la mejora
no les afecta) más el tiempo afectado por la mejora (tiempo original que tardan las tareas cuyo
tiempo de ejecución se verá afectado por la incorporación de la mejora).

El tiempo final mejorado es el tiempo que tardaría la máquina mejorada en ejecutar el mismo
programa. Este tiempo se calcula como la suma del tiempo no afectado por la mejora (que es el
mismo de antes) más el tiempo mejorado (que es el tiempo que tarda la tarea mejorada en la
máquina mejorada).

El speedup será el cociente entre el tiempo inicial sin mejora y el tiempo final mejorado.

12
Mejoras en el rendimiento: ley de Amdahl (II)
• Supongamos que:
– Tosm: tiempo de ejecución inicial original total (sin aplicar la mejora).
– fm: fracción del tiempo total original que es susceptible de ser mejorada (en
porcentaje o en tanto por 1).
– Am: cantidad de la mejora (cuántas veces más rápido se ejecuta la tarea
parcial una vez mejorada frente a lo que tardaba sin mejorar).
Tiempo no afectado Tiempo afectado
Tiempo inicial sin mejora

Tiempo final mejorado


Tiempo
Tiempo no afectado
mejorado

𝑇𝑖𝑒𝑚𝑝𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜 𝑝𝑜𝑟 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟𝑎 𝑇 𝑓

𝑇𝑖𝑒𝑚𝑝𝑜 𝑛𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜 𝑝𝑜𝑟 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟𝑎 𝑇 1 𝑓

𝑇𝑖𝑒𝑚𝑝𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜 𝑝𝑜𝑟 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟𝑎 𝑇 𝑓


𝑇𝑖𝑒𝑚𝑝𝑜 𝑚𝑒𝑗𝑜𝑟𝑎𝑑𝑜
𝐴 𝐴

Llamaremos fracción de mejora (fm) a la fracción del tiempo total en la máquina original que tarda
la tarea susceptible de ser mejorada. La fracción de mejora fm se calcula como el cociente entre el
tiempo afectado y el tiempo inicial sin mejora Tosm.

La cantidad de la mejora o aceleración de la mejora (Am) expresa cuánto más rápida es la


ejecución de la tarea mejorada, y es el cociente entre el tiempo afectado y el tiempo mejorado.
Indica cuántas veces más rápida es la tarea mejorada frente a la tarea afectada sin incorporar la
mejora.

Con todo ello, es evidente que:


• El tiempo no afectado por la mejora es Tosm x (1-fm).
• El tiempo afectado por la mejora es Tosm x fm.
• El tiempo mejorado es el cociente entre el tiempo afectado por la mejora y la cantidad
de la mejora.

13
Mejoras en el rendimiento: ley de Amdahl (III)
• Cálculo de la mejora de rendimiento (speedup):
𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 𝑠𝑖𝑛 𝑖𝑛𝑐𝑜𝑟𝑝𝑜𝑟𝑎𝑟 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟𝑎
𝑆𝑝𝑒𝑒𝑑𝑢𝑝
𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛 𝑓𝑖𝑛𝑎𝑙 𝑐𝑜𝑛 𝑚𝑒𝑗𝑜𝑟𝑎
Tiempo no afectado Tiempo afectado
Tiempo inicial sin mejora

Tiempo final mejorado


Tiempo
Tiempo no afectado
mejorado

𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛 𝑜𝑟𝑖𝑔𝑖𝑛𝑎𝑙 𝑠𝑖𝑛 𝑖𝑛𝑐𝑜𝑟𝑝𝑜𝑟𝑎𝑟 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟𝑎


𝑆𝑝𝑒𝑒𝑑𝑢𝑝
𝑇𝑖𝑒𝑚𝑝𝑜 𝑛𝑜 𝑎𝑓𝑒𝑐𝑡𝑎𝑑𝑜 𝑝𝑜𝑟 𝑙𝑎 𝑚𝑒𝑗𝑜𝑟𝑎 𝑇𝑖𝑒𝑚𝑝𝑜 𝑚𝑒𝑗𝑜𝑟𝑎𝑑𝑜

𝑇
𝑆𝑝𝑒𝑒𝑑𝑢𝑝
𝑇 𝑓
𝑇 1 𝑓
𝐴

1
𝑆𝑝𝑒𝑒𝑑𝑢𝑝
𝑓
1 𝑓
𝐴

Incorporando las relaciones anteriores a la ecuación de cálculo del speedup, se ve que éste depende
tanto de la fracción de mejora fm como de la cantidad de la mejora Am. Cuanto mayores sean éstas,
mayor será el incremento de speedup.

Una mejora puede repercutir en un aumento del rendimiento que puede compensar el aumento de
coste al incorporarla. Si el incremento del speedup es mayor que el incremento de coste, puede
merecer la pena incorporar la mejora. En caso contrario, sólo sería justificable incorporarla casos de
diseño de alto rendimiento.

14
Mejoras en el rendimiento: ley de Amdahl (IV)
Supongamos que en la máquina del ejemplo anterior se incorpora una
mejora de modo que las instrucciones de tipo T2 pasan a ejecutarse en 2
ciclos. ¿Cuál es la mejora de rendimiento global obtenida?
• Las instrucciones de tipo T2 tardaban 4 ciclos, y ahora pasan a tardar 2.
Cálculo de la cantidad de la mejora: Am = 4 / 2 = 2
• El tiempo afectado por la mejora es el tiempo que tardaban originalmente las 40
instrucciones de tipo T2 que se ejecutan en el programa de prueba.
Tiempo afectado por la mejora = 4 x 40 = 160 ciclos
• La fracción de mejora es el cociente entre el tiempo original para la tarea que
vamos a mejorar dividido por el tiempo de ejecución total original.
Cálculo de la fracción de mejora: fm = 160 / 430 = 0,372
• Por tanto: 1
𝑆𝑝𝑒𝑒𝑑𝑢𝑝 1,229
0,372
1 0,372
2
Se obtiene una mejora de rendimiento global
de 1,229 (del 122,9%)

15
Índice

1. Concepto de rendimiento de un computador.


2. Tiempo de ejecución y CPI.
3. Alternativas de diseño de computadores.
4. Impacto de las decisiones de diseño en el rendimiento de
un computador.
5. Comparación y resumen del rendimiento de los
computadores.

16
Comparación y resumen del rendimiento
• Carga de trabajo de un sistema: conjunto de programas ejecutados en el
mismo a lo largo del día.

• Programas de prueba (benchmarks): programas pequeños específicamente


escogidos para medir el rendimiento.

• Pruebas sintéticas: programas artificiales específicamente construidos para


intentar englobar las características de un conjunto de programas.

• Es mejor medir con programas reales de la carga de trabajo del sistema.

• Comparación de los rendimentos relativos de 𝑅 𝑇 .


𝑛
dos máquinas X e Y respecto de un programa: 𝑅 𝑇 .

• El tiempo de ejecución puede ser la media aritmética 1


del tiempo de ejecución de los programas que forman 𝑀𝐴 𝑡𝑖𝑒𝑚𝑝𝑜
𝑛
la carga de trabajo del sistema:
• La media aritmética se podría ponderar en función de la frecuencia de uso de
cada programa.

La carga de trabajo de un sistema la constituye el conjunto de programas que habitualmente se


ejecutan en el mismo.
De cara a medir el rendimiento de una máquina, lo mejor es medir los tiempos de ejecución de los
programas que conforman la carga de trabajo, ya que son los más utilizados. Pero resulta imposible
determinar cuál va a ser la carga de trabajo del sistema antes de venderlo, dado que cada cliente lo
utilizará para cosas diferentes. Una posible solución sería medir los rendimientos de los programas
más habituales, y medir el rendimiento para cada cliente calculando la media aritmética de los
tiempos de ejecución de los programas que conforman su propia carga de trabajo, mejor aún si se
pondera en función del número de veces que se ejecute cada programa. Esta estimación
personalizada del rendimiento se realiza solamente por parte del fabricante cuando vende sistemas de
alto coste.
Sin embargo, de cara al gran público, lo habitual es que se utilicen índices más o menos
estandarizados a partir de una serie de programas de prueba (benchmarks) seleccionados. Estos
programas suelen ser pequeños, y suelen ser implementaciones de algoritmos conocidos de uso más
o menos habitual. La ventaja es que estos benchmarks son fáciles de estandarizar, pero un
inconveniente es que se pueden prestar a fraudes, puesto que puede haber compiladores que
incorporen optimizaciones específicas al compilar los benchmarks, e incluso se pueden incluir
mejoras específicas en la circuitería que optimicen ciertos fragmentos pequeños de código.
Otra opción es utilizar pruebas sintéticas, que son programas artificiales específicamente
construidos para intentar englobar las características de un conjunto de programas de uso general. El
inconveniente es que estos programas son irreales, y además se pueden prestar a optimizaciones
fraudulentas, como en el caso anterior.
Lo mejor es realizar pruebas con programas reales (utilizados regularmente, o bien programas
típicos), sobre todo si la máquina está ya funcionando, garantizando en lo posible la reproducibilidad
de las medidas.
17
Otras medidas para evaluar el rendimiento

• MIPS: millones de instrucciones ejecutadas por segundo.


𝑁ú𝑚𝑒𝑟𝑜 𝑑𝑒 𝑖𝑛𝑠𝑡𝑟𝑢𝑐𝑐𝑖𝑜𝑛𝑒𝑠
𝑀𝐼𝑃𝑆
𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑒𝑗𝑒𝑐𝑢𝑐𝑖ó𝑛 10

• MIPS relativos: MIPS normalizados respecto de una máquina de


referencia.
𝑇𝑖𝑒𝑚𝑝𝑜 𝑒𝑛 𝑚á𝑞𝑢𝑖𝑛𝑎 𝑑𝑒 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎
𝑀𝐼𝑃𝑆 𝑟𝑒𝑙𝑎𝑡𝑖𝑣𝑜𝑠 𝑀𝐼𝑃𝑆 𝑟𝑒𝑓𝑒𝑟𝑒𝑛𝑐𝑖𝑎
𝑇𝑖𝑒𝑚𝑝𝑜 𝑒𝑛 𝑙𝑎 𝑚á𝑞𝑢𝑖𝑛𝑎

• Más medidas de rendimiento:


– MIPS de pico: velocidad máxima de ejecución de instrucciones.
– MFLOPS: millones de operaciones de coma flotante por segundo.
– MOPS: millones de operaciones por segundo.

A menudo los vendedores y los compradores necesitan un único número para evaluar el rendimiento
de una máquina. Este número resume el rendimiento del conjunto de programas de prueba
seleccionado, en términos que pueden ser comprensibles para el cliente, a veces engañosamente.
Una medida atractiva son los MIPS (millones de instrucciones ejecutadas por segundo). Pero esta
estrategia presenta varios problemas:
• Los MIPS varían entre diferentes programas de un mismo computador.
• No pueden compararse máquinas con repertorios de instrucciones distintos usando los MIPS.
• A veces hay instrucciones de larga duración que realizan tareas complejas (por ejemplo,
copiar una secuencia de bytes de una zona de memoria a otra), y que son muy lentas. Las
máquinas que no cuenten con dichas instrucciones deben emularlas mediante un fragmento
de código. Entonces, las máquinas del primer caso, que realizan la tarea por hardware, serán
más rápidas que las que la realizan por software, pero éstas últimas darán más MIPS.
¡Entonces los MIPS pueden variar inversamente al rendimiento!
Para evitar el problema anterior se inventaron los MIPS relativos, que dan los MIPS normalizados
respecto de una máquina de referencia. Esto puede dar una idea del cociente de tiempos de
ejecución entre la máquina analizada y la máquina de referencia, pero da una idea falsa de los MIPS.
Otra medida del rendimiento son los MIPS de pico, que dan la velocidad máxima de ejecución de
instrucciones. Esta se alcanza utilizando sólo las instrucciones más rápidas, pero esto es totalmente
absurdo (imagínese un programa cuyas instrucciones son todas iguales).
Las máquinas pensadas para cálculo científico usan el sistema de numeración en coma flotante, que
es como la notación científica (con mantisa, base y exponente), pero expresada en binario. En este
caso, una medida interesante son los MFLOPS (millones de operaciones de coma flotante por
segundo). El problema surge porque no todas las operaciones de coma flotante duran igual. De aquí
vienen los MOPS (millones de operaciones por segundo), en los que las operaciones están
normalizadas según un sistema de equivalencia.
18

También podría gustarte