Wir setzen unsere Vorstellung von Werkzeugen zur Bewertung der CPU-Leistung auf Linux-Maschinen fort. Heute behandeln wir: temci, uarch-bench, likwid, perf-tools und llvm-mca.
Weitere Benchmarks:
Foto – — Unsplash
Dieses Werkzeug bewertet die Ausführungszeiten zweier Programme. Es ermöglicht im Wesentlichen den Vergleich der Laufzeit zweier Anwendungen. Der Entwickler der Software, Johannes Bechberger, ein Student aus Deutschland, entwarf dieses Tool im Rahmen seiner Bachelorarbeit im Jahr 2016. Heute ist das Werkzeug unter der GNU General Public License erhältlich.
Johannes wollte ein Tool schaffen, das die Leistung eines Rechners in einer kontrollierten Umgebung messen kann. Eine der Hauptfunktionen von temci ist die Möglichkeit, die Testumgebung anzupassen. Zum Beispiel, : die Einstellungen des CPU-Frequenzmanagements zu ändern, und die Caches L1 und L2 zu deaktivieren, den Turbo-Modus bei Intel-Prozessoren auszuschalten und mehr. Für das Benchmarking verwendet temci die Tools , und .
So sieht die Ausführung des Tools im ersten Fall aus:
# 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
Das System erstellt einen mit Diagrammen, Tabellen und Grafiken, die temci von ähnlichen Lösungen abheben.
Ein Nachteil von temci ist seine "Jüngigkeit". Dadurch Konfigurationen von Hardware und Software. Zum Beispiel ist es schwierig, es unter macOS auszuführen, und auf Systemen mit ARM-Prozessor sind einige Funktionen nicht verfügbar. In Zukunft könnte sich die Situation ändern, da der Entwickler das Projekt aktiv weiterentwickelt und die Anzahl der Sterne auf GitHub stetig zunimmt — vor nicht allzu langer Zeit wurde temci sogar auf Hacker News diskutiert.
Ein Tool zur Bewertung der Leistung von Low-Level-CPU-Funktionen, das von Ingenieur Travis Downs () entwickelt wurde. Seit Kurzem betreibt er seinen Blog auf GitHub Pages, in dem er über Werkzeuge für Benchmarking und andere damit zusammenhängende Themen schreibt. Insgesamt gewinnt uarch-bench derzeit gerade erst an Popularität, wird jedoch bereits recht häufig von Mitgliedern von Hacker News in thematischen Threads als Go-to-Werkzeug für Benchmarking erwähnt.
Uarch-bench ermöglicht die Bewertung der Speichergeschwindigkeit, die Geschwindigkeit der parallelen Datenladung und die Arbeit mit der Bereinigung der . Wie die Benchmark-Ergebnisse aussehen, die von dem Programm generiert werden, ist zu finden am Ende der Seite.
Es ist wichtig zu erwähnen, dass uarch-bench, ebenso wie temci, Intel Turbo Boost-Funktion (die die Taktrate des Prozessors unter Last automatisch erhöht) deaktiviert, um konsistente Testergebnisse zu erzielen.
Das Projekt befindet sich derzeit in einem frühen Entwicklungsstadium, daher gibt es für uarch-bench keine ausführliche Dokumentation, und es können Bugs auftreten – zum Beispiel beim Start auf Ryzen bekannt. Zudem werden nur Benchmarks für x86-Architekturen unterstützt. Der Autor verspricht, in Zukunft mehr Funktionalitäten hinzuzufügen und lädt zur Mitentwicklung ein.
ist ein Toolset zur Leistungsbewertung von Linux-Maschinen mit Intel-, AMD- und ARMv8-Prozessoren. Es wurde 2017 unter der Schirmherrschaft des Bundesministeriums für Bildung und Forschung Deutschlands entwickelt und als Open Source bereitgestellt.
Unter den Werkzeugen von likwid sticht der likwid-powermeter hervor, der Informationen aus den RAPL-Registern über die von der System verbrauchte Leistung ausgibt, sowie likwid-setFrequencies – ein Werkzeug zur Steuerung der Prozessorfrequenz. Eine vollständige Liste finden Sie .
Dieses Tool wird von Ingenieuren verwendet, die sich mit Forschungen im Bereich HPC beschäftigen. Zum Beispiel von einer Gruppe von Spezialisten des Regionalen Rechenzentrums der Universität Erlangen-Nürnberg (RRZE) in Deutschland. Diese ist auch aktiv an der Entwicklung dieses Werkzeugpakets beteiligt. eine Gruppe von Fachleuten des Regionalen Rechenzentrums der Universität Erlangen-Nürnberg (RRZE) in Deutschland. Diese beteiligt sich aktiv an der Entwicklung dieses Toolkits.

Foto – — Unsplash
Dieses Tool dient zur Analyse der Leistung von Linux-Servern Brendan Gregg. Er ist einer der Entwickler – eines Frameworks zur dynamischen Trace-Analyse für die Echtzeit-Debugging von Anwendungen.
Die perf-tools basieren auf den Kernel-Subsystemen perf_events und ftrace. Ihre Tools ermöglichen die Analyse der Eingabe-/Ausgabeverzögerungen (iosnoop), die Verfolgung von Argumenten bei Systemaufrufen (unccount, funcslower, funcgraph und functrace) und die Erfassung von Statistiken über „Treffer“ im Dateicache (cachestat). Im letzten Fall sieht der Befehl so aus:
# ./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
Rund um das Tool hat sich eine recht umfangreiche Community gebildet (). Es gibt Unternehmen, die perf-tools aktiv nutzen, wie zum Beispiel . Das Tool wird kontinuierlich weiterentwickelt, auch wenn es in letzter Zeit nur selten Updates gibt. Dabei können Fehler auftreten — der Autor berichtet, dass perf-tools manchmal einen Kernel-Panic auslösen kann.
Dies ist ein Werkzeug, das vorhersagt, wie viele Rechenressourcen der maschinenlesbare Code auf verschiedenen CPUs benötigen wird. Es analysiert die Instructions Per Cycle () und die Belastung der Hardware, die durch bestimmte Anwendungen erzeugt wird.
llvm-mca wurde 2018 im Rahmen des Projekts vorgestellt, das sich mit der Entwicklung eines universellen Systems zur Analyse, Transformation und Optimierung von Software beschäftigt. Es ist bekannt, dass die Entwickler von llvm-mca sich von der Performance-Analyse-Lösung inspirieren ließen und eine Alternative dazu schaffen wollten. Nutzer berichten, dass die Ausgaben des Tools (ihre Anordnung und Anzahl) tatsächlich an IACA erinnern — ein Beispiel dafür . llvm-mca unterstützt jedoch nur , weshalb sehr wahrscheinlich Konverter verwendet werden müssen, um damit zu arbeiten.
Worüber wir in unseren Blogs und sozialen Medien schreiben:
![]()
![]()
![]()
![]()
![]()
Wir bei 1cloud.ru bieten einen kostenlosen Dienst „“. Die Verwaltung der DNS-Einträge erfolgt in unserem einheitlichen Kundenportal.
Quelle: habr.com
