Medidas de rendimiento de computadores: tiempo de ejecución y ley de Amdahl

Documento de la Universidad Europea sobre la estructura de computadores y medidas de rendimiento. El Pdf, un conjunto de apuntes universitarios de Informática, explora el tiempo de ejecución, MIPS, CPI y la ley de Amdahl, con ejemplos prácticos para el cálculo de mejoras de rendimiento.

Ver más

19 páginas

Estructura de
computadores
Tema 16. Medidas de
rendimiento
Estructura de computadores
Tema 16. Medidas de rendimiento
2
© Copyright Universidad Europea. Todos los derechos reservados.
Índice
Objetivos de aprendizaje ............................................................... 3
1. Presentación ........................................................................... 3
2. Niveles de descripción ................................................................ 4
3. Evolución de los computadores ..................................................... 5
4. Medidas de rendimiento versus niveles de descripción ......................... 7
5. Tiempo de ejecución ................................................................. 8
6. Rendimiento ........................................................................... 9
7. Definiciones y fórmulas ............................................................ 10
8. Ejemplo de cálculo de medidas de rendimiento ............................... 13
9. Tiempo de ejecución, MIPS y CPI ................................................. 14
10. Ley de Amdahl ..................................................................... 15
11. Mejoras y limitaciones de la ley de Amdahl ................................... 16
11.1. Limitación de la ley de Amdahl ...................................................... 17
12. Resumen ............................................................................ 17
Referencias bibliográficas ............................................................. 18

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Estructura de computadores

Tema 16. Medidas de rendimiento

Índice

Objetivos de aprendizaje 3

1. Presentación 3

2. Niveles de descripción 4

3. Evolución de los computadores 5

4. Medidas de rendimiento versus niveles de descripción 7

5. Tiempo de ejecución 8

6. Rendimiento 9

7. Definiciones y fórmulas 10

8. Ejemplo de cálculo de medidas de rendimiento 13

9. Tiempo de ejecución, MIPS y CPI 14

10. Ley de Amdahl 15

11. Mejoras y limitaciones de la ley de Amdahl 16

11.1. Limitación de la ley de Amdahl 17

12. Resumen 17

Referencias bibliográficas 18

ue Universidad Europea

@ Copyright Universidad Europea. Todos los derechos reservados. 2

Objetivos de aprendizaje

Los objetivos que se pretenden alcanzar en este recurso son los siguientes:

  • Avanzar en los conocimientos sobre los componentes hardware de una computadora y conocer nuevos conceptos sobre medidas de rendimiento.
  • Ser capaz de medir y calcular el rendimiento de los computadores y de componentes específicos.
  • Ser capaz de comparar el rendimiento de ordenadores de diferentes familias entre sí. Igualmente, ser capaz de comparar el rendimiento de distintas configuraciones de un mismo computador.
  • Reconocer la evolución y mejora de los computadores.
  • Conocer que es un benchmark o programas de pruebas, y conocer los estándares actuales y cómo utilizarlos.

1. Presentación

Un buen ingeniero o arquitecto de computadoras debe conocer las partes básicas de una computadora digital, así como las distintas arquitecturas avanzadas que normalmente se utilizan para procesamiento intenso.

Estos conocimientos permiten al ingeniero, desde un punto de vista práctico, conocer a fondo las características y el funcionamiento del hardware. La capacidad de interpretar la estructura, las características y las capacidades de una arquitectura permitirán medir el rendimiento de un sistema y, en la medida de lo posible, mejorarlo. También es importante saber comparar dos arquitecturas distintas y así poder escoger el sistema más apropiado para cada ámbito de aplicación.

ue Universidad Europea

@ Copyright Universidad Europea. Todos los derechos reservados. 3

2. Niveles de descripción

Un computador por sí mismo es un sistema complejo que engloba varios niveles de estudio a nivel software y hardware. En la actualidad, la mayoría de los sistemas informáticos implican arquitecturas complejas de computadores que combinan los componentes básicos definidos en el modelo Von Neumann.

Un ingeniero informático debe ser capaz de definir, diseñar, desarrollar y mantener sistemas y arquitecturas informáticas complejas. Para diseñar un sistema informático será necesario, por tanto, integrar la parte hardware con la parte software, así como establecer los mecanismos más adecuados de comunicación entre los distintos componentes y sistemas.

En la siguiente tabla se detallan los niveles de abstracción de una computadora.

Los niveles de abstracción definen los distintos niveles de estudio que un ingeniero informático debe conocer para poder entender el funcionamiento de una computadora en su conjunto. Serían los siguientes:

