Anda di halaman 1dari 40

1

Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Introduccin a la
evaluacin del rendimiento
Usuarios, administradores
y diseadores
Obtener el rendimiento
ms alto con el coste
ms pequeo
2
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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
Contenido
3
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
1. Introduccin a la evaluacin
Qu inters tiene la evaluacin?
Qu variables reflejan el rendimiento?
Qu afecta al rendimiento?
4
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)
5
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
El papel del rendimiento es importante
6
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
Tiene un diseo adecuado?
Cul es su rendimiento?
Puede rendir mejor?
Cmo puede rendir mejor?
Vara con el tiempo
7
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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!
8
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
9
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.
10
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





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

Parmetros
(configuracin)
Medidas
cuantitativas
Carga
11
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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)


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
La ms fiable e intuitiva
para comparar
rendimientos!
12
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Formas cannicas del rendimiento
13
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Ejemplo para un servidor web
14
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Representacin no cannica
15
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Ejemplos de grficas errneas
16
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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)
17
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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
18
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
2. Tcnicas de evaluacin
Cmo podemos medir (o predecir) el
rendimiento de un sistema informtico?
19
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Contextos para obtener rendimiento
Carga real
Sistema real
Modelo del sistema real
Modelo de la
carga real
ndices de
rendimiento
ndices de
rendimiento
ndices de
rendimiento
Son iguales?
20
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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, ...)
21
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
3. Comparacin conjunta de
prestaciones y coste

Relacin de rendimientos: aceleracin (speedup)
Relacin rendimiento/coste
22
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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
X
Y
Programa
23
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Comparacin de prestaciones
El computador X es A veces ms rpido que Y



El computador X es un n% ms rpido que Y



Hay que evitar:
El computador X es un n% MEJOR que Y
El computador Y es un n% ms LENTO que X
Y
X
X
Y
o Rendimient
o Rendimient
ejecucin de Tiempo
ejecucin de Tiempo
n Aceleraci = =
100
0 . 1
o Rendimient
o Rendimient
ejecucin de Tiempo
ejecucin de Tiempo
Y
X
X
Y
n
+ = =
24
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Ejemplo de comparacin de prestaciones
Un programa se ejecuta en 36 s en el computador
VERDE y en 45 s en el computador ROJO





El computador VERDE es 1.25 veces ms rpido que el
ROJO
El computador VERDE es un 25% ms rpido que el
ROJO
100
25
0 . 1 25 . 1
s 36
s 45
Tiempo
Tiempo
VERDE
ROJO
+ = = = = A
25
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Ejemplo de comparacin de costes
El computador VERDE cuesta 625
El computador ROJO cuesta 550





El computador VERDE es 1.14 veces ms caro que el
ROJO
El computador VERDE es un 14% ms caro que el
ROJO
100
14
0 . 1 14 . 1
550
625
Coste
Coste
ROJO
VERDE
+ = = = = AC
26
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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
27
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Ejemplo comparacin prestaciones/coste
En comparaciones de sistemas, idealmente, siempre
interesar elegir aquellas opciones que maximicen el
cociente prestaciones/coste






En este caso, el computador VERDE presenta una
relacin ligeramente ms alta que el ROJO
5
ROJO ROJO ROJO
ROJO
10 04 . 4
550 45
1
Coste Tiempo
1
Coste
o Rendimient

=

=
5
VERDE VERDE VERDE
VERDE
10 44 . 4
25 6 36
1
Coste Tiempo
1
Coste
o Rendimient

=

=
28
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
4. Lmites en la mejora del rendimiento
La ley de Amdahl
La ley de Gustafson
Ejemplos de aplicacin
29
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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 T
original
en ejecutar un programa
Mejoramos el sistema acelerando k veces uno de sus
componentes
Este componente se utiliza durante una fraccin f del tiempo
T
original

Cul es la aceleracin A del sistema global?
30
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Tiempo original vs tiempo mejorado

Recurso no utilizado Recurso utilizado
Fraccin 1f
Fraccin f
Recurso no utilizado Recurso utilizado
T
original

T
mejorado

Recurso mejorado
k veces
31
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Ley de Amdahl (1967)
Cul es la aceleracin A (speedup) del sistema
completo despus de acelerar k veces un componente?






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
mej orado
original
T
T
= A
( )
|
.
|

\
|
+ =
k
f
f 1 T T
original mej orado
( )
|
.
|

\
|
+
=
k
f
f
A
1
1
32
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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)?




Aceleracin mxima que se puede conseguir
43 . 1
2
6 . 0
) 6 . 0 1 (
1
=
|
.
|

\
|
+
= A
El rendimiento aumenta 1.43 veces
El rendimiento aumenta un 43%
( ) ( )
5 . 2
.6 0 - 1
1
- 1
1
lm = = =

f
A
k
33
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Contexto de la ley de Amdahl
Artculo firmado por Gene Amdahl
Validity of the Single Processor Approach to Achieving Large-
Scale 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
34
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Anlisis: relacin entre A, f y k
1
2
3
4
5
6
7
8
9
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
A
c
c
e
l
e
r
a
c
i


g
l
o
b
a
l

(
A
)
Utilitzaci millorada (f)
Relaci entre A i f ,a
k = Infinito
k = 50
k = 10
k = 5
k = 4
k = 3
k = 2
k = 1.5
k =infinito A=2
k=infinito A=5
Utilizacin mejorada (f)
A
c
e
l
e
r
a
c
i

n

g
l
o
b
a
l

(
A
)

Relacin entre A, f y k
35
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
Generalizacin de la ley de Amdahl
Caso con una mejora solamente




Caso general con n mejoras
( )
|
.
|

\
|
+
=
k
f
f
A
1
1

= =
|
|
.
|

\
|
+ |
.
|

\
|

=
n
i
i
i
n
i
i
k
f
f
A
1 1
1
1
36
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?
25 . 6
15
90 . 0
10 . 0
1 1
paralela
secuencial
=
|
.
|

\
|
+
=
|
|
.
|

\
|
+
=
p
f
f
A
10
10 . 0
1 1
lm
secuencial
= = =

f
A
p
37
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
0,00
2,00
4,00
6,00
8,00
10,00
12,00
14,00
16,00
0 10 20 30 40 50
Procesadores
A
c
e
l
e
r
a
c
i

n
Evolucin de la aceleracin
5% secuencial
8.82
6.25
10% secuencial
38
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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
p
T
T
A
1
=
paralela Parte 1
secuencial Parte
=
=
o
o
39
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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
) 1 (
) 1 (
1
1 1 1
p p
T
pT T
T
T
A
p
p
+ =
+
=
'
= o
o o
T
1
= T
p
T
1
o T
1
(1o) T
1
o T
1
(1o) p T
1
Mquina paralela
Mquina
secuencial
40
Evaluacin y modelado del rendimiento de los sistemas informticos: Introduccin a la evaluacin del rendimiento
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

Anda mungkin juga menyukai