medición del rendimiento - universidad de sonora
TRANSCRIPT
![Page 1: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/1.jpg)
Medición del rendimiento
![Page 2: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/2.jpg)
Universidad de Sonora Arquitectura de Computadoras 2
Medición del rendimiento� El rendimiento de la CPU es el inverso del tiempo de
ejecución.
� Ecuación del tiempo de CPU
Tiempo CPU = Ciclos de reloj para el programa x Periodo del reloj
� Alternativamente
Tiempo CPU = Número de instrucciones x CPI x Periodo del reloj
Donde CPI es el número de ciclos en promedio por instrucción.
![Page 3: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/3.jpg)
Universidad de Sonora Arquitectura de Computadoras 3
Medición del rendimiento� Para comparar dos sistemas computacionales:
1. Correr la carga de trabajo (workload) del usuario en los dos sistemas.
2. Correr un benchmark. Un programa o conjunto de programas usados específicamente para medir el rendimiento de una computadora.
![Page 4: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/4.jpg)
Universidad de Sonora Arquitectura de Computadoras 4
Tipos de benchmarks1. Programas de juguete tipo quicksort.
2. Benchmarks sintéticos. No hacen nada aparte de evaluar el rendimiento de la CPU como Whetstoney Dhrystone.
3. Aplicaciones reales como los benchmarks de SPEC (Standard Performance Evaluation Corporation).
� La tercera es la opción con mejor reputación.
![Page 5: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/5.jpg)
Universidad de Sonora Arquitectura de Computadoras 5
Benchmarks clásicos� Utilizados hasta principios de los 1990s.
� Todavía son populares porque son gratis y fáciles de usar y entender.
� Dos clases de benchmarks clásicos:
![Page 6: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/6.jpg)
Universidad de Sonora Arquitectura de Computadoras 6
Benchmarks clásicos1. Benchmarks sintéticos: No realizan ninguna
computación util.
� Whetstone.
� Dhrystone.
2. Benchmarks de kernel. Obtenidos de un programa (o librería) real.
� Linpack.
� Livermore loops.
![Page 7: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/7.jpg)
Universidad de Sonora Arquitectura de Computadoras 7
Benchmarks clásicos� Cada benchmark viene en dos versiones.
� Versión optimizada. El benchmark fue compilado con las opciones de optimización del compilador.
� Versión no optimizada. El benchmark fue compilado sin las opciones de optimización del compilador.
� La versión optimizada debe correr mas rápido que la versión no optimizada.
![Page 8: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/8.jpg)
Universidad de Sonora Arquitectura de Computadoras 8
Whetstone� Publicado en 1976 originalmente en Algol 60.
� Intenta replicar el comportamiento de un típico programa científico en la computadora KDF9.
� Contiene varios módulos, cada uno contiene instrucciones de un tipo en particular:
� Aritmética entera.
� Aritmética de punto flotante.
� ifs.
� Llamadas a funciones (coseno, seno, etc.)
![Page 9: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/9.jpg)
Universidad de Sonora Arquitectura de Computadoras 9
Whetstone� Un buen número de las instrucciones son de punto
flotante.
� Se usa para medir el rendimiento de instrucciones de punto flotante.
� Reporta resultados:
� KWIPS o MWIPS (kilo/mega instrucciones Whetstone por segundo)
� Comparación con una VAX 11/780 de 1977.
� MFLOPS (millones de operaciones de punto flotante por segundo) o MOPS (millones de operaciones por segundo) para cada módulo.
![Page 10: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/10.jpg)
Universidad de Sonora Arquitectura de Computadoras 10
Dhrystone� Publicado en 1984 originalmente en Ada.
� Intenta replicar el comportamiento de un programa no científico.
� No tiene instrucciones de punto flotante.
� Menos ciclos y mas ifs y llamadas a procedimiento.
� Mide el rendimiento de instrucciones enteras.
![Page 11: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/11.jpg)
Universidad de Sonora Arquitectura de Computadoras 11
Dhrystone� Reporta resultados en DPS (Dhrystone por
segundo) o en DMIPS (Dhrystone MIPS).
� DMIPS = DPS / 1757.
� 1757 es el número de DPS obtenido en una VAX 11/780 que supuestamente era una máquina de 1 MIPS.
![Page 12: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/12.jpg)
Universidad de Sonora Arquitectura de Computadoras 12
Linpack� Publicado en 1976, Linpack es un conjunto
(paquete) de subrutinas de algebra lineal en Fortran.
� El benchmark basado en Linpack mide cuánto tarda una computadora en resolver un sistema denso de N x N ecuaciones lineales.
� Típicamente N = 100, pero puede ser mayor.
� Hay versiones de precisión sencilla y doble.
� Los resultados se reportan en MFLOPS.
![Page 13: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/13.jpg)
Universidad de Sonora Arquitectura de Computadoras 13
Livermore loops� Publicado en 1986 originalmente en Fortran.
� Mide el rendimiento de computadoras paralelas.
� Consiste en 24 ciclos (kernels).
� Cada ciclo hace una función matemática distinta:
� Fragmento de hidrodinámica.
� Gradiente conjugado de Cholesky incompleto.
� Búsqueda de Montecarlo.
� Reporta MFLOPS para cada uno de los ciclos.
![Page 14: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/14.jpg)
Universidad de Sonora Arquitectura de Computadoras 14
Desventajas� De los benchmarks clásicos:
� Es fácil hacer trampa, un compilador puede reconocer el benchmark y generar código especial.
� Reflejan el estilo de programación de 1970 y 1980.
� No miden las capacidades de las CPUs actuales.
� No hay control del código fuente.
� Nadie certifica los resultados.
� No hay reglas standard.
![Page 15: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/15.jpg)
Desventajas� Hacen énfasis en medir MIPS (o MFLOPS).
� MIPS no siempre son relevantes, p.e., en servidores de web, de correo o de archivos.
� El número de instrucciones por segundo no dice nada de la complejidad de las instrucciones.
� No es lo mismo ejecutar instrucciones simples que instrucciones complejas.
Universidad de Sonora Arquitectura de Computadoras 15
![Page 16: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/16.jpg)
Universidad de Sonora Arquitectura de Computadoras 16
MIPS� Para calcular MIPS:
� Sustituyendo el tiempo de ejecución:
� Un programa puede tener distintos CPIs (según el compilador utilizado) y no tener un solo MIPS.
![Page 17: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/17.jpg)
MIPS� Una computadora puede tener un MIPS mayor que
otra y al mismo tiempo ser más lenta.
Universidad de Sonora Arquitectura de Computadoras 17
![Page 18: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/18.jpg)
Ejemplo
Universidad de Sonora Arquitectura de Computadoras 18
� ¿Qué computadora tiene un MIPS mayor?
� ¿Qué computadora es más rápida?
![Page 19: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/19.jpg)
Ejemplo� MIPS = (Velocidad reloj / CPI x 106)
� Computadora A
MIPS = 4 x 109 / (1.0 x 106) = 4 x 103
� Computadora B
MIPS = 4 x 109 / (1.1 x 106) = 3.6 x 103
� Conclusión: A tiene MIPS mayor.
Universidad de Sonora Arquitectura de Computadoras 19
![Page 20: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/20.jpg)
Tiempo de ejecución� T = I x CPI / V
� Computadora A
T = 10 x 109 x 1.0 / 4 x 109 = 2.5 segundos
� Computadora B
T = 8 x 109 x 1.1 / 4 x 109 = 2.2 segundos
� Conclusión: B es más rápida.
Universidad de Sonora Arquitectura de Computadoras 20
![Page 21: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/21.jpg)
Mejor medida
� Fuente: COD, p. 52
Universidad de Sonora Arquitectura de Computadoras 21
![Page 22: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/22.jpg)
Universidad de Sonora Arquitectura de Computadoras 22
¿Por qué se estudian?� Todavía se mencionan.
� Son gratis y fáciles de usar.
� Son útiles como una primera aproximación.
� En algunos sistemas (por ejemplo controladores) no hay otra cosa.
![Page 23: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/23.jpg)
Universidad de Sonora Arquitectura de Computadoras 23
SPEC� Standard Performance Evaluation Corporation
� Organización sin fines de lucro fundada en 1988.
� Miembros originales: Apollo, HP, MIPS y Sun.
� Objetivo: producir benchmarks justos e imparciales.
� Los resultados se conocen como SPECmarks.
![Page 24: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/24.jpg)
Benchmarks de SPEC� SPEC Cloud IaaS 2018. Mide la capacidad de
cómputo, almacenamiento y los recursos de red de las plataformas de nube de infraestructura como servicio (IaaS) con múltiples cargas de trabajo de varias instancias.
� SPEC CPU 2017. Proporciona mediciones de rendimiento que se pueden usar para comparar cargas de trabajo intensivas de cómputo en diferentes sistemas informáticos.
Universidad de Sonora Arquitectura de Computadoras 24
![Page 25: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/25.jpg)
Benchmarks de SPEC� SPECviewperf® 13. Mide el rendimiento de gráficas
en 3D de sistemas que emplean las APIs OpenGL o DirectX.
� SPEC ACCEL, SPEC MPI 2007, SPEC OMP 2012. Para cómputo de alto rendimiento, OpenMP, MPI, OpenACC, OpenCL.
� SPECjbb 2015. Aplicaciones en Java.
� Mas información de otros benchmarks en: http://www.spec.org/benchmarks.html
Universidad de Sonora Arquitectura de Computadoras 25
![Page 26: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/26.jpg)
SPEC CPU 2017� Contiene 43 benchmarks, organizados en cuatro
suites:
� Las suites SPECspeed® 2017 Integer y SPECspeed® 2017 Floating Point se utilizan para comparar el tiempo para que una computadora complete tareas individuales.
� Las suites SPECrate® 2017 Integer y SPECrate® 2017 Floating Point miden el throughput (trabajo por unidad de tiempo).
Universidad de Sonora Arquitectura de Computadoras 26
![Page 27: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/27.jpg)
Instrucciones enteras
Universidad de Sonora Arquitectura de Computadoras 27
![Page 28: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/28.jpg)
Instrucciones de punto flotante
Universidad de Sonora Arquitectura de Computadoras 28
![Page 29: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/29.jpg)
Universidad de Sonora Arquitectura de Computadoras 29
SPEC CPU 20171. Cada benchmark i se corre en la CPU a evaluar.
2. Se mide el tiempo de CPU de cada benchmark i.
3. Para cada benchmark i se obtiene el SPECmark.
Tiempo de ejecución de i en A / Tiempo de ejecución de i en R
Donde R es la computadora de referencia: Sun Fire V490 con chips 2100 MHz UltraSPARC-IV+.
![Page 30: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/30.jpg)
SPEC CPU 20174. Escribir un reporte.
� Los resultados deben ser reproducibles.
� El reporte debe decir todo lo necesario para que otra persona obtenga los mismos resultados.
� Incluyendo sistema operativo y compiladores usados, datos de entrada, etc.
5. Promediar los SPECmark de todos los benchmarks usando la media geométrica.
Universidad de Sonora Arquitectura de Computadoras 30
![Page 31: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/31.jpg)
Ejemplo
Universidad de Sonora Arquitectura de Computadoras 31
![Page 32: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/32.jpg)
Ejemplo
Universidad de Sonora Arquitectura de Computadoras 32
![Page 33: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/33.jpg)
Universidad de Sonora Arquitectura de Computadoras 33
Ejemplo
![Page 34: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/34.jpg)
Ejemplo
Universidad de Sonora Arquitectura de Computadoras 34
![Page 35: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/35.jpg)
Intel Core I7 920
� Fuente: COD 5, p. 47
Universidad de Sonora Arquitectura de Computadoras 35
![Page 36: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/36.jpg)
SPECmark� Con los SPECmarks se puede comparar dos
computadoras sin conocer los tiempos de los benchmarks ni la computadora de referencia.
Universidad de Sonora Arquitectura de Computadoras 36
![Page 37: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/37.jpg)
Universidad de Sonora Arquitectura de Computadoras 37
SPECfp 2000
![Page 38: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/38.jpg)
Universidad de Sonora Arquitectura de Computadoras 38
Media geométrica� La media geométrica es:
� En el reporte de SPEC, samplei es el SPECRatio de la computadora A para el benchmark i.
![Page 39: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/39.jpg)
Universidad de Sonora Arquitectura de Computadoras 39
Media geométrica� Usando logaritmos la raíz enésima no es necesaria.
![Page 40: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/40.jpg)
Universidad de Sonora Arquitectura de Computadoras 40
Desviación standard� Da una medida de la variabilidad de los datos.
� Sirve para decidir si la media es un buen predictor.
� La desviación standard aritmética se calcula:
![Page 41: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/41.jpg)
Universidad de Sonora Arquitectura de Computadoras 41
Desviación standard
geométrica� Se usa en conjunto con la media geométrica.
� Se calcula como:
![Page 42: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/42.jpg)
Universidad de Sonora Arquitectura de Computadoras 42
Desviación standard� Para una distribución lognormal:
� 68% de las muestras caen en el rango [gmean/gstdev, gmean x gstdev].
� 95% de las muestras caen en el rango [gmean/gstdev2, gmean x gstdev2].
![Page 43: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/43.jpg)
Universidad de Sonora Arquitectura de Computadoras 43
Ejemplo� Usando los datos del SPECfp 2000
� Calcular la desviación standard geométrica de los SPECRatio del Itanium 2 y el Opteron.
� Calcular el porcentaje de benchmarks que caen dentro de una desviación standard de la media geométrica.
![Page 44: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/44.jpg)
Universidad de Sonora Arquitectura de Computadoras 44
Ejemplo� Media geométrica:
� Itanium 2: 27.12
� Opteron: 20.86
� Desviación standard geométrica:
� Itanium 2: 1.93
� Opteron: 1.38
� Rango de una desviación standard:
� Itanium 2: [27.12 / 1.93, 27.12 x 1.93] = [14.06, 52.30]
� Opteron: [20.86 / 1.38, 20.86 x 1.38] = [15.12, 28.76]
![Page 45: Medición del rendimiento - Universidad de Sonora](https://reader035.vdocuments.co/reader035/viewer/2022071012/62c95fbc353dd45cd1052e44/html5/thumbnails/45.jpg)
Universidad de Sonora Arquitectura de Computadoras 45
Ejemplo� Porcentaje de benchmarks dentro de una desviación
standard de la media:
� Itanium 2: 10 / 14 = 71%
� Opteron: 11 / 14 = 78%