Linux serveru etaloni: atvērto rīku izvēle

Mēs turpinām runāt par rīkiem CPU veiktspējas novērtēšanai Linux iekārtās. Šodien materiālā: temci, uarch-bench, likwid, perf-tools un llvm-mca.

Vairāk etalonu:

Linux serveru etaloni: atvērto rīku izvēle
Фото - Lukass Blazeks — Atlaist šļakatas

temci

Šis ir rīks divu programmu izpildes laika noteikšanai. Būtībā tas ļauj salīdzināt divu lietojumprogrammu izpildes laiku. Lietderības autors bija students no Vācijas Johanness Behbergers, kurš to izstrādāja sava bakalaura darba ietvaros 2016. gadā. Šodienas rīks izplata licencēts saskaņā ar GNU vispārējo publisko licenci.

Johanness vēlējās izveidot rīku, kas ļautu viņam izmērīt skaitļošanas sistēmas veiktspēju kontrolētā vidē. Tāpēc viena no galvenajām temci iezīmēm ir iespēja iestatīt testa vidi. Piemēram, viens var: mainiet CPU frekvences pārvaldnieka iestatījumus, atspējojiet hipervītņošana un L1 un L2 kešatmiņas, izslēdziet turbo režīmu Intel procesoros utt. Salīdzinošajai novērtēšanai temci izmanto rīkus laiks, perf_stat и pārņemšana.

Lūk, kā utilīta izskatās pirmajā gadījumā:

# 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

Pamatojoties uz salīdzinošās novērtēšanas rezultātiem, sistēma ģenerē ērts ziņojums ar diagrammām, tabulām un grafikiem, kas atšķir temci no līdzīgiem risinājumiem.

Starp temci trūkumiem izceļas tā “jaunība”. Šī iemesla dēļ viņš ne viss tiek atbalstīts aparatūras un programmatūras konfigurācijas. Piemēram, to ir grūti palaist operētājsistēmā macOS, un dažas funkcijas nav pieejamas sistēmā, kuras pamatā ir ARM. Nākotnē situācija var mainīties, jo autors aktīvi attīsta projektu, un GitHub zvaigžņu skaits pamazām palielinās - ne tik sen temci pat apspriests komentāros vietnē Hacker News.

uarch-sols

Lietderība zema līmeņa CPU funkciju veiktspējas novērtēšanai, ko izstrādājis inženieris Treviss Dauns (Treviss Dauns). Nesen viņš raksta emuārus Izrāde ir svarīga vietnē GitHub Pages, kurā ir runāts par salīdzinošās novērtēšanas rīkiem un citām saistītām lietām. Kopumā uarch-bench tikai sāk iegūt popularitāti, bet tas jau ir diezgan izplatīts minēts Hacker News iedzīvotāji tematiskajos pavedienos kā salīdzinošās novērtēšanas rīks.

Uarch-bench ļauj novērtēt atmiņas veiktspēju, paralēlās datu ielādes ātrumu un tīrīšanas darbus YMM reģistri. Kā izskatās programmas ģenerētie salīdzinošās novērtēšanas rezultāti, var uzzināt oficiālajā repozitorijā lapas apakšā.

Ir vērts atzīmēt, ka uarch-sols, tāpat kā temci, atspējo Intel Turbo Boost funkcija (tā automātiski palielina procesora takts ātrumu zem slodzes), lai testa rezultāti būtu konsekventi.

Pagaidām projekts ir izstrādes sākuma stadijā, tāpēc uarch-bench nav detalizētas dokumentācijas, un tā darbībā var būt kļūdas - piemēram, grūtības ir zināmas ar palaišanu vietnē Ryzen. Turklāt tiek atbalstīti tikai x86 arhitektūru etaloni. Autors sola nākotnē pievienot vairāk funkcionalitātes un aicina pievienoties izstrādei.

šķidrums

Šis ir rīku komplekts Linux iekārtu veiktspējas novērtēšanai ar Intel, AMD un ARMv8 procesoriem. Tas tika izveidots Vācijas Federālās Izglītības un pētniecības ministrijas aizgādībā 2017. gadā un tika izlaists atklātā pirmkoda versijā.

