Está en la página 1de 33

Clase 03 Rendimiento del Computador

ING. JOSE R. SANDOVAL JIMENEZ EPIS-FICSA-2012-II

Rendimiento
Avin Capacidad pasajeros Autonoma (Km) Velocidad crucero (Km/h) 980 Productividad

(pasajeros*Km/h)
367500

Boeing 777

375

7450

Boeing 747

470

6675

980

460600

Concorde

132

6435

2175

287100

DC-8

146

14030

875

127750

Rendimiento de un sistema
Sistema Trabajo en un determinado tiempo 1 = Rendimiento de una computadora ejecuta instrucciones Tiempo que tarda en ejecutar los programas

Parmetros de rendimiento del procesador

El rendimiento de un procesador
=
1

= = =

prog=

Ejercicio
Dada las caractersticas de un programa. Calcular el tiempo que demora en ejecutar el programa y su rendimiento. La cpu trabaja a 1Ghz. El programa se compone de 19 instrucciones de 3 tipos: A, B y C y cada tipo de instrucciones tiene un n de microinstrucciones diferentes.
Tipo de instrucc A
B C

Instrucc/Prog 5
6 8

CPIi 2
3 1

Ejercicio
Se dispone de un computador basado en un PIV a 2 GHz. Se ejecuta un programa de 1000 instrucciones. Segn la tabla, calcular el rendimiento
Tipo de instrucc Lgico-aritmtica Salto indondicional Salto condicional Carga (Reg-M) Almacenamiento (M-R) Instrucc/Prog 20% 10% 10%/10% 30% 20% CPIi 4 3 7/5 3 4

Comparacin del Rendimiento


El rendimiento - Medida cuantitativa - Hacer comparaciones Comparar dos mquinas ACELERACION
1. ACELERACION DEL RENDIMIENTO
A =

2. ACELERACION DEL TIEMPO

AT=

Ejercicio
Tenemos un PIV de 2GHz y ejecuta un programa de 1000 instrucciones segn la siguiente tabla calcular el rendimiento. Para aumentar el rendimiento se aade posteriormente una cach que ahorra 1 ciclo en accesos si el dato est en la cach y si no est dura lo mismo. El porcentaje de aciertos es del 90%. Calcular el rendimiento y la aceleracin del rendimiento con respecto del anterior sin cach.

Tipo de instruccin
Lgica-aritmtica Llamada a subrutina Salto incondicional Salto condicional Carga (R-M) Almacenamiento (M-R) Mov (R-R)

Instrucc/Prog
300 100 100 50/50 100 100 200

CPIi
5 9 6 9/3 2 4 2

UNIDADES DE MEDIDA DE RENDIMIENTO GLOBAL


MIPS
Millones de Instrucciones por segundo
=
106

= =
106

106

MIPS VAX

Se escoge una mquina representativa VAX 11/780 equivalente (80286)


=
11/780 106

MEGAFLOPS NATIVOS Y RELATIVOS

106

MFLOPSNATIVOS

MFLOPSRELATIVOS

=1

106

Instrucciones

Peso

ADD,SUB,MUL

1 operacin de punto flotante


4 operacin de punto flotante

DIV,SQRT

EXP,SIN

8 operacin de punto flotante

Ejercicio
Hallar MFLOPS nativos y relativos que se obtiene al utilizar un computador que ejecuta un programa en 66 segundos y consta de las siguientes instrucciones
OPERACION MILLONES DE INSTRUCCIONES PESO

ADD SUB
MUL DIV EXP SIN SQRT

20 10
10 12 2 99 1

1 1
1 4 8 8 4

Benchmark
Simular el comportamiento de aplicaciones del mundo real Rutinas repetitivas de los programas ms usados DHRYSTONE BENCHMARK (MIPS) Miden eficiencia del procesador y compilador en un entorno de desarrollo LAN Dhrystone MIPS WHESTONE BENCHMARK Ejecucin de programas cientficos y de ingeniera FORTRAN enteros y punto flotante KWIPS (Miles de instrucciones Whestone * seg)

1. Benchmark Sinttico

2. Benchmark Reducido o de juguete

10 y 100 lneas de cdigo Towers Perm Criba de Eratostenes Puzzle Quicksort

3. Kernel Benchmark

Pequeas piezas claves de programas reales No evalan prestaciones grficas Livermore Loops 21 fragmentos de bucles pequeos Linpack subrutinas de lgebra lineal

4.Programas Reales