Tabla 1. Niveles de abstracción de una computadora.

Capas y Niveles de abstracción

Componentes y herramientas

Generadores de programas

  • Entornos IDE.
  • Lenguajes de programación.

Software de aplicación

Programas de aplicación

  • Ofimática (Ms Office Microsoft, 2016), Open Office (Apache, 2016), multimedia, diseño, comunicaciones, etc.

Compiladores e intérpretes

  • Compilación, enlazado, ensamblado, traducción.

Software de sistema

Sistemas operativos

  • Sistemas operativos: UNIX (The Open Group, 2016), Windows (Microsoft, 2016), OS X (Apple, 2016), software de gestión de ficheros, memoria, procesos, etc.

Interfaz software / hardware

Arquitectura del conjunto de instrucciones

  • Código máquina, arquitectura RISC y CISC.

ue Universidad Europea

@ Copyright Universidad Europea. Todos los derechos reservados. 4

Capas y Niveles de abstracción de hardware

Componentes y herramientas

  • Estructura básica: modelo Von Neumann.

Organización de componentes hardware

  • Arquitecturas avanzadas. Transferencias.

Hardware

Nivel digital

  • Circuitos secuenciales. Circuitos combinacionales.

Nivel físico

  • Electrónico: inversor, multivibrador.
  • Componentes: transistor, metal, diodo.

El diseño de arquitecturas avanzadas se centra en estos dos niveles:

  1. Arquitectura del conjunto de instrucciones. Este nivel define el puente entre el hardware y el software y se centra en el comportamiento de la máquina. Es decir, qué hace la máquina. En este nivel, además, se define cuál será el juego de instrucciones de la máquina a utilizar. Esta decisión determinará el diseño hardware del computador. El tamaño de las instrucciones y los datos determinarán el tamaño de los registros de la máquina, el tamaño de las celdas de almacenamiento de memoria y el número de hilos de los componentes de interconexión (por ejemplo, el bus de instrucciones y el bus de datos).
  2. Organización de componentes hardware. La arquitectura de computadores determina la organización de los componentes hardware y debe conocer el funcionamiento interno de cada componente. El objetivo principal del arquitecto de computadores es construir una máquina lo más eficiente posible al menor coste posible, teniendo en cuenta el ámbito de aplicación de la máquina (genérico o específico) y las limitaciones del presupuesto asignado.

3. Evolución de los computadores

En la siguiente gráfica podemos observar cómo ha evolucionado el rendimiento de los computadores en los últimos años:

ue Universidad Europea

@ Copyright Universidad Europea. Todos los derechos reservados. 5

100,000

Intel Xeon 6 cores, 3.3 GHZ (boost to 3.6 GHz) Intel Xeon 4 cores. 3.3 GHZ (boost to 3.6 GHZ)

ميـ

24,129

Intel Core i7 Extreme 4 cores 3.2 GHZ (boost to 3.5 GHZ) Intel Core Duo Extreme 2 cores, 3.0 GHZ

-- 19.482-1.871

Intel Core 2 Extreme 2 cores, 2.9 GHZ

:14.387.

.. AMD Athlon 64, 2,8 GHZ :TY 865

Intel Xeon EE 3.2 GHZ

7,108

Intel D850EMVR motherboard (3.06 GHZ, Pentium 4 processor with Hyper-Threading Technology) 6.043 6,681

4,195

IBM Power4, 1.3 GHZ

3.016

Intel VC820 motherboard, 1.0 GHz Pentium III processor

=1.779

1000 -

Digital AlphaServer 8400 6/575, 575 MHZ 21264

- 993

AlphaServer 4000 5/600, 600 MHz 21164

Digital Alphastation 5/500, 500 MHZ

+849

.481

Digital Alphastation 5/300, 300 MHZ ,-280

22%/year

Digital Alphastation 4/266, 266 MHZ -183

IBM POWERstation 100, 150 MHZ ,-117

100

Digital 3000 AXP/500, 150 MHZ -

HP 9000/750, 66 MHZ

IBM RS6000/540, 30 MHZ,24

52%/year

MIPS M2000, 25 MHZ

MIPS M/120, 16.7 MHZ -13

10

Sun-4/260, 16.7 MHZ 0 9

VAX 8700, 22 MHZ 5

AX-11/780, 5 MHZ

"25%/year@ 1.5. VAX-11/785

1 .

1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012

Figura 1. Evolución del rendimiento de los computadores. Fuente: Patterson y Heneessy, 2011.

