Jätkame jutustamist Linuxi masinate CPU jõudluse hindamiseks mõeldud tööriistadest. Täna on teemas: temci, uarch-bench, likwid, perf-tools ja llvm-mca.
Rohkem teste:
Foto — — Unsplash
See on tööriist kahe programmi täitmise aja hindamiseks. Tegelikult võimaldab see võrrelda kahe rakenduse käitusaega. Tööriista autor on Saksamaa tudeng Johannes Bechberger, kes arendas selle välja oma bakalaureuse lõputöö raames 2016. aastal. Täna levitatakse tööriista Johannes tahtis luua tööriista, mis võimaldaks mõõta arvutisüsteemi jõudlust kontrollitud keskkonnas. Seetõttu on temci üks peamisi omadusi testkeskkonna konfigureerimise võimalus. Näiteks
Johannes soovis luua tööriista, mis võimaldaks mõõta arvutisüsteemi jõudlust kontrollitud keskkonnas. Seetõttu on temci üks peamisi omadusi testkeskkonna seadistamise võimalus. Näiteks, : muuta CPU sageduse halduri seadeid, keelata ja L1 ja L2 vahemälu välja lülitada, välja lülitada Intel'i protsessorite turbo režiim jne. Temci kasutab bänškardistamiseks tööriistu , ja .
Nii on, kuidas tööriist esimeses juhtumis välja näeb:
# 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
Benkmarkingu tulemustest koostab süsteem skeemide, tabelite ja diagrammidega, mis eristab temci sarnastest lahendustest.
temci miinusteks on selle "noorus". Selle tõttu riistvara ja tarkvara konfiguratsioone. Näiteks on seda keeruline käivitada macOS-is, ja ARM-protsessoriga süsteemis on mõned funktsioonid puuduvad. Tulevikus võib olukord muutuda, kuna autor arendab projekti aktiivselt ja tähed GitHubis kasvavad järk-järgult – mitte nii kaua tagasi arutati temci isegi Hacker News-is.
Tööriist, mis hindab madala taseme CPU funktsioonide jõudlust, mille on loonud insener Travis Downs (). Viimasel ajal kirjutab ta oma blogis GitHub Pages'is, kus räägib benkmarkingu tööriistadest ja muudest seotud asjadest. Kokkuvõttes on uarch-bench alles alustamas populaarsuse saavutamist, kuid seda mainitakse juba üsna sageli Hacker News'i residentide poolt teemasiseselt thread'ides kui eelistatud tööriist bänkimiseks.
Uarch-bench võimaldab hinnata mälu jõudlust, andmete paralleelse laadimise kiirus ja puhastustööd . Kuidas bänkingu tulemused, mida programm genereerib, välja näevad, võib leida lehe allosas.
Oluline on märkida, et uarch-bench, nagu temci, Intel Turbo Boost funktsiooni (see suurendab automaatselt protsessori taktsagedust koormuse all), et testimistulemused oleksid ühtlased.
Praegu on projekt varases arendusetapis, seega ei ole uarch-bench'il põhjalikku dokumentatsiooni ning selle töös võivad esineda tõrked - näiteks Ryzeni käivitamisel. Samuti toetatakse vaid x86 arhitektuuride bänkinguid. Autor lubab tulevikus rohkem funktsionaalsust lisada ja kutsub arendusse liituma.
See on tööriistade komplekt Linuxi masinate jõudluse hindamiseks Intel, AMD ja ARMv8 protsessoritega. See loodi Saksamaa Föderaalse Haridus- ja Teadusministeeriumi toetusel 2017. aastal ja antakse avatud lähtekoodiga.
Likwid tööriistade seas on esikohal likwid-powermeter, mis kuvab RAPL-registeritest saadavat teavet süsteemi energia tarbimise kohta, ning likwid-setFrequencies — kahe tööriista kuuluvuse funktsioon, mis võimaldab jälgida protsessori sagedust. Täieliku nimekirja leiate .
Tööriista kasutavad insenerid, kes tegelevad HPC uurimistööga. Näiteks töötab likwid Riena ülikooli Erlangen-Nürnbergi piirkondliku arvutuskeskuse (RRZE) spetsialistide rühm Saksamaal. Samuti osalevad nad aktiivselt selle tööriistakomplekti arendamisel.

Foto — — Unsplash
See vahend on mõeldud Linuxi serverite jõudluse analüüsimiseks Brendan Gregg. Ta on üks arendajatest — dünaamilise jälgimise raamistik, mis aitab rakenduste reaalaja tõrkeotsingul.
Perf-tools põhinevad kernelis olevatel perf_events ja ftrace alussüsteemidel. Nende utiliidid võimaldavad analüüsida sisendi ja väljundi viivitusi (iosnoop), jälgida süsteemi väljakutsete аргумеента (unccount, funcslower, funcgraph ja functrace) ning koguda statistikat 'puudutuste' kohta failide vahemälus (cachestat). Viimase puhul näeb käsk välja järgmiselt:
# ./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
Tööriista ümber on kujunenud ulatuslik kogukond (). On ka ettevõtteid, kes kasutavad aktiivselt perf-tools, näiteks . Kuid tööriista arendatakse ja muudetakse (kuigi viimastel aegadel on uuendused toimunud üsna harva). Seetõttu võivad selle töös esineda vead — autor märgib, et mõnikord kutsub perf-tools esile kernel panicu.
Tööriist, mis prognoosib, kui palju arvutusressursse on erinevatel CPU-del vajalik masinakoodile. See Instructions Per Cycle () ja koormust riistvarale, mida genereerib see või teine rakendus.
llvm-mca esitati 2018. aastal projekti raames , mis tegeleb universaalse analüüsi, transformatsiooni ja optimiseerimise süsteemi arendamisega. Teadaolevalt inspireeriti llvm-mca autoreid Intel'i analüüsitööriistast ja nad püüdsid luua selle alternatiivi. Kasutajate sõnul meenutavad tööriista väljundid (nende tähistus ja arv) tõesti IACA-d — näidet . Kuid llvm-mca tunnustab ainult , seega tuleb selle kasutamiseks tõenäoliselt kasutada konvertereid.
Millest me kirjutame oma blogides ja sotsiaalmeedias:
![]()
![]()
![]()
![]()
![]()
Meie 1cloud.ru-s pakume tasuta teenust „“. DNS-kirjeid on võimalik hallata meie ühtses isiklikus kabinetis.
Allikas: habr.com