No likwid rīkiem var izcelt likwid-powermeter, kas parāda informāciju no RAPL reģistriem par sistēmas patērēto jaudu, kā arī likwid-setFrequencies, kas ļauj kontrolēt procesora frekvenci. Jūs varat redzēt pilnu sarakstu atrast repozitorijā.

Šo rīku izmanto HPC izpētē iesaistītie inženieri. Piemēram, ar likwid darbojas speciālistu grupa no Erlangenas-Nirnbergas Universitātes Reģionālā skaitļošanas centra (RRZE) Vācijā. Viņa arī aktīvi piedalās šī rīku komplekta izstrādē.

Linux serveru etaloni: atvērto rīku izvēle
Фото - Klems Onojeghuo — Atlaist šļakatas

Perf-rīki

Šis rīks Linux serveru veiktspējas analīzei ieviesa Brendans Gregs. Viņš ir viens no izstrādātājiem DTrace — dinamiska izsekošanas sistēma lietojumprogrammu atkļūdošanai reāllaikā.

perf-tools ir balstīta uz perf_events un ftrace kodola apakšsistēmām. To utilītas ļauj analizēt I/O latentumu (iosnoop), izsekot sistēmas izsaukuma argumentus (unccount, funcslower, funcgraph un functrace) un apkopot statistiku par “trāpījumiem” faila kešatmiņā (cachestat). Pēdējā gadījumā komanda izskatās šādi:

# ./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

Ap instrumentu ir izveidojusies diezgan liela kopiena (gandrīz 6 tūkstoši zvaigžņu vietnē GitHub). Un ir uzņēmumi, kas aktīvi izmanto, piemēram, perf-instrumentus Netflix. Bet rīks tiek tālāk attīstīts un modificēts (lai gan pēdējā laikā atjauninājumi tiek izdoti diezgan reti). Tāpēc tā darbībā var rasties kļūdas – autors raksta, ka dažkārt perf-tools izraisa kodola paniku.

llvm-mca

Lietderība, kas paredz, cik daudz skaitļošanas resursu mašīnkodam būs nepieciešams dažādos procesoros. Viņa novērtē Instrukcijas ciklā (IPC) un aparatūras slodzi, ko ģenerē konkrēta lietojumprogramma.

llvm-mca tika prezentēts 2018. gadā kā daļa no projekta LLVM, kas izstrādā universālu sistēmu programmu analīzei, pārveidošanai un optimizēšanai. Ir zināms, ka llvm-mca autorus iedvesmoja programmatūras veiktspējas analīzes risinājums IACA no Intel un centās radīt alternatīvu. Un, pēc lietotāju domām, rīka izvade (to izkārtojums un daudzums) patiešām atgādina IACA - piemērs var atrast šeit. Tomēr llvm-mca pieņem tikai AT&T sintakse, tāpēc, lai strādātu ar to, visticamāk, būs jāizmanto pārveidotāji.

Par ko mēs rakstām savos emuāros un sociālajos tīklos:

Linux serveru etaloni: atvērto rīku izvēle "Paklājs. Wall Street modelis" jeb kā optimizēt mākoņa izmaksas

Linux serveru etaloni: atvērto rīku izvēle Kā aizsargāt savu Linux sistēmu: 10 padomi
Linux serveru etaloni: atvērto rīku izvēle Riska samazināšana: kā nepazaudēt savus datus

Linux serveru etaloni: atvērto rīku izvēle Grāmatas tiem, kas jau ir saistīti ar sistēmu administrēšanu vai tikai plāno sākt
Linux serveru etaloni: atvērto rīku izvēle Izlase: piecas grāmatas un viens kurss par tīkliem

Linux serveru etaloni: atvērto rīku izvēleMēs vietnē 1cloud.ru piedāvājam bezmaksas pakalpojumu “DNS mitināšana" DNS ierakstus varat pārvaldīt vienā personīgajā kontā.

Avots: www.habr.com

Pievieno komentāru