En este gráfico se muestra la evolución del rendimiento de distintos procesadores, en comparación con la máquina VAX 11/780, que fue utilizada como máquina de referencia por los benchmarks SPEC hasta el año 2000.

A continuación, se analiza en detalle el gráfico con la evolución del rendimiento de los computadores:

  • De 1986 a 2003 Entre el año 1986 y el 2003 se produjo la gran explosión de los ordenadores personales:
  • La tecnología evolucionó de tal forma que el rendimiento de los ordenadores mejoraba a un ritmo de 52 % cada año.
  • El precio de los ordenadores bajó espectacularmente.
  • Los ordenadores personales llegaron a los hogares y las ventas de ordenadores se dispararon.
  • De 2003 a 2011 Sin embargo, en la última década, la evolución ha sido en torno al 22 % anual debido a las limitaciones de consumo de potencia y a que la introducción de los multiprocesadores no mejora el rendimiento proporcionalmente al número de procesadores.

ue Universidad Europea

@ Copyright Universidad Europea. Todos los derechos reservados. 6

10,000

AMD Athlon, 2,6 GHZ

Performance (vs. VAX-11/780)

Professional Workstation XP1000, 667 MHZ 21264A

1,267

4. Medidas de rendimiento versus niveles de descripción

Dependiendo del nivel de abstracción o de descripción en el que queramos mejorar la máquina, deberemos fijarnos en una u otra medida de rendimiento.

A continuación, se muestran algunas medidas de rendimiento, clasificadas según el nivel de abstracción y la característica que queramos mejorar:

Software de aplicación

Interfaz software (SW)/hardware (HW)

Software de sistema

Hardware

Tabla 2. Software de aplicación.

Niveles de abstracción y Medidas de rendimiento en software de aplicación

  • Números de instrucciones de alto nivel.

Generadores de programas

  • Complejidad del algoritmo (22).
  • Tiempo de ejecución (Tej).
  • Tiempo de respuesta de usuario.
  • Tiempo de CPU (TCPU).

Programas de aplicación

  • Operaciones por segundo.
  • Rendimiento (performance).
  • Productividad o throughput.
  • Tiempo de respuesta.

Tabla 3. Software de sistema.

Niveles de abstracción y Medidas de rendimiento en software de sistema

Compiladores e intérpretes

  • Número de instrucciones máquina por programa (N).
  • Número de programas en paralelo.
  • Número de threads en paralelo.

ue Universidad Europea

Sistemas operativos

@ Copyright Universidad Europea. Todos los derechos reservados. 7

Tabla 4. Interfaz software (SW)/hardware (HW).

Niveles de abstracción y Medidas de rendimiento en interfaz SW/HW

  • Ciclos por instrucción (CPI).
  • Instrucciones por segundo (MIPS).
  • Instrucciones de coma flotante por segundo (MFLOPS).
  • Tiempo de acceso a memoria (Tacc, TAM).

Organización de componentes hardware

  • Latencia.
  • Ancho de banda (megabytes/segundo).
  • Transacciones por segundo (TPS).

Arquitectura del conjunto de instrucciones

Tabla 5. Hardware.

Niveles de abstracción y Medidas de rendimiento en hardware

  • Frecuencia de reloj (F).

Nivel digital

  • Periodo o ciclo de reloj (t, T).
  • Interferencias lógicas por segundo (KLIPS).

Nivel físico

  • Número de transistores por componente.

5. Tiempo de ejecución

Durante todo este recurso hablaremos de muchas medidas de rendimiento como las que enumerábamos en el apartado anterior.

Estudiaremos algunas de ellas, aprendiendo su definición y memorizando fórmulas para calcularlas. Sin embargo, cuando llegue la hora de medir el rendimiento global de un computador, la prueba definitiva sobre si una arquitectura es óptima o si hemos mejorado sus prestaciones lo suficiente, solo nos fijaremos en una medida: el tiempo de ejecución.

El tiempo de ejecución de programas reales es la única medida de rendimiento fiable.

Definimos el tiempo de ejecución como el tiempo de respuesta del sistema desde que se ejecuta un programa hasta que se obtiene una respuesta.

El tiempo de ejecución es, por tanto, la medida de la verdad. De su resultado dependerá que todos los recursos utilizados para la compra y construcción de componentes para diseñar la arquitectura, diseñar algoritmos óptimos o buscar mejoras en las prestaciones, hayan merecido o no la pena.

ue Universidad Europea

@ Copyright Universidad Europea. Todos los derechos reservados. 8

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.