Rendimiento de computadores - ¡Bienvenido a paloalto.unileon.es!

Transcripción

Rendimiento de computadores - ¡Bienvenido a paloalto.unileon.es!
+
Prof. José María Foces Morán
Dept. IESA
Universidad de León
Rendimiento de
computadores
Tiempo de ejecución
Tiempo de CPU
Rendimiento comparativo
Ley de Amdahl
Ley de Gustaffson
+
2
Computador síncrono
 
El flanco activo de
clock provoca que
los resultados
calculados se
salven en registros
 
Clock
 
Frecuencia // Tcyc
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
3
Rapidez de un computador X
 
Cuánto tiempo tarda X en ejecutar un programa.
 
Entre el inicio y el final de su ejecución
 
Tiempo de respuesta
 
Los usuarios están interesados en que el tiempo de respuesta
se vea reducido.
 
Tejecución X
 
Su rapidez viene dada por su rendimiento
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
4
Rendimiento
 
El computador X tarda Tx segundos en ejecutar un programa
 
Su rendimiento viene dado por:
1
Rx =
Tx
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
5
Rendimiento y tiempo de ejecución
 
Un aumento del tiempo de ejecución provoca una
reducción del rendimiento y, a la inversa.
1
Rx =
Tx
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
6
Cómo se comparan rendimientos
 
Convenio: Calcular cociente del rendimiento del más
rápido vs. el menos rápido:
Rx
=n
Ry
 
Decimos que X es n veces más rápida que Y para el
programa de prueba empleado
 
Coherente con nuestra intuición
€
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
7
Instrumentos de medida
 
Los microprocesadores y los sistemas operativos tienen
recursos especiales para medir tiempos, contar
instrucciones ejecutadas, etc
 
Tiempo:
 
Tiempo de respuesta = tiempo de reloj = tiempo transcurrido =
tiempo total
 
Tiempo de CPU: Tiempo imputable a la ejecución de
instrucciones de un proceso (programa en ejecución)
 
De sistema
 
De usuario
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
8
Sistemas operativos multitarea
 
El microprocesador se multiplexa en
el tiempo:
 
El planificador del sistema operativo
asigna un lapso de tiempo a cada
 
El micro pasa de un proceso a otro
dando a todos una oportunidad de
ejecutarse
 
El algoritmo empleado, en su forma más
básica se llama round-robin
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
 
9
Sistemas operativos multitarea
¿Cuánto tiempo de Cpu
consume Pn+2?
 
 
La suma de los tiempos de todas
las instrucciones de Pn+2
ejecutadas
¿Cuánto tiempo total tarda Pn+2?
 
Tcpu n+2 + Tswitch + Tcpu resto
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
10
Tiempo de CPU de una instrucción
 
CPI
 
Clocks-per-instruction
 
En este caso es 7
 
¿Cuánto tiempo de Cpu le
corresponde?
 
Supongamos Tcyc= 1ns
Tcpu = N instr × CPI × Tcyc = 1instr ×
7 ciclos
seg
×
= 1 × 7 × 1ns = 7ns
instrucción ciclo
€
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
11
Tiempo de CPU de un proceso
 
Suma de tiempos en los que el proceso P ha estado
ejecutándose
 
Suma de tiempos de ejecución de cada instrucción del
programa considerado
 
En general, no coincide con el tiempo de respuesta
 
¿Por qué?
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
12
Tiempo de CPU de un proceso
 
Un proceso puede encontrarse en estos estados
 
Running: El micro está ejecutándolo
 
Ready: Se encuentra listo para continuar su ejecución
 
Sleeping: Se encuentra esperando a que termine una operación de i/o
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
13
Tiempo de CPU de un proceso
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
14
Ecuación del rendimiento
 Tcpu=
Ninst · CPI · Tcyc!
 
Ninst instrucciones por programa!
 
CPI promedio de ciclos de reloj por instrucción!
 
Tcyc segundos por ciclo de reloj!
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
15
Frecuencias de aparición de
instrucciones en programas
 
Frecuencia estática
 
 
Contar cuántas veces aparece la instrucción en el texto fuente del programa.
Frecuencia dinámica
 
Contar cuántas veces se ejecuta la instrucción en tiempo de ejecución del programa
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
16
Frecuencia estática, ejemplo.
addi $t1, $zero, 100!
add $t0, $zero, $zero!
inicio: beq $t0, $t1, fin!
! !
!add $s3, $s1, $s2!
! !
!addi $t0, $t0, 1!
! !
!j inicio!
or $s7, $s7, $s6!
and $s7, $s7, $s5!
Prof. José María Foces Morán, Univ. de León, Dept. IESA
5
4
3
2
1
0
add beq
j
or
and
+
17
Frecuencias dinámicas, ejemplo.
addi $t1, $zero, 100!
add $t0, $zero, $zero!
inicio: beq $t0, $t1, fin!
!!
!add $s3, $s1, $s2!
!!
!addi $t0, $t0, 1!
!!
!j inicio!
or $s7, $s7, $s6!
and $s7, $s7, $s5!
250
200
150
100
50
0
add
beq
j
Prof. José María Foces Morán, Univ. de León, Dept. IESA
or
and
+
18
Ley de Amdahl
 
La mejora global obtenida al introducir una mejora en una
parte de un sistema depende de la proporción de tiempo
que se use esa mejora
 
Ley de los retornos menores
 
Ejemplo: Mejoramos la FPU un 20% ¿Cómo afecta al
rendimiento global?
 
No afecta en nada si no se usa la FPU
 
