Métricas de Rendimiento de Sistemas Operativos

19
Métricas de Rendimiento de Sistemas Operativos

description

Métricas de Rendimiento de Sistemas Operativos. Métricas de Rendimiento de Sistemas Operativos. La medición es fundamental para cualquier disciplina de ingeniería. - PowerPoint PPT Presentation

Transcript of Métricas de Rendimiento de Sistemas Operativos

Page 1: Métricas de Rendimiento de Sistemas Operativos

Métricas de Rendimiento de Sistemas Operativos

Page 2: Métricas de Rendimiento de Sistemas Operativos

Métricas de Rendimiento de Sistemas Operativos

La medición es fundamental para cualquier disciplina de ingeniería.

Según Loard Kelvin “Cuando pueda medir lo que está diciendo y expresarlo con números, ya conoce algo sobre ello; cuando no pueda medir, cuando no pueda expresar con números lo que dice, su conocimiento es precario y deficiente: puede ser el comienzo del conocimiento, pero en sus pensamientos, apenas está avanzando hacia el escenario de la ciencia”.

Page 3: Métricas de Rendimiento de Sistemas Operativos

Métricas de Rendimiento de Sistemas Operativos

Indicadores

Medida : Indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos atributos de un proceso o producto.

Métrica: Medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado.

Indicador: Es una métrica o combinación de métricas que proporcionan una visión profunda del proceso de SW, del proyecto o producto en sí. Permite al gestor de proyectos ajustar el producto, proyecto o proceso para que las cosas salgan mejor.

Page 4: Métricas de Rendimiento de Sistemas Operativos

Métricas de Rendimiento de Sistemas Operativos

Formas de medir el rendimiento:

Tiempo de respuestaTiempo entre el comienzo y finalización de una tarea. También llamado tiempo de ejecución.

Productividad (throughput)Cantidad total de trabajo realizado en un tiempo determinado.Una mejor medida desde el punto de vista del sistema pero no desde el punto de vista del usuario.

Page 5: Métricas de Rendimiento de Sistemas Operativos

Métricas de Rendimiento de Sistemas Operativos

Métricas de software1. Medidas directas: Ejm: costo, esfuerzo

2. Medidas indirectas: Ejm: LDC, velocidad de ejecución, defectos durante un período de tiempo.

Métricas orientadas al Tamaño Provienen de la normalización de las medidas de calidad y/o productividad, considerando el “tamaño” del SW producido.Métricas orientadas a la Función Utilizan una medida de “funcionalidad” de la aplicación como valor de normalizaciónPuntos de fusión y factores de complejidad

Page 6: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 6 de 22

El rendimiento de un computador X es inversamente proporcional al tiempo de ejecución:

Rendimiento y tiempo de ejecución

XX ejecución de Tiempo

ienton 1dimRe

• Computador X es n% más rápido que el computador Y

• Computador Y es n% más lento que el computador X

nienton

ientonienton

Y

YX 100*

dimRedimRedimRe

nienton

ientonienton

X

YX 100*

dimRedimRedimRe

Page 7: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 7 de 22

Medidas del tiempo Tiempo (segundos)

Única medida completa y fiable del rendimiento de un computador.

Comando Unix: time “programa” --> 90.7 u 12.9 s 2:39 65%

¿ Q u é tie m po m e d im o s?

Tiem po de usuario9 0 .7 s

Tiem po del S istema1 2 .9 s

Tiem po de CPU(D e d ica do a n u e stra ta re a)

9 0 .7 s + 1 2 .9 s = 1 0 3 .6 s (6 5 % )

T ie m p o d e d ica d o a :Entrada/salida, otros program as

5 5 .4 s

Tiem po transcurrido(to ta l: 2 :3 9 )

Page 8: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 8 de 22

ciclo de Tiempoprograma por reloj ciclos NºT x =CPU

nesinstruccio de Recuentoprograma por reloj de ciclos Nº

CPI =MEDIO

