Continuamos hablando de herramientas para evaluar el rendimiento de la CPU en Linux-máquinas. El material de hoy: temci, uarch-bench, likwid, perf-tools y llvm-mca.
Más puntos de referencia:
Фото - — Desechar
Esta es una herramienta para estimar el tiempo de ejecución de dos programas. Básicamente, te permite comparar el tiempo de ejecución de dos aplicaciones. El autor de la utilidad fue el estudiante alemán Johannes Bechberger, quien la desarrolló como parte de su tesis de pregrado en 2016. La herramienta de hoy licenciado bajo la Licencia Pública General GNU.
Johannes quería crear una herramienta que le permitiera medir el rendimiento de un sistema informático en un entorno controlado. Por tanto, una de las características principales de temci es la capacidad de configurar un entorno de prueba. Por ejemplo, : cambiar la configuración del administrador de frecuencia de la CPU, desactivar y cachés L1 y L2, desactive el modo turbo en procesadores Intel, etc. Para realizar evaluaciones comparativas, temci utiliza herramientas , и .
Así es como se ve la utilidad en el primer caso:
# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times [####################################] 100%
Report for single runs
sleep 0.1 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 100.00000m, deviation = 0.00000%
max_res_set mean = 2.1800k, deviation = 3.86455%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
sleep 0.2 ( 20 single benchmarks)
avg_mem_usage mean = 0.000, deviation = 0.0
avg_res_set mean = 0.000, deviation = 0.0
etime mean = 200.00000m, deviation = 0.00000%
max_res_set mean = 2.1968k, deviation = 3.82530%
stime mean = 0.000, deviation = 0.0
utime mean = 0.000, deviation = 0.0
Con base en los resultados del benchmarking, el sistema genera con diagramas, tablas y gráficos, lo que distingue a temci de soluciones similares.
Entre las deficiencias de temci destaca su “juventud”. Debido a esto él configuraciones de hardware y software. Por ejemplo, es difícil ejecutarlo bajo macOSy algunas características no están disponibles en sistemas con un procesador ARM. Esto puede cambiar en el futuro, ya que el autor está desarrollando activamente el proyecto, y el número de estrellas en GitHub está aumentando gradualmente; no hace mucho, temci incluso en Noticias de piratas informáticos.
Una utilidad para evaluar el rendimiento de funciones de CPU de bajo nivel, desarrollada por el ingeniero Travis Downs (). Recientemente ha estado blogueando. en GitHub Pages, que habla sobre herramientas de evaluación comparativa y otras cosas relacionadas. En general, el banco uarch apenas comienza a ganar popularidad, pero ya es bastante común. residentes de Hacker News en hilos temáticos como herramienta de referencia para realizar evaluaciones comparativas.
Uarch-bench le permite evaluar el rendimiento de la memoria, la velocidad de carga de datos en paralelo y el trabajo de limpieza . Se puede encontrar cómo se ven los resultados de la evaluación comparativa generados por el programa. al final de la página.
Vale la pena señalar que uarch-bench, al igual que temci, Función Intel Turbo Boost (aumenta automáticamente la velocidad del reloj del procesador bajo carga) para que los resultados de las pruebas sean consistentes.
Por ahora, el proyecto se encuentra en las primeras etapas de desarrollo, por lo que uarch-bench no tiene documentación detallada y su funcionamiento puede contener errores, por ejemplo, con lanzamiento en Ryzen. Además, sólo se admiten pruebas comparativas para arquitecturas x86. El autor promete agregar más funciones en el futuro y lo invita a unirse al desarrollo.
Este es un conjunto de herramientas para la evaluación del desempeño. Linux-Máquinas con procesadores Intel, AMD y ARMv8. Fue creado bajo los auspicios del Ministerio Federal Alemán de Educación e Investigación en 2017 y publicado como software de código abierto.
Entre las herramientas likwid, podemos destacar likwid-powermeter, que muestra información de los registros RAPL sobre la energía consumida por el sistema, así como likwid-setFrequencies, que permite controlar la frecuencia del procesador. Puedes ver la lista completa .
La herramienta es utilizada por ingenieros involucrados en la investigación de HPC. Por ejemplo, con likwid un grupo de especialistas del Centro Regional de Computación de la Universidad de Erlangen-Nuremberg (RRZE) en Alemania. También participa activamente en el desarrollo de este conjunto de herramientas.

Фото - — Desechar
Esta es una herramienta de análisis de rendimiento. Linux-servidores Brendan Gregg. Él es uno de los desarrolladores. – un marco de seguimiento dinámico para depurar aplicaciones en tiempo real.
perf-tools se basa en los subsistemas del kernel perf_events y ftrace. Sus utilidades le permiten analizar la latencia de E/S (iosnoop), rastrear los argumentos de las llamadas al sistema (unccount, funcslower, funcgraph y functrace) y recopilar estadísticas sobre "aciertos" en el caché de archivos (cachestat). En el último caso, el comando tiene este aspecto:
# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9
Se ha formado una comunidad bastante grande en torno al instrumento (). Y hay empresas que utilizan activamente perf-tools, por ejemplo . Pero la herramienta se está desarrollando y modificando aún más (aunque últimamente se han publicado actualizaciones muy raramente). Por lo tanto, pueden ocurrir errores en su funcionamiento: el autor escribe que a veces perf-tools provoca pánico en el kernel.
Una utilidad que predice cuántos recursos informáticos requerirá el código de máquina en diferentes CPU. Ella Instrucciones por ciclo () y la carga en el hardware que genera una aplicación en particular.
llvm-mca fue presentado en 2018 como parte del proyecto , que está desarrollando un sistema universal para el análisis, transformación y optimización de programas. Se sabe que los autores de llvm-mca se inspiraron en una solución para analizar el rendimiento del software. y buscó crear una alternativa. Y según los usuarios, el resultado de la herramienta (su diseño y cantidad) realmente se parece a IACA - ejemplo . Sin embargo, llvm-mca sólo acepta , por lo que lo más probable es que tengas que utilizar convertidores para trabajar con él.
Sobre qué escribimos en nuestros blogs y redes sociales:
![]()
![]()
![]()
![]()
![]()
Nosotros en 1cloud.ru ofrecemos un servicio gratuito "" Puede administrar registros DNS en una única cuenta personal.
Fuente: habr.com
