Wir setzen unsere Berichterstattung über Werkzeuge zur Bewertung der CPU-Leistung auf Linux-Maschinen fort. Heute im Material: temci, uarch-bench, likwid, perf-tools und llvm-mca.
Weitere Benchmarks:
Foto – – Unsplash
Dies ist ein Werkzeug zur Bewertung der Ausführungszeit von zwei Programmen. Im Wesentlichen ermöglicht es den Vergleich der Ausführungszeit zweier Anwendungen. Der Autor des Tools ist der Student aus Deutschland, Johannes Bechberger, der es im Rahmen seiner Bachelorarbeit im Jahr 2016 entwickelt hat. Heute ist das Werkzeug unter der GNU General Public License verfügbar.
Johannes wollte ein Werkzeug entwickeln, das es ermöglicht, die Leistung eines Computersystems in einer kontrollierten Umgebung zu messen. Daher ist eine der Hauptmerkmale von temci die Möglichkeit, die Testumgebung einzustellen. Zum Beispiel, : die Einstellungen des CPU-Frequenzmanagement-Controllers ändern, und die Caches L1 und L2 deaktivieren, den Turbo-Modus bei Intel-Prozessoren abschalten usw. Für das Benchmarking verwendet temci die Werkzeuge , und .
So sieht die Ausführung des Werkzeugs 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
Basierend auf den Benchmarking-Ergebnissen erstellt das System einen mit Diagrammen, Tabellen und Grafiken, was temci von ähnlichen Lösungen unterscheidet.
Ein Nachteil von temci ist seine "Jugendlichkeit". Daher Konfigurationen von Hardware und Software. Zum Beispiel ist es schwierig, es unter macOS auszuführen, und auf Systemen mit ARM-Prozessoren sind einige Funktionen nicht verfügbar. In Zukunft könnte sich die Situation ändern, da der Autor aktiv an dem Projekt arbeitet und die Anzahl der Sterne auf GitHub allmählich zunimmt – kürzlich wurde temci sogar auf Hacker News.
Ein Werkzeug zur Bewertung der Leistung von Low-Level-Funktionen der CPU, das von Ingenieur Travis Downs () entwickelt wurde. Seit neuestem betreibt er seinen Blog auf GitHub Pages, in dem er über Werkzeuge für Benchmarking und andere verwandte Themen berichtet. Insgesamt beginnt uarch-bench bisher, an Popularität zu gewinnen, wird aber bereits recht häufig von den Nutzern von Hacker News in thematischen Threads als Go-To-Werkzeug für das Benchmarking erwähnt.
Uarch-bench ermöglicht die Bewertung der Speichergeschwindigkeit, der Geschwindigkeit des parallelen Datenladevorgangs und der Funktionsweise der Bereinigung. . Wie die von der Software generierten Benchmark-Ergebnisse aussehen, erfahren Sie am Ende der Seite.
Es ist zu beachten, dass uarch-bench, wie auch temci, die Intel Turbo Boost-Funktion (die die Taktrate des Prozessors unter Last automatisch erhöht), um konsistente Testergebnisse zu erzielen.
Das Projekt befindet sich noch in einem frühen Entwicklungsstadium, daher gibt es keine ausführliche Dokumentation zu uarch-bench, und es können Bugs auftreten – zum Beispiel mit dem Start auf Ryzen. Es werden zudem nur Benchmarks für x86-Architekturen unterstützt. Der Autor verspricht, in Zukunft mehr Funktionalitäten hinzuzufügen und lädt zur Mitarbeit an der Entwicklung ein.
Das 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 in die Open Source übergeben.
Unter den Werkzeugen von likwid ist vor allem likwid-powermeter hervorzuheben, das Informationen aus den RAPL-Registern zur vom System verbrauchten Leistung anzeigt, sowie likwid-setFrequencies – es ermöglicht die Steuerung der Prozessorfrequenz. Eine vollständige Liste finden Sie .
Das Werkzeug wird von Ingenieuren genutzt, die in der HPC-Forschung tätig sind. Beispielsweise arbeitet eine Gruppe von Fachleuten des Regionalen Rechenzentrums der Universität Erlangen-Nürnberg (RRZE) in Deutschland. Diese Gruppe ist auch aktiv an der Entwicklung dieses Toolsets beteiligt.

Foto – – Unsplash
Dieses Werkzeug zur Leistungsanalyse von Linux-Servern wurde von Brendan Gregg entwickelt. Er ist einer der Entwickler von – einem Framework zur dynamischen Nachverfolgung zur Fehlerbehebung von Anwendungen in Echtzeit.
Die Grundlage von perf-tools bilden die Kernel-Subsysteme perf_events und ftrace. Ihre Dienstprogramme ermöglichen die Analyse von Eingabe-/Ausgabe-Verzögerungen (iosnoop), das Nachverfolgen von Argumenten von Systemaufrufen (unccount, funcslower, funcgraph und functrace) und das Sammeln von Statistiken über "Treffern" im Dateicache (cachestat). Im letzteren 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 Werkzeug hat sich eine recht große Gemeinschaft gebildet (). Und es gibt Unternehmen, die aktiv perf-tools nutzen, zum Beispiel . Aber das Werkzeug wird weiterentwickelt und modifiziert (obwohl in letzter Zeit Updates eher selten erscheinen). Daher kann es in seiner Funktion zu Fehlern kommen — der Autor beschreibt, dass perf-tools gelegentlich einen Kernel-Panic auslöst.
Ein Tool, das vorhersagt, wie viele Rechenressourcen der Maschinen-Code auf verschiedenen CPUs benötigen wird. Es Instructions Per Cycle () und die Belastung der Hardware, die von einer bestimmten Anwendung erzeugt wird.
llvm-mca wurde 2018 im Rahmen des Projekts , das sich mit der Entwicklung eines universellen Systems zur Analyse, Transformation und Optimierung von Programmen beschäftigt. Es ist bekannt, dass die Autoren von llvm-mca von einer Performance-Analyse-Lösung inspiriert wurden, , und sie strebten an, eine Alternative dazu zu schaffen. Und laut den Nutzern ähnelt die Ausgabe des Tools (ihre Formatierung und Anzahl) tatsächlich IACA — ein Beispiel . Allerdings akzeptiert llvm-mca nur , daher wird es wahrscheinlich notwendig sein, Konverter zu verwenden.
Worüber wir in unseren Blogs und sozialen Netzwerken schreiben:
![]()
![]()
![]()
![]()
![]()
Wir bei 1cloud.ru bieten einen kostenlosen Dienst „“ an. Die Verwaltung von DNS-Einträgen ist bei uns in einem einzigen persönlichen Bereich möglich.
Quelle: habr.com
