Sunteți pe pagina 1din 40

Introduccin a la evaluacin del rendimiento

Obtener el rendimiento ms alto con el coste ms pequeo Usuarios, administradores y diseadores


Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 1

Contenido
1. Introduccin a la evaluacin
La carga Medidas de rendimiento Variables que afectan al rendimiento

2. Tcnicas de evaluacin
Monitorizacin de sistemas Referenciacin (benchmarking) Modelado

3. Comparacin de prestaciones y coste


Aceleracin del rendimiento Incremento del coste

4. Lmites en la mejora de rendimiento


Ley de Amdahl Ley de Gustafson Ejemplos de aplicacin
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 2

1. Introduccin a la evaluacin
Qu inters tiene la evaluacin? Qu variables reflejan el rendimiento? Qu afecta al rendimiento?

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Por qu evaluar el rendimiento?


Los computadores tienen un precio que dependen de los costes de diseo y de fabricacin Hace falta relacionar precio y calidad
Comprador: este computador cuesta el doble que el otro, pero... es el doble de rpido? Diseador: esta decisin de diseo incrementa el precio de fabricacin, pero... incrementa la calidad y velocidad del producto en la misma o mayor proporcin?

El anlisis de prestaciones y precios (costes) es un mecanismo que permite elegir entre productos Terminologa bsica sobre rendimiento (performance)
Rendimiento, prestaciones, desempeo (Latinoamrica)
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 4

El papel del rendimiento es importante

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

En qu consiste la evaluacin?
Saber cmo el software (combinacin de programas) est usando el hardware de una mquina: comportamiento Carga
Vara con el tiempo

Tiene un diseo adecuado? Cul es su rendimiento? Puede rendir mejor? Cmo puede rendir mejor?
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 6

Para qu sirve la evaluacin?


Optimizar el diseo de un sistema informtico
Evaluacin del impacto de diferentes opciones

Seleccionar un sistema informtico


Relacin rendimiento/precio

Ajustar un sistema informtico (system tuning)


Variacin del software/hardware para mantener el mximo rendimiento

Predecir la carga mxima aceptable (capacity planning)


El rendimiento siempre depende de la carga!

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

La carga y la evaluacin
Carga (load): conjunto de tareas que ha de hacer un sistema
Programas, datos y rdenes de los usuarios

Carga de prueba (workload)


Carga empleada en un estudio de evaluacin

Variables que reflejan la carga


Nmero de programas simultneos en ejecucin Accesos por unidad de tiempo a un servidor de pginas web Peticiones por unidad de tiempo a una base de datos

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Adaptacin a la carga: el mito


Un computador no es bueno ni malo per se, sino que se adapta mejor o peor a un tipo determinado de carga Computadores adaptados a cargas especficas
Servidores web Servidores de bases de datos Servidores de ficheros Computadores personales Multiprocesadores Multicomputadores Etc.

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Cmo se ve la actividad de un sistema


Vistas del sistema
Interna: administrador, diseador Externa: usuario
Parmetros (configuracin)

Carga
Magnitudes medibles
Consumo de tiempo Utilizacin de dispositivos o recursos Trabajo hecho por el sistema o por algn componente
Medidas cuantitativas

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

10

Medidas de rendimiento
Tiempo de respuesta (response time)
Tiempo total desde el principio hasta el final de la actividad
Tiempo de ejecucin de un programa (s) Tiempo de acceso a un disco (ms) La ms fiable e intuitiva para comparar rendimientos!

Productividad (throughput)
Cantidad de trabajo hecho por unidad de tiempo
Programas ejecutados por hora Pginas por hora servidas por un servidor web Correos por segundo procesados por un servidor de correo Peticiones por minuto procesados por un servidor de comercio electrnico
11

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Formas cannicas del rendimiento

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

12

Ejemplo para un servidor web

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

13

Representacin no cannica

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

14

Ejemplos de grficas errneas

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

15

Qu afecta al rendimiento?
Parmetros del sistema operativo
Tipos de sistema operativo Polticas de planificacin y gestin de procesos Configuracin del sistema de memoria virtual

Componentes hardware del sistema


Calidad y velocidad

Diseo de los programas


Localidad en las referencias

Distribucin de la carga (load balancing)

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

16

Cmo podemos mejorar el rendimiento?


Actualizacin de componentes (upgrading techniques)
Reemplazamiento por dispositivos ms rpidos Aadir nuevas unidades