Afecta poco, si se usa poco.
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
19
Ley de Amdahl
 
Fórmula 1 (libro):
Tiempo de ejecución final obtenido:
Texecafter =
Texecaffected
Amount of improvement
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+ Texecnot −affected
+
20
Ley de Amdahl
 
Fórmula 2:
Aceleración final obtenida: mejora del rendimiento final
Soverall =
k = Senh
€
Prof. José María Foces Morán, Univ. de León, Dept. IESA
1
f
(1 − f ) +
k
(Hennessy & Patterson)
+
21
Ley de Amdahl
 
Aceleración global, casos interesantes:
Soverall =
1
f
(1 − f ) +
k
f = 0 →A =1
f =1 →A = k
lim Soverall
€
k→∞
Prof. José María Foces Morán, Univ. de León, Dept. IESA
1
=
1− f
+
22
Ley de Amdahl y paralelismo
 
La ley de Amdahl aplicada a procesadores paralelos toma
una forma particular
 
Ejemplo: Necesitamos reducir el tiempo de ejecución de un
programa P, pero, no podemos mejorar más el algoritmo
 
Podemos emplear un sistema con 1024 procesadores
 
¿Qué ganancia de velocidad obtendremos? (Aceleración)
 
Dependerá de qué proporción de tiempo se usen los 1024
procesadores en paralelo
 
Habrá operaciones de nuestro programa que no serán
paralelizables, habrán de ejecutarse en serie.
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
23
Ley de Amdahl y paralelismo
 
Formulación de la ley de Amdahl para procesadores
paralelos:
 
1-f: Es la fracción no mejorada, esto es, la porción serie de
nuestro programa, la llamaremos s.
 
f: Es la fracción mejorada, la llamaremos p.
 
N: Es el número de procesadores (K en nuestra formulación
original), o sea, el grado de mejora.
Speedup =
1
f
(1 − f ) + N
Prof. José María Foces Morán, Univ. de León, Dept. IESA
1
=
p
s+
N
+ Ley de Amdahl y
24
1200
paralelismo
1000
Speedup
 
 
Para lograr una
aceleración igual a
N, s ha de ser
practicamente 0.
800
600
Parece que no hay
muchas
oportunidades de
maximizar el
aprovechamiento
de N
Serie2
400
200
N
0
1
13
25
37
49
61
73
85
97
109
121
133
145
157
169
181
193
205
217
229
241
253
1
Speedup =
s+ p
N=1024
Prof. José María Foces Morán, Univ. de León, Dept. IESA
s
+
25
Ley de Gustafson
 
Estamos asumiendo que p es independiente de N, pero, este no
es el caso.
 
Es decir, el tamaño del problema, normalmente se escala al
número de procesadores
 
 
 
 
Entonces, surgen mayores oportunidades de aprovechar el
paralelismo inherente al problema
Las perspectivas son mejores que con la ley de Amdahl
La cantidad de trabajo que puede realizarse en paralelo depende
linealmente de N
Conclusión: La aceleración derivada de uso de un computador
masivamente paralelo, si el problema puede escalarse a N, es
ostensiblemente superior al cálculo de Amdahl
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
26
Ley de Gustafson
 
En este contexto, distinguimos dos tipos de escalabilidad
 
Fuerte. Basada en la ley de Amdahl, tiene lugar en aquellos
algoritmos que contienen una gran cantidad de paralelismo
inherente.
 
Débil. Basada en la ley de Gustafson: Conforme el número de
procesadores y el tamaño del problema crecen de tal forma que
el trabajo por procesador permanezca constante, la velocidad de
cada procesador en operaciones por segundo también
permanece constante.
 
Esta es la dependencia N//p de la que hablamos anteriormente
 
Si esta relación es lineal, podemos afirmar que la cantidad de
trabajo por procesador es lineal y que, por tanto, el tiempo de
ejecución ‘paralelo’ es constante a medida que crece N.
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
27
Medidas de productividad
(Throughput)
 
MIPS
 
 
Millones de Instrucciones por Segundo
 
Sólamente computación entera
 
Se trata de un ratio
 
Mejor cuanto más grande –intuición
 
Problema: No explica el trabajo realizado en cada instrucción
MFLOPS
 
Millones de Operaciones de Punto Flotante por Segundo
 
Mide el número de operaciones de FP realizadas, no
instrucciones
 
Sí nos da una idea de la cantidad de trabajo realizado
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
28
Benchmarks
 
¿Qué es mejor medir para establecer la potencia de un
sistema?
 
MIPS
 
MFLOPS
 
Transacciones/segundo
 
Depende del uso del sistema
 
Un benchmark es un conjunto de pruebas de rendimiento
representativas de un dominio
 
Así, las conclusiones podrán ser aplicables en ese dominio
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
29
Benchmarks
 
 
Programas para medir rendimientos
 
MIPS, MFLOPS, etc
 
Dhrystone, Whetstone, Sieve, etc…
Benchmarks sintéticos
 
Estándares de facto
 
SPEC: System Performance Evaluation Cooperative benchmark
 
Int
 
Float
 
Basados en programas de uso muy frecuente
 
http://www.spec.org/
Prof. José María Foces Morán, Univ. de León, Dept. IESA
+
30
Ejercicios
 
Pizarra
 
Libro de texto, cap.2
 
Ejercicios resueltos interactivos:
 
 
http://paloalto.unileon.es/wee/index.html
paloalto.unileon.es/mel
 
Exámenes antiguos
 
Ejercicios resueltos
 
Blog mel
Prof. José María Foces Morán, Univ. de León, Dept. IESA

Documentos relacionados