Jätkame jutustamist CPU jõudluse hindamise tööriistadest Linux-i masinatel. Täna käsitleme: temci, uarch-bench, likwid, perf-tools ja llvm-mca.
Rohkem benšmarke:
Foto — — Unsplash
See on tööriist kahe programmi käitusaega hindamiseks. Sisuliselt võimaldab see võrrelda kahe rakenduse täitmise aega. Tööriista autor on Saksamaal õppiv tudeng Johannes Bechberger, kes töötas selle välja oma bakalaureuse lõpetamise projekti raames 2016. aastal. Täna on tööriist GNU General Public License'i litsentsi all.
Johannes soovis luua tööriista, mis võimaldaks mõõta arvutisüsteemi jõudlust kontrollitud keskkonnas. Seetõttu on temci üks peamisi omadusi testkeskkonna kohandamise võimalus. Näiteks : muuta CPU sageduse juhtimise sääteteid, keelata ja L1 ja L2 vahemä buffered, keelata Intel'i protsessorite turbo režiim jne. Benšmarkimiseks kasutab temci tööriistu , ja .
Nii näeb tööriista töö välja esimesel juhul:
# 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
Benšmarkimise tulemuste põhjal koostab süsteem skeemide, tabelite ja graafikute abil, mis eristab temci sarnastest lahendustest.
Temci miinusena võib välja tuua selle „nooruslikkuse“. Selle tõttu riistvara ja tarkvara konfiguratsioone. Näiteks on selle käitamine macOS-is keeruline ning ARM-protsessoriga süsteemis on mõned funktsioonid puuduvad. Tulevikus võib olukord muutuda, kuna autor arendab aktiivselt projekti ja tähede arv GitHubis suureneb järk-järgult – hiljuti arutati temcit isegi Hacker News-is.
Tööriist CPU madala taseme funktsioonide jõudluse hindamiseks, mille on välja töötanud insener Travis Downs (). Viimasel ajal peab ta oma blogi GitHub Pages-i peal, kus ta räägib benšmarkimise tööriistadest ja nendega seotud asjadest. Üldiselt uarch-bench alles hakkab populaarsust koguma, kuid juba üsna tihti Hacker News-i kasutajate poolt teemakohastes säätetes kui go-to tööriist benšmarkimiseks.
Uarch-bench võimaldab hinnata mälu jõudlust, andmete paralleelse laadimise kiirust ja YMM-registreid puhastamise tööd. . Kuidas näevad välja programmid, mis genereerivad tulemuslikkuse mõõtmise tulemusi, saad leida lehe allosas.
Oluline on märkida, et uarch-bench, nagu ka temci, funktsiooni Intel Turbo Boost (mis automaatselt suurendab protsessori taktsagedust koormuse all), et testimistulemused oleksid järjepidevad.
Praegu on projekt varases arendusjärgus, seega pole uarch-bench'il põhjalikku dokumentatsiooni ning selle töös võivad esineda vead - näiteks, Ryzeni käivitamisel. Toetatakse ainult x86 arhitektuuride benchmark'e. Autor lubab tulevikus lisada rohkem funktsioone ja kutsub välja arendusse liituma.
See on Linuxi masinate jõudluse hindamise tööriistade kogum Intel, AMD ja ARMv8 protsessoritega. See loodi Saksamaa föderaalse haridus- ja teadusministeeriumi poolt 2017. aastal ja anti open source'i.
Likwidi tööriistade seas võib välja tuua likwid-powermeteri, mis kuvab RAPL-registeritele põhinevat teavet süsteemi energiatarbimise kohta, samuti likwid-setFrequencies - mis võimaldab kontrollida protsessori sagedust. Täieliku nimekirja leiate .
Tööriista kasutavad insenerid, kes tegelevad HPC uurimistöödega. Näiteks kasutatakse likwid'it grupi spetsialistide poolt Erlangeni-Nürnbergi ülikooli piirkondlikus arvutuskeskuses (RRZE) Saksamaal. Samuti osalevad nad aktiivselt selle tööriistade komplekti arendamises.

Foto — — Unsplash
See on tööriist Linuxi serverite jõudluse analüüsimiseks Brendan Gregg. Ta on üks arendajatest - dünaamilise jälgimise raamistiku loojatest, mis on mõeldud rakenduste reaalajas tõrkeotsinguks.
Perf-tools põhineb kernel'i perf_events ja ftrace alamsüsteemidel. Nende utiliidid võimaldavad analüüsida sisendi/väljundi viivitust (iosnoop), jälgida süsteemi kutsete argumendid (unccount, funcslower, funcgraph ja functrace) ja koguda statistikat failimälu "tabamuste" kohta (cachestat). Viimases olukorras käsk näeb 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 üsna suur kogukond (). Ja on ettevõtteid, kes kasutavad aktiivselt perf-tools, näiteks . Kuid tööriista arendatakse ja kohandatakse pidevalt (kuigi viimase ajal on uuendused ilmunud üsna harva). Seetõttu võivad selle töö protsessis tekkida vead — autor märgib, et mõnikord kutsub perf-tools esile kernel panic'i.
Tööriist, mis ennustab, kui palju arvutusressursse on vaja masinkoodile erinevatel CPU-del. See Instructions Per Cycle () ja riistvarakoormust, mille erinevad rakendused genereerivad.
llvm-mca esitati 2018. aastal projekti , mis tegeleb universaalse analüüsi, transformatsiooni ja optimeerimise süsteemi arendamisega. On teada, et llvm-mca autorid said inspiratsiooni Intel'i tarkvara jõudluse analüüsi lahendusest ja püüdsid luua selle alternatiivi. Ja kasutajate sõnul tõepoolest sarnanevad tööriista väljundite (nende tähistamine ja arv) tulemused IACA-ga — näide . Kuid llvm-mca tunnustab ainult , seega tuleb selle kasutamiseks tõenäoliselt kasutada konvertereid.
Isikuandmed: avaliku pilve omadused
![]()
![]()
![]()
![]()
![]()
Me 1cloud.ru pakume tasuta teenust „“. Meie juures on võimalik DNS-kirjeid hallata ühtses isiklikus kabinetis.
Allikas: habr.com