Ajuste o sintonizacin (tuning techniques)


Parmetros del sistema operativo Parmetros de las aplicaciones informticas

Algunos problemas prcticos


Actualizacin de componentes
Compatibilidad con los existentes o facilidad del sistema
Biprocesadores, discos agrupados en matrices (RAID)

Sintonizacin
Conocimiento profundo del sistema operativo Posible alteracin de la fiabilidad
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 17

2. Tcnicas de evaluacin
Cmo podemos medir (o predecir) el rendimiento de un sistema informtico?

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

18

Contextos para obtener rendimiento


Sistema real ndices de rendimiento ndices de rendimiento Modelo del sistema real

Carga real Modelo de la carga real

Son iguales?

ndices de rendimiento

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

19

De qu tcnicas disponemos?
Mtodos y herramientas para estimar los ndices de prestaciones
Monitorizacin del sistema real
Herramientas de medida sobre el sistema real

Referenciacin (benchmarking) con sistemas reales o modelados


Comparacin del rendimiento de sistemas

Modelado
Reproduccin del comportamiento del sistema
Mtodos analticos (redes de colas, cadenas de Markov, redes de Petri, ...) Simulacin discreta (CSIM, SMPL, Simula, ...)

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

20

3. Comparacin conjunta de prestaciones y coste


Relacin de rendimientos: aceleracin (speedup) Relacin rendimiento/coste

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

21

Comparacin de prestaciones
Perspectiva actual
Ejecutar los programas reales (o los ms precidos a los programas reales) para evaluar el rendimiento de un sistema

El computador ms rpido es aquel que ejecuta la aplicacin en el tiempo ms corto


Programa

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

22

Comparacin de prestaciones
El computador X es A veces ms rpido que Y

Tiempo de ejecucin Y Rendimient o X Aceleraci n = = Tiempo de ejecucin X Rendimient o Y


El computador X es un n% ms rpido que Y

Tiempo de ejecucin Y Rendimiento X n = = 1.0 + Tiempo de ejecucin X Rendimiento Y 100


Hay que evitar:
El computador X es un n% MEJOR que Y El computador Y es un n% ms LENTO que X
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 23

Ejemplo de comparacin de prestaciones


Un programa se ejecuta en 36 s en el computador VERDE y en 45 s en el computador ROJO

Tiempo ROJO 45 s 25 A= = = 1.25 = 1.0 + Tiempo VERDE 36 s 100


El computador VERDE es 1.25 veces ms rpido que el ROJO El computador VERDE es un 25% ms rpido que el ROJO
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 24

Ejemplo de comparacin de costes


El computador VERDE cuesta 625 El computador ROJO cuesta 550

Coste VERDE 625 14 C = = = 1.14 = 1.0 + Coste ROJO 550 100


El computador VERDE es 1.14 veces ms caro que el ROJO El computador VERDE es un 14% ms caro que el ROJO
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 25

Comparacin de rendimiento y coste


En general, resulta una cuestin muy complicada La bibliografa no trata este tema de una forma sistemtica Se suele hablar de las relaciones siguientes:
Rendimiento/coste (a maximizar) Coste/rendimiento (a minimizar)

Optaremos por soluciones muy sencillas

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

26

Ejemplo comparacin prestaciones/coste


En comparaciones de sistemas, idealmente, siempre interesar elegir aquellas opciones que maximicen el cociente prestaciones/coste
Rendimiento ROJO 1 1 = = = 4.04 10 5 Coste ROJO Tiempo ROJO Coste ROJO 45 550
Rendimiento VERDE 1 1 = = = 4.44 10 5 Coste VERDE Tiempo VERDE Coste VERDE 36 625

En este caso, el computador VERDE presenta una relacin ligeramente ms alta que el ROJO
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 27

4. Lmites en la mejora del rendimiento


La ley de Amdahl La ley de Gustafson Ejemplos de aplicacin

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

28

Mejora de un sistema
La mejora de un sistema no es ilimitada
Hay que saber hacia dnde dirigir los esfuerzos de optimizacin

La mejora de cualquier sistema debido a un componente ms rpido depende del tiempo que ste se utilice Discusin preliminar Un sistema tarda un tiempo Toriginal en ejecutar un programa
Mejoramos el sistema acelerando k veces uno de sus componentes Este componente se utiliza durante una fraccin f del tiempo

Toriginal
Cul es la aceleracin A del sistema global?
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 29

Tiempo original vs tiempo mejorado


Toriginal
Recurso no utilizado Fraccin 1f Recurso utilizado Fraccin f

Recurso no utilizado

Recurso utilizado

Tmejorado

Recurso mejorado k veces

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

30

Ley de Amdahl (1967)


Cul es la aceleracin A (speedup) del sistema completo despus de acelerar k veces un componente?

A=

Toriginal Tmejorado

A=

1 f (1 f ) + k

f Tmejorado = Toriginal (1 f ) + k

Casos particulares de la ley


Si f = 0 A = 1: no hay ninguna mejora en el sistema Si f = 1 A = k : el sistema mejora igual que el componente
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 31

Ejemplo de clculo
La utilizacin de un procesador es del 60% En cunto aumentar el rendimiento del sistema si se duplica la velocidad del procesador (k=2)?

A=

1 0.6 (1 0.6) + 2

= 1.43

El rendimiento aumenta 1.43 veces El rendimiento aumenta un 43%

Aceleracin mxima que se puede conseguir

1 1 lm A = = = 2.5 k (1 - f ) (1 - 0.6)
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 32

Contexto de la ley de Amdahl


Artculo firmado por Gene Amdahl
Validity of the Single Processor Approach to Achieving LargeScale Computing Capabilities, AFIPS Conference Proceedings, (30), pp. 483-485, 1967. Se utiliza para poner de manifiesto las limitaciones de los multiprocesadores en el cmputo paralelo No se enuncia como ley

f = 0.5

f = 0.95

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

33

Anlisis: relacin entre A, f y k


Relaci entre A i f,a 10 9 8 7

Relacin entre A, f y k

k=infinito A=5

Aceleracin global (A)

Acceleraci global (A)

6 5 4 3 2 1 0 0.1 0.2 0.3 0.4 0.5 0.6 Utilitzaci millorada (f) 0.7 0.8 0.9 1

k =infinito A=2

k = Infinito k = 50 k = 10 k=5 k=4 k=3 k=2 k = 1.5

Utilizacin mejorada (f)


Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento 34

Generalizacin de la ley de Amdahl


Caso con una mejora solamente

A=

1 f (1 f ) + k

Caso general con n mejoras

A=

1 i =1
n

1 n fi fi + k i =1 i
35

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Rendimiento de multiprocesadores
Sistema con p procesadores Aplicacin a paralelizar
Fraccin secuencial = 0.10 Fraccin paralelizable = 0.90
Cul es la aceleracin obtenida con 15 procesadores? Cul es la aceleracin mxima obtenible?

A=

1 1 = = 6.25 f paralela 0.90 f secuencial + p 0.10 + 15

lm A =
p

1 f secuencial

1 = = 10 0.10
36

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

Evolucin de la aceleracin
16,00 14,00 12,00

5% secuencial

Aceleracin

10,00 8,00 6,00 4,00 2,00 0,00 0

8.82
10% secuencial

10

20

6.25 30

40

50

Procesadores

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

37

Planteamiento de Gustafson
Amdahl enfatiza el aspecto ms negativo del procesamiento paralelo Las mquinas paralelas se usan para resolver grandes problemas (meteorologa, biologa molecular) Un computador secuencial nunca podra ejecutar un gran programa paralelo

T1 A= Tp

= Parte secuencial 1 = Parte paralela

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

38

La aceleracin proporcional
La cantidad de trabajo que se puede hacer en paralelo vara linealmente con el nmero de procesadores
Con ms procesadores se pueden acometer problemas de mayor coste computacional

T1 T1 + (1 ) pT1 Ap = = = p + (1 p ) Tp T1
T1 = Tp

T1

(1 ) T1

Mquina paralela Mquina secuencial

T1

T1

(1 ) p T1

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

39

Algunas reflexiones finales


Una mejora es ms efectiva cuanto ms grande es la fraccin de tiempo en que sta se aplica Para mejorar un sistema complejo hay que optimizar los elementos que se utilicen durante la mayor parte del tiempo (caso ms comn) Campos de aplicacin de las optimizaciones
Dentro del procesador: la ruta de datos (data path) En el juego de instrucciones: la ejecucin de las instrucciones ms frecuentes En el diseo de la jerarqua de memoria, la programacin y la compilacin: hay que explotar la localidad de las referencias
El 90% del tiempo se est ejecutando el 10% del cdigo

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento

40

S-ar putea să vă placă și