Seguimos hablando de herramientas para evaluar el rendimiento de la CPU en máquinas Linux. Hoy en el material: temci, uarch-bench, likwid, perf-tools y llvm-mca.
Más puntos de referencia:
Fotos - Lukas Blazek - Unsplash
Esta es una herramienta para estimar el tiempo de ejecución de dos programas. De hecho, le permite comparar el tiempo de ejecución de dos aplicaciones. La utilidad fue escrita por un estudiante de Alemania, Johannes Bechberger, quien la desarrolló como parte de su trabajo de pregrado en 2016. Hoy, la herramienta
está licenciada bajo la Licencia Pública General de GNU.
Johannes quería crear una herramienta que midiera el rendimiento de un sistema informático en un entorno controlado. Por lo tanto, una de las principales características de temci es la capacidad de configurar un entorno de prueba. Por ejemplo,
puede : cambiar la configuración del administrador de control de frecuencia de la CPU, deshabilitar el
hiperprocesamiento y los cachés L1 y L2, desactivar el modo turbo en los procesadores Intel y otros.
Así es como funciona la utilidad en el primer caso:
Con base en los resultados de la evaluación comparativa, el sistema genera un
informe conveniente con diagramas, tablas y gráficos, que distingue el tema de soluciones similares.
De las deficiencias de temci destaca su "juventud". Debido a esto,
no es compatible con todas las configuraciones de hardware y software. Por ejemplo, es difícil de ejecutar con macOS, y algunas funciones no están disponibles en un sistema con un procesador ARM. La situación 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 tiempo incluso se
discutió en los comentarios de Hacker News.
Utilidad para evaluar el rendimiento de las funciones de CPU de bajo nivel, desarrollada por el ingeniero Travis Downs (
Travis Downs ). Recientemente, ha estado ejecutando su blog
Performance Matters en las páginas de GitHub, que habla sobre herramientas de evaluación comparativa y otras cosas relacionadas. En general, el banco de uarch está empezando a ganar popularidad, pero los residentes de Hacker News ya lo
mencionan con bastante frecuencia en los hilos temáticos como una herramienta de referencia.
Uarch-bench le permite evaluar el rendimiento de la memoria, la velocidad de carga de datos paralelos y trabajar en la limpieza de registros YMM . Los resultados de la evaluación comparativa generados por el programa se pueden encontrar en el repositorio oficial en la parte inferior de la página.
Cabe señalar que uarch-bench, como temci,
deshabilita la función Intel Turbo Boost (aumenta automáticamente la velocidad del reloj del procesador bajo carga) para que los resultados de la prueba sean consistentes.
Hasta ahora, el proyecto se encuentra en las primeras etapas de desarrollo, por lo que el banco de uarch no tiene documentación detallada, y puede haber errores en su trabajo; por ejemplo, se
conocen dificultades para ejecutar Ryzen. Solo se admiten puntos de referencia para arquitecturas x86. El autor promete agregar más funcionalidades en el futuro e invita a unirse al desarrollo.
Este es un kit de herramientas para evaluar el rendimiento de las máquinas Linux con procesadores Intel, AMD y ARMv8. Fue creado bajo los auspicios del Ministerio Federal de Educación e Investigación de Alemania en 2017 y se transfirió a código abierto.
Entre las herramientas likwid, se puede distinguir likwid-powermeter, que muestra información de los registros RAPL sobre la potencia consumida por el sistema, así como likwid-setFrequencies, que le permite controlar la frecuencia del procesador. Puede
encontrar la lista completa
en el repositorio .
La herramienta es utilizada por ingenieros dedicados a la investigación en el campo de HPC. Por ejemplo, un grupo de especialistas del Centro de Computación Regional de la Universidad de Erlangen-Nuremberg (RRZE) en Alemania
trabaja con likwid. Ella participa activamente en el desarrollo de este conjunto de herramientas.
Fotos - Clem Onojeghuo - Unsplash
Brendan Gregg
introdujo esta herramienta para analizar el rendimiento de los servidores Linux. Es uno de los desarrolladores de
DTrace , un marco de seguimiento dinámico para depurar aplicaciones en tiempo real.
Las herramientas de perf se basan en los subsistemas del kernel perf_events y ftrace. Sus utilidades le permiten analizar el retraso de entrada / salida (iosnoop), rastrear los argumentos para acceder a las llamadas del sistema (descuenta, funcslower, funcgraph y functrace) y recopilar estadísticas sobre "hits" en el caché de archivos (cachestat). En el último caso, el comando se ve así:
Se formó una comunidad bastante grande alrededor de la herramienta (
casi 6 mil estrellas en GitHub ). Y hay compañías que usan activamente herramientas de perf, como
Netflix . Pero la herramienta se está finalizando y modificando (aunque las actualizaciones se han lanzado muy raramente últimamente). Por lo tanto, pueden ocurrir errores en su trabajo: el autor escribe que a veces perf-tools llama kernel panic.
Una utilidad que predice cuántos recursos informáticos necesitará un código de máquina en diferentes CPU.
Evalúa las instrucciones por ciclo (
IPC ) y la carga de hardware que genera una aplicación.
llvm-mca se introdujo en 2018 como parte del proyecto
LLVM , que está desarrollando un sistema universal para el análisis, la transformación y la optimización de programas. Se sabe que los autores de llvm-mca se inspiraron en la solución de análisis de rendimiento del software
Intel IACA y trataron de crear una alternativa. Y según los usuarios, el resultado de la herramienta (su marcado y número) realmente se parece a IACA;
aquí se puede encontrar un ejemplo. Sin embargo, llvm-mca solo acepta la
sintaxis de AT&T , por lo que probablemente necesitará usar convertidores para trabajar con ella.
Sobre qué escribimos en nuestros blogs y redes sociales:
"Mat. Modelo de Wall Street "o cómo optimizar los costos en la nube
Asegurando su sistema Linux: 10 consejos
Minimización de riesgos: cómo no perder sus datos
Libros para aquellos que ya están involucrados en la administración del sistema o que solo planean comenzar
Selección: cinco libros y un curso en redes.

Nosotros en 1cloud.ru ofrecemos un servicio gratuito "
hosting DNS ". Puede administrar sus registros DNS en una sola cuenta personal.