ciclo de Tiempo x CPI x nesinstruccio de RecuentoT MEDIO =CPU

(CPIMEDIO : Nos permite comparar dos implementaciones de una misma arquitectura)

= T * CPI * NT CCPU

Reloj

Rendimiento de la CPU:Ecuación clásica

Page 9: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 9 de 22

TCPINT Cxx=

CicloSegundos

xnInstrucció

Ciclosx

magraoPresInstrucion

=magraoPr

Segundos=CPU_Tiempo

Recuento deInstrucciones CPI Tiempo de Ciclo

Programa x

Compilador x (x)

Repertorio deinstrucciones

x x

Organización-Estructura

x x

Tecnología x

Factores de la ecuación clásica:Análisis de dependencias

Page 10: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 10 de 22

Métricas populares de rendimiento (I)MIPS y MFLOPS

MIPS (millones de instrucciones por segundo)

Inconvenientes de la métrica: Los MIPS dependen del repertorio de instrucciones. No

podemos comparar distintas arquitecturas. Los MIPS varían entre programas en el mismo

computador. Los MIPS pueden variar inversamente al rendimiento.

MIPSTiempoTiempo

MIPS

106 x CPIreloj del Frecuencia

MIPS

ferenciaRe

estimado_No

ferenciaRelativosRe

Nativos

x=

=

Page 11: Métricas de Rendimiento de Sistemas Operativos

Estructura de Computadores (EUI: 2º ITIS)

Cap 2: Rendimiento de un computador 11 de 22

Métricas populares de rendimiento (II)MIPS y MFLOPS

MFLOPS (Millones de operaciones en punto flotante por

segundo)

Inconvenientes: Sólo aplicable a las operaciones en punto flotante. Instrucciones en punto flotante no comparables entre diferentes

máquinas.Máquina A: *, -, * y / Máquina B: No tiene “/” (dará mas

MFLOPS) Mezcla de operaciones rápidas y lentas.

Los MFLOPS para 100 sumas serán mayores que para 100 divisiones.

MFLOPS normalizados:

106 . ejecución de Tiempoflotante punto en soperacione Nº

MFLOPS =

Operaciones Pesos+, - , * y comparar 1, raíz cuadrada 4Exp, seno 8

Page 12: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 12 de 22

Programas para la evaluación del rendimiento (I) Benchmarks

Programas que forman una carga de trabajo con la que el usuario espera predecir el rendimiento de la carga de trabajo real.

Programas reales típicos Ejemplos: Compiladores (gcc), tratamiento de textos (TeX),

herramientas CAD (spice). Núcleos obtenidos de programas reales (Kernels)

Pequeñas partes intensivas en el tiempo de programas reales. Ejemplo: Livermore Loops y Linpack.

Programas triviales o benchmarks reducidos (toys) 10 -100 líneas de programa. Resultado conocido antes de ejecutarlo. Ejemplo:Quicksort, puzzle, ...

Programas sintéticos Creados artificialmente (programas sintéticos). Ejemplo: Whetstone y Dhrystone.

Page 13: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 13 de 22

Programas para la evaluación del rendimiento (II) Benchmarks SPEC: Cooperativa de Evaluación del Rendimiento de Sistemas

(System Performance Evaluation Cooperative)

En 1988 representantes de unas cuantas compañías - Apollo/Hewlett-Packard, DEC, MIPS y Sun- fundan una cooperativa para la evaluación del rendimiento de sistemas.

Llegan al acuerdo de ejecutar todos un conjunto de programas y entradas reales. Factible debido en gran parte a:

Sistemas Operativos portables (Unix) Popularidad de los Lenguajes de Alto Nivel. Ahora, los compiladores, también forman parte del rendimiento de

un computador y deben ser medidos en cualquier evaluación.

Page 14: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 14 de 22

Problemas de los programas de prueba

Los benchmarks reducidos (toys) y los sintéticos no cargan la memoria principal del sistema de forma realista (todo el programa cabe en la memoria cache)

Una vez que el benchmark se estandariza inmediatamente aparecen mejoras específicas para el mismo elevando los resultados de rendimientos. Si los benchmarks fuesen nuestros programas nos veríamos beneficiados ya que los interesados harían que nuestra aplicación fuese más rápida.

Los benchmarks reales son difíciles de realizar, situación que se agudiza en los casos de: Máquina no construida, simuladores más lentos. Benchmarks no portables Compiladores no disponibles

Page 15: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 15 de 22

Comparación y resumen de rendimientos: Combinación de medidas de rendimiento

¿Cómo combinar el rendimiento de un conjunto de programas?

trabajo decarga la de programas de Número niésimoprograma del ejecución de Tiempo Ti

))MFLOPS, (ej. frecuenciauna comoexpresa seorendimient el(Si

iin

i i

n

iiMedio T

V donde

V

nTn

T

armónicaMedia aritméticaMedia 1

11

1

1

1.a igual pesos los de Suma iésimo.programa del FrecuenciaiPeso

i

n

iiMedio TPesoT

ponderada aritméticaMedia

*

1

n. de total un de iésimoprograma elpara ,referencia demáquina la para onormalizad ejecución, de TiempooNormalizad

iT

nn

i

oNormalizadiMedion

i i

i

TT

VPeso

osnormalizad tiempospara geométricaMedia ponderadaarmónica Media

1

1

1

Page 16: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 16 de 22

El posible aumento de rendimiento para una mejora dada está limitado por la cantidad que se utiliza la característica mejorada.

Si suponemos que la mejora acelera una fracción F de la tarea en un factor de S, entonces la ganancia de velocidad (speedup) vendrá dada por:

Corolario: Hacer rápido el caso común.

Ley de Amdahl

)1( FSF

1

mejorala por afectado no ejecución de Tiempomejorala de Cantidad

mejorala por afectado ejecución de Tiempomejorala de después ejecución de Tiempo

mejorala de después ejecución de Tiempomejorala de antes ejecución de Tiempo

mejorala de antes oRendimientmejorala de después oRendimientvelocidadGanancia

F 1-F1

Page 17: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 17 de 22

Ejemplo de ganancia de velocidad (Speedup):Uso de Procesadores Paralelos (I)

Suponga una aplicación que casi toda es paralela (90%) o lo que es lo mismo, una tarea que puede ejecutarse por varios procesadores simultáneamente.

Número de procesadores: P

Al pasar de 100 a 1000 procesadores el aumento de rendimiento no ha sido tanto como el esperado. Para aumentarlo es necesario acelerar la parte secuencial del programa o que la fracción factible de ejecutarse en paralelo aumente.

P

SpeedupP 9.01.0

1

3.5

109.01.0

110

Speedup 17.9

1009.01.0

1100

Speedup

91.9

10009.01.0

11000

Speedup

Page 18: Métricas de Rendimiento de Sistemas Operativos

Cap 2: Rendimiento de un computador

Estructura de Computadores (EUI: 2º ITIS) 18 de 22

Ejemplo de ganancia de velocidad (Speedup):Uso de Procesadores Paralelos (II)

Veamos que ocurre si mejoramos en cantidad 2 la parte no paralela:

Veamos que ocurre si aumentamos la fracción paralelizable en 0.05

Algunas direcciones de interés relacionadas con el rendimiento: http://www.specbench.org http://performance.netlib.org/performance/html/PDSreports.html

95.16

1009.0

21.0

12,100

Speedup

80.16

10095.005.0

1100

Speedup

Page 19: Métricas de Rendimiento de Sistemas Operativos

Métricas de Rendimiento de Sistemas Operativos

Pruebas

http://translate.google.com.mx/translate?hl=es&langpair=en%7Ces&u=http://www.pcmag.com/article2/0,2817,2355703,00.asp

http://blog.itechtalk.com/2010/simple-tips-to-improve-windows-7-performance/