Nadaljujemo s predstavitvijo orodij za ocenjevanje zmogljivosti CPU na Linux napravah. Danes bomo govorili o: temci, uarch-bench, likwid, perf-tools in llvm-mca.
Več benchmarkov:
Foto — — Unsplash
To je orodje za oceno časa izvajanja dveh programov. V osnovi omogoča primerjavo časa izvajanja dveh aplikacij. Avtor orodja je študent iz Nemčije Johannes Bechberger, ki ga je razvil kot del svoje diplomske naloge leta 2016. Danes to orodje deluje pod licenco GNU General Public License.
Johannes je želel ustvariti orodje, ki bi omogočalo merjenje zmogljivosti računalniškega sistema v nadzorovanem okolju. Zato je ena glavnih značilnosti temci možnost nastavitve testnega okolja. Na primer, : spremeniti nastavitve upravljalnika frekvence CPU, onemogočiti in predpomnilnike L1 in L2, izklopiti turbo način na procesorjih Intel itd. Za benchmarkiranje temci uporablja orodja , in .
Tako izgleda delovanje orodja v prvem primeru:
# 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
Na podlagi rezultatov benchmarkiranja sistem oblikuje s shemami, tabelami in grafikoni, kar temci ločuje od podobnih rešitev.
Med pomanjkljivostmi temci izpostavljamo njegovo "mladost". Zaradi tega konfiguracij strojne in programske opreme. Na primer, težko ga je zagnati pod macOS, na sistemih s procesorjem ARM pa nekatere funkcije niso na voljo. V prihodnosti se lahko situacija spremeni, saj avtor aktivno razvija projekt, število zvezdic na GitHubu pa se postopoma povečuje — pred kratkim so temci celo na Hacker News.
Orodje za ocenjevanje zmogljivosti nizkolehkovnih funkcij CPU, ki ga je razvil inženir Travis Downs (). V zadnjem času vodi svoj blog na GitHub Pages, kjer govori o orodjih za benchmarkiranje in drugih povezanih temah. Na splošno uarch-bench šele začinja pridobivati priljubljenost, vendar ga že precej pogosto prebivalci Hacker News omenjajo v tematskih nitih kot orodje za benchmarkiranje.
Uarch-bench omogoča oceno zmogljivosti pomnilnika, hitrost paralelnega nalaganja podatkov in delovanje čiščenja . Kako izgledaju rezultati benchmarking-a koje generira program, možete pronaći na dnu stranice.
Važno je napomenuti da uarch-bench, kao i temci, funkciju Intel Turbo Boost (koja automatski povećava radnu frekvenciju procesora pod opterećenjem), kako bi rezultati testiranja bili konzistentni.
Trenutno je projekt u ranim fazama razvoja, tako da uarch-bench nema detaljnu dokumentaciju, a u njegovom radu mogu se pojaviti greške — na primjer, s pokretanjem na Ryzen-u. Također su podržani samo benchmark-ovi za arhitekture x86. Autor obećava da će dodati više funkcionalnosti u budućnosti i poziva na sudjelovanje u razvoju.
Ovo je skup alata za ocjenu performansi Linux mašina sa Intel, AMD i ARMv8 procesorima. Stvoren je pod okriljem Saveznog ministarstva obrazovanja i istraživanja Njemačke 2017. godine i predan je u open source.
Među alatima likwid može se istaknuti likwid-powermeter, koji prikazuje informacije iz RAPL registara o potrošnji snage sistema, kao i likwid-setFrequencies — omogućuje kontrolu radne frekvencije procesora. Potpuni popis možete .
Alat koriste inženjeri koji se bave istraživanjima u oblasti HPC. Na primjer, grupa stručnjaka iz Regionalnog računarskog centra Univerziteta Erlangen — Nuremberg (RRZE) u Njemačkoj. Oni takođe aktivno učestvuju u razvoju ovog skupa alata. perf-tools

Foto — — Unsplash
Brendan Gregg. On je jedan od developera DTrace Na osnovi perf-tools leže pod-sistemi jezgra perf_events i ftrace. Njihove utilite omogućuju analizu latencije ulaza/izlaza (iosnoop), praćenje argumenata poziva sistemskih poziva (unccount, funcslower, funcgraph i functrace) i prikupljanje statistike "pogađanja" u datotečnom cache-u (cachestat). U ovom poslednjem slučaju, komanda izgleda ovako:
Oko alata se formiralo prilično opsežno zajedništvo (
# ./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
gotovo 6.000 zvezda na GitHub-u). In denarjja kompani, ki aktivno uporabljajo perf-tools, na primer . A vendar, orodje se razvija in prilagaja (čeprav so v zadnjem času posodobitve precej redke). Zato lahko pri njegovem delu pride do napak - avtor pravi, da včasih perf-tools povzroča kernel panic.
Orodje, ki napoveduje, koliko računalniških virov bo potrebovalo strojno kodo na različnih CPU-jih. Ona Instructions Per Cycle () in obremenitev strojne opreme, ki jo generira določena aplikacija.
llvm-mca so predstavili leta 2018 kot del projekta , ki se ukvarja z razvojem univerzalnega sistema za analizo, transformacijo in optimizacijo programov. Znano je, da so avtorji llvm-mca črpali navdih iz rešitve za analizo zmogljivosti programske opreme in so si prizadevali ustvariti njeno alternativo. Po besedah uporabnikov se izhodišča orodja (njegova oznaka in količina) resnično spominjajo na IACA - primer . Vendar llvm-mca sprejema samo , zato bo verjetno potrebno uporabiti pretvornike.
O čem pišemo v naših blogih in družbenih omrežjih:
![]()
![]()
![]()
![]()
![]()
Na 1cloud.ru ponujamo brezplačno storitev „“. Upravljati DNS zapise pri nas je mogoče v enotni osebni pisarni.
Izvor: habr.com
