We blijven praten over tools voor het evalueren van CPU-prestaties op Linux-machines. Het materiaal van vandaag: temci, uarch-bench, likwid, perf-tools en llvm-mca.
Meer benchmarks:
Фото - - ontspatten
Dit is een tool om de uitvoeringstijd van twee programma's te evalueren. In essentie kun je hiermee de uitvoeringstijd van twee applicaties vergelijken. De auteur van het hulpprogramma was een student uit Duitsland, Johannes Bechberger, die het ontwikkelde als onderdeel van zijn bachelorscriptie in 2016. Vandaag de dag is de tool beschikbaar. onder de GNU General Public License.
Johannes wilde een tool creëren waarmee de prestaties van een computersysteem in een gecontroleerde omgeving konden worden gemeten. Een van de belangrijkste kenmerken van temci is daarom de mogelijkheid om een testomgeving op te zetten. Bijvoorbeeld: : instellingen van de CPU-frequentiebeheer wijzigen, uitschakelen en L1- en L2-caches, schakel de turbomodus uit op Intel-processors, enz. Voor benchmarking gebruikt temci tools , и .
Dit is hoe het nut in het eerste geval werkt:
# 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
Op basis van de benchmarkresultaten genereert het systeem met diagrammen, tabellen en grafieken, waardoor temci zich onderscheidt van vergelijkbare oplossingen.
Een van de nadelen van temci is de "jeugd". Hierdoor is het hardware- en softwareconfiguraties. Het is bijvoorbeeld moeilijk om het te draaien onder macOSEn sommige functies zijn niet beschikbaar op systemen met een ARM-processor. Dit kan in de toekomst veranderen, aangezien de auteur actief aan het project werkt en het aantal sterren op GitHub geleidelijk toeneemt – nog niet zo lang geleden had temci zelfs op Hacker News.
Een hulpprogramma voor het evalueren van de prestaties van CPU-functies op laag niveau, ontwikkeld door ingenieur Travis Downes (). Hij is onlangs zijn eigen blog begonnen. op GitHub Pages, waar hij praat over benchmarkingtools en andere gerelateerde zaken. Over het algemeen begint uarch-bench pas net aan populariteit te winnen, maar het wordt al vrij vaak gebruikt. door bewoners van Hacker News in thematische threads als een go-to-tool voor benchmarking.
Met Uarch-bench kunt u de geheugenprestaties, de snelheid van parallel laden van gegevens en opschoningswerkzaamheden evalueren Hoe de benchmarkresultaten eruit zien die door het programma worden gegenereerd, kunt u vinden onderaan de pagina.
Het is de moeite waard om op te merken dat uarch-bench, net als temci, Intel Turbo Boost-functie (verhoogt automatisch de kloksnelheid van de processor onder belasting) om consistente testresultaten te garanderen.
Het project bevindt zich nog in een vroeg stadium van ontwikkeling, dus uarch-bench heeft geen gedetailleerde documentatie en de werking ervan kan bugs bevatten, bijvoorbeeld: met lancering op Ryzen. Ook worden alleen benchmarks voor x86-architecturen ondersteund. De auteur belooft in de toekomst meer functionaliteit toe te voegen en nodigt u uit om mee te werken aan de ontwikkeling.
Dit is een set hulpmiddelen voor prestatie-evaluatie. Linux-machines met Intel-, AMD- en ARMv8-processors. Het werd in 2017 ontwikkeld onder auspiciën van het Duitse federale ministerie van Onderwijs en Onderzoek en als open source uitgebracht.
Onder de likwid-tools kunnen we likwid-powermeter noemen, die informatie uit RAPL-registers weergeeft over het stroomverbruik van het systeem, en likwid-setFrequencies, waarmee u de processorfrequentie kunt regelen. U kunt de volledige lijst bekijken. .
De tool wordt gebruikt door ingenieurs die zich bezighouden met HPC-onderzoek. Bijvoorbeeld met likwid een team van specialisten van het Regionaal Rekencentrum van de Universiteit Erlangen-Neurenberg (RRZE) in Duitsland, die ook actief betrokken zijn bij de ontwikkeling van deze toolkit.

Фото - - ontspatten
Dit is een tool voor prestatieanalyse. Linux-servers Brendan Gregg. Hij is een van de ontwikkelaars. — een dynamisch traceringsframework voor het in realtime debuggen van applicaties.
De perf-tools zijn gebaseerd op de kernelsubsystemen perf_events en ftrace. Met hun hulpprogramma's kunt u de input-/output-latentie analyseren (iosnoop), argumenten voor systeemaanroepen volgen (unccount, funcslower, funcgraph en functrace) en statistieken verzamelen over hits in de bestandscache (cachestat). In het laatste geval ziet de opdracht er als volgt uit:
# ./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
Er is een behoorlijk grote community ontstaan rond de tool (). En er zijn bedrijven die actief perf-tools gebruiken, bijvoorbeeld Maar de tool wordt verbeterd en aangepast (hoewel er de laatste tijd vrij zelden updates zijn uitgebracht). Daardoor kunnen er fouten optreden tijdens de werking ervan - de auteur schrijft dat perf-tools soms kernel panics veroorzaken.
Een hulpprogramma dat voorspelt hoeveel rekenkracht machinecode op verschillende CPU's nodig heeft. Instructies per cyclus () en de hardwarebelasting die door een specifieke toepassing wordt gegenereerd.
llvm-mca werd in 2018 geïntroduceerd als onderdeel van het project , die een universeel systeem ontwikkelt voor het analyseren, transformeren en optimaliseren van programma's. Het is bekend dat de auteurs van llvm-mca geïnspireerd werden door de oplossing voor het analyseren van softwareprestaties. en probeerde er een alternatief voor te creëren. En volgens gebruikers lijkt de output van de tool (de markup en kwantiteit) echt op IACA – een voorbeeld . llvm-mca accepteert echter alleen , dus om ermee te kunnen werken, zult u waarschijnlijk converters moeten gebruiken.
Waarover schrijven we op onze blogs en sociale netwerken:
![]()
![]()
![]()
![]()
![]()
Wij van 1cloud.ru bieden een gratis service "U kunt DNS-records beheren in uw persoonlijke account.
Bron: www.habr.com