Programas hechos con partes de programas reales (procesadores de texto, compiladores, CAD, etc Complejos de usar S.O incompatibles No son estndar ni de libre distribucin

iCOMP
iCOMP es un benchmark desarrollado por Intel para poder medir el rendimiento de sus procesadores, cuando cambios arquitectnicos impedan una comparacin nicamente por la frecuencia de reloj. iCOMP es un acrnimo de Intel COmparative Microprocessor Performance. Sin embargo, este benchmark no ha tenido la repercusin que Intel esperaba. El tipo de computadoras que intenta medir son las computadoras personales y servidores de red basados en microprocesadores Intel. Hubo tres revisiones del ndice iCOMP.
La versin 1.0 indicaba el rendimiento con respecto al 486SX 25 La versin 2.0 indicaba el rendimiento con respecto al Pentium 120, y La versin 3.0 indicaba el rendimiento con respecto al Pentium II 350Mhz.

Resultados
Su resultado expresa el rendimiento relativo de los procesadores Intel respecto a algn procesador Intel que se considera base. Para esto calcula la media geomtrica ponderada de los distintos benchmarks que lo componen. En la versin 1.0 el procesador Intel 486SX 25MHz tena el puntaje de 100, y los benchmaks que lo componen son:
ZD(Ziff-Davis) Bench - 68% 16-bit Whetstone - 2% SPECint92 - 25% SPECfp92 - 5%

En la versin 2.0 el procesador de referencia pas a ser el Pentium de 120 MHz, y los benchmarks que lo componen estn preparados para medir la performance de procesadores de 32 bits. Estos son:
CPUmark32 Norton Utilities SI32 CINT95 y CFP95 de SPEC Intel Media Benchmark.

Estas medidas fueron escogidas entre una serie de benchmarks pblicamente disponibles. Entre las razones esgrimidas para su eleccin tenemos que cada uno mide una caracterstica especial de la arquitectura Intel; adems utilizan una mezcla de aplicaciones que se encuentran hoy en da en la mayora de los sistemas. Al otorgarle distintos pesos a cada uno Intel tambin establece cules son de esas caractersticas las ms importantes para las aplicaciones del momento. Posteriormente sali al pblico la versin 3.0, que tom como base al Pentium II de 350 MHz y nuevamente cambi la mezcla que conforma el benchmark general. Obviamente, al ser un benchmark definido por el mismo Intel responde a sus propios intereses, particularmente se nota que la relacin entre puntajes del iCOMP siempre supera al del reloj. Adems, a medida que fue cambiando su arquitectura fue cambiando este benchmark para que d mejores resultados segn las nuevas caractersticas que iba incorporando.

SPEC
Standard Performance Evaluation Corporation (SPEC), es un consorcio sin fines de lucro que incluye a
vendedores de computadoras. integradores de sistemas Universidades grupos de investigacin, publicadores y consultores de todo el mundo.

Tiene dos objetivos:


crear un benchmark estndar para medir el rendimiento de computadoras y controlar y publicar los resultados de estos tests.

Open Systems Group (OSG), grupo de sistemas abiertos: realizan benchmarks de nivel de componentes y sistemas en ambientes Unix/NT/VMS. Adems del conocido
SPEC CPU2000 suite, el grupo ha desarrollado benchmarks para Java (SPECjAppServer2002 -en el cual experimentan con una nueva mtrica de costo/rendimiento-, SPECjAppServer2001, SPEC JBB2000 y SPEC JVM98), de servidores web (SPECweb99_SSL, SPECweb99 y SPECweb96), un benchmark para servidor de correos (el SPEC MAIL2001) y uno de sistemas de red (el SPEC SFS97_R1). Por otra parte, tiene una serie de benchmarks ms actualmente en desarrollo; entre ellos podemos contar un nuevo benchmark de servidor de correos que incluye el protocolo iMAP.

High Performance Group(HPG), grupo de alto rendimiento: benchmarking en un ambiente de computacin numrico, con nfasis en computacin numrica de alto rendimiento. El nicho que intenta cubrir este benchmark incluye sistemas con multiprocesadores simtricos, clusters de estaciones de trabajo, sistemas paralelos con memoria distribuida y las tradicionales supercomputadoras vectoriales y vectoriales paralelas. Graphics Performance Characterization (GPC), caracterizacin del rendimiento de grficos: benchmarks para subsistemas grficos, OpenGL y Xwindows.

SPEC CPU 2000


SPEC CPU2000 es un Benchmark producido por la SPEC. Fue creado con el fin de proveer una medida de rendimiento que pueda ser usado para comparar cargas de trabajo intensivas en cmputo en distintos sistemas de computadora. Contiene dos benchmark suites:
CINT2000 para medir y comparar el rendimiento de computacin intensiva de enteros, y CFP2000 para medir y compara el rendimiento de computacin intensiva en flotantes.

El CINT2000 y el CFP2000 no fuerzan la entrada/salida (unidades de disco), trabajo en red o grficos.

CINT2000 contiene 11 aplicaciones escritas en C y una en C++ (252.eon) que son usadas como benchmarks. Nombre Breve descripcin 164.gzip Utilidad de compresin de datos. 175.vpr Direccionamiento y ubicacin de circuitos FPGA. 176.gcc Compilador C. 181.mcf Resolutor de costo mnimo de flujo de red. 186.crafty Programa de ajedrez. 197.parser Procesamiento de lenguaje natural. 252.eon Efectos producidos por distintas fuentes de luz. 253.perl bmk Perl. 254.gap Teora de grupo computational. 255.vortex Base de datos orientada a objetos. 256.bzip2 Utilidad de compresin de datos. 300.twolf Simulador de ubicacin y ruteo.

CFP2000 contiene 14 aplicaciones (seis en Fortran77, cuatro en FORTRAN90 y cuatro en C) que son usadas como benchmarks:

Nombre Breve 168.wupwise 171.swim 172.mgrid 173.applu 177.mesa 178.galgel 179.art 183.equake 187.facerec 188.ammp 189.lucas 191.fma3d 200.sixtrack 301.apsi

Descripcin Cromodinmica de cuantos. Modelado de aguas poco profundas. Resolutor de multi-grilla en campos potenciales 3D. Ecuaciones diferenciales parciales parablicas/elpticas. Biblioteca de grficos 3D. Dinmica de fluidos: anlisis de inestabilidad oscilatoria. Simulacin de red neuronal: teora de la resonancia adaptativa. Simulacin de elementos finitos: modelado de terremotos. Reconocimientos de imgenes: reconocimiento de rostros. Qumica computacional. Teora de los nmeros: prueba de primalidad. Simulacin de elementos finitos en choque. Modelo de acelerador de partculas. Resolutor de problemas de temperatura, viento y distribucin de contaminantes.

Requerimientos
El usuario debe tener corriendo
un sistema Unix o Windows NT con compiladores C, C++ y Fortran90 (Fortran77 puede ser usado para algunos benchmarks), una unidad de CD-ROM, y dependiendo del sistema bajo prueba, aproximadamente 1 GB de disco para instalar, construir y ejecutar SPEC CPU2000.

Adems, una cuestin importante es que se asume que el equipo tiene al menos 256 MB de memoria principal, de tal manera de asegurarse que el benchmark sea intensivo en cmputos (SPEC requiere un gran tamao de memoria para medir el rendimiento de aplicaciones grandes), o sea, que los fallos de pgina no tengan efecto en las mediciones.

LEYES DE AMDAHL
Evalan las modificaciones en el rendimiento de un computador cuando se introducen mejoras o ms recursos. El criterio lo que hay que mejorar o modificar siempre es lo que ms se usa frecuentemente = =

Primera Ley de Amdahl


El aumento del rendimiento debido a la inclusin de una mejora con un nuevo recurso en el sistema est limitado por el tiempo que se utiliza dicha mejora en la ejecucin de la tarea.
= + sin

Segunda Ley de Amdahl


Cuando se introduce una mejora a un computador previamente mejorado, el incremento del rendimiento es menor que si se introduce la mejora sobre el sistema sin mejorar.

Se cambia la ALU de un procesador dedicado a una tarea la cual el 50% del tiempo lo hace la ALU. La nueva ALU es dos veces ms rpido que la anterior. Calcular el tiempo de mejora.

Sustituimos la ALU por una nueva un 30% mayor. Si inicialmente una computador tardaba 2seg. En hacer un programa cunto tarda ahora sabiendo que la ALU para este programa est funcionando el 50% del tiempo?

Evaluar la aceleracin del rendimiento del sistema computador cuando se cambio la ALU del procesador por otro 10 veces ms rpida, sabiendo que la ALU participa durante el 40% del tiempo que dura la tarea.

Un programa se ejecuta en 10seg trabajando la cpu a 400 MHz. Se desea disear una implementacin para que dicho cdigo se ejecute en 6seg. Se sabe que un aumento de la frecuencia del reloj aumenta el CPI en 1,2 veces el que tena cul debe ser la nueva frecuencia de funcionamiento?

Para un programa X, un compilador gener la siguiente distribucin de instrucciones


Tipo de instrucc Operaciones ALU Cargas Almacenamiento Saltos Frec de una Instrucc 43% 21% 12% 24% CPI 1 2 2 2

El compilador se optimiza de manera que para el mismo programa descarta el 50% de las instrucciones de la ALU aunque no pueda reducir cargas, almacenamientos, saltos. Ignorando las prestaciones del sistema y suprimiendo una duracin de ciclo de 2ns (f de reloj=500MHz) Cul es la frecuencia en MIPS para el cdigo optimizado frente al cdigo sin optimizar? Estn los resultados en MIPS de acuerdo con los del tiempo de ejecucin?