TurpinÄm stÄstÄ«t par rÄ«kiem CPU veiktspÄjas novÄrtÄÅ”anai Linux maŔīnÄs. Å odienas materiÄlÄ: temci, uarch-bench, likwid, perf-tools un llvm-mca.
VairÄk salÄ«dzinÄjumu:
Foto ā ā Unsplash
Å is ir instruments divu programmu izpildes laika novÄrtÄÅ”anai. Faktiski tas ļauj salÄ«dzinÄt divu lietojumprogrammu izpildes laiku. Instrumenta autors ir students no VÄcijas Johaness Bechberger, kurÅ” to izstrÄdÄja kÄ daļu no bakalaura darba 2016. gadÄ. Å odien instruments saskaÅÄ ar GNU General Public License.
Johaness vÄlÄjÄs izveidot instrumentu, kas ļautu izmÄrÄ«t datorsistÄmas veiktspÄju kontrolÄtÄ vidÄ. TÄpÄc viens no galvenajiem temci raksturlielumiem ir iespÄja konfigurÄt testa vidi. PiemÄram, : mainÄ«t CPU frekvences pÄrvaldÄ«tÄja iestatÄ«jumus, izslÄgt un L1 un L2 keÅ”atmiÅas, izslÄgt turbo režīmu Intel procesoros un citas lietas. Temci bencÄÅ”anai izmanto rÄ«kus , un .
TÄ izskatÄs programmas darbs 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
PÄc bencÄÅ”anas rezultÄtiem sistÄma sagatavo ar shÄmÄm, tabulÄm un grafikiem, kas atŔķir temci no lÄ«dzÄ«giem risinÄjumiem.
No temci trÅ«kumiem var minÄt tÄ "jaunumu". TÄpÄc tas aparÄtprogrammatÅ«ras un programmatÅ«ras konfigurÄcijas. PiemÄram, to ir grÅ«ti palaist macOS, un sistÄmÄs ar ARM procesoriem dažas funkcijas nav pieejamas. NÄkotnÄ situÄcija var mainÄ«ties, jo autors aktÄ«vi attÄ«sta projektu, un zvaigžÅu skaits GitHub pakÄpeniski pieaug ā ne tik sen temci pat Hacker News.
RÄ«ks, lai novÄrtÄtu zemas lÄ«meÅa CPU funkciju veiktspÄju, ko izstrÄdÄjis inženieris Traviss Dauns (). Neseni viÅÅ” vada savu emuÄru uz GitHub Pages, kurÄ runÄ par bencÄÅ”anas rÄ«kiem un citÄm saistÄ«tÄm tÄmÄm. KopumÄ uarch-bench pagaidÄm tikai sÄk iegÅ«t popularitÄti, bet jau diezgan bieži Hacker News iedzÄ«votÄjiem tematiskajos diskusijÄs kÄ go-to instruments bencÄÅ”anai.
Uarch-bench ļauj novÄrtÄt atmiÅas veiktspÄju, paralÄlu datu ielÄdes Ätrumu un darbÄ«bu tÄ«rīŔanas laikÄ. . KÄ izskatÄs rezultÄti, kurus Ä£enerÄ programma, var atrast lapas apakÅ”daļÄ.
VÄrts atzÄ«mÄt, ka uarch-bench, tÄpat kÄ temci, Intel Turbo Boost funkciju (tÄ automÄtiski palielina procesora pulksteÅa frekvenci slodzÄ), lai rezultÄti bÅ«tu konsekventi.
LÄ«dz Å”im projekts atrodas agrÄ«nÄ izstrÄdes posmÄ, tÄpÄc uarch-bench trÅ«kst detalizÄtas dokumentÄcijas, un tÄ darbÄ«bÄ var rasties kļūdas ā piemÄram, ar palaiÅ”anu uz Ryzen. AtbalstÄ«ti ir tikai x86 arhitektÅ«ras benchmarks. Autors sola nÄkotnÄ pievienot vairÄk funkcionalitÄtes un aicina pievienoties izstrÄdei.
Tas ir rÄ«ku kopums Linux maŔīnu veiktspÄjas novÄrtÄÅ”anai ar Intel, AMD un ARMv8 procesoriem. Tas tika izveidots FederÄlÄs izglÄ«tÄ«bas un pÄtniecÄ«bas ministrijas VÄcijÄ 2017. gadÄ un nodots open source.
Starp likwid rÄ«kiem var izcelt likwid-powermeter, kas sniedz informÄciju no RAPL reÄ£istriem par sistÄmas patÄrÄto jaudu, kÄ arÄ« likwid-setFrequencies ā ļauj kontrolÄt procesora frekvenci. Pilnu sarakstu varat .
Ar Å”o rÄ«ku strÄdÄ inženieri, kas pÄta HPC jomu. PiemÄram, ar likwid speciÄlistu grupa no Erlangenas-Nirnbergas reÄ£ionÄlÄ datorsistÄmu centra (RRZE) VÄcijÄ. ViÅi arÄ« aktÄ«vi piedalÄs Ŕī rÄ«ku kopuma izstrÄdÄ.

Foto ā ā Unsplash
Å is rÄ«ks ir paredzÄts Linux serveru veiktspÄjas analÄ«zei Brendans Greggs (Brendan Gregg). ViÅÅ” ir viens no attÄ«stÄ«tÄjiem ā dinamiskÄs izsekoÅ”anas sistÄmas ietvars reÄlÄ laika lietojumprogrammu debuggÄÅ”anai.
Perf-tools pamatÄ ir perf_events un ftrace kodola apakÅ”sistÄmas. To utilÄ«tes ļauj analizÄt ievades/izvades kavÄÅ”anos (iosnoop), izsekot sistÄmas izsaukumu argumentus (unccount, funcslower, funcgraph un functrace) un savÄkt statistiku par ātrÄpÄ«jumiemā failu 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 rÄ«ku ir izveidojusies diezgan plaÅ”a kopiena (). Un ir uzÅÄmumi, kas aktÄ«vi izmanto perf-tools, piemÄram, . TaÄu instruments tiek pilnveidots un modificÄts (lai gan pÄdÄjÄ laikÄ atjauninÄjumi tiek izlaisti diezgan reti). TÄdÄļ tÄ darbÄ«bÄ var rasties kļūdas ā autors raksta, ka dažreiz perf-tools izraisa kernel panic.
RÄ«ks, kas prognozÄ, cik aprÄÄ·inu resursu bÅ«s nepiecieÅ”ams maŔīnakodam uz dažÄdiem CPU. Tas Instructions Per Cycle () un slodzi uz aparatÅ«ru, ko rada konkrÄts lietojums.
llvm-mca tika ieviests 2018. gadÄ projekta , kas nodarbojas ar universÄlu programma analÄ«zi, transformÄciju un optimizÄciju. Ir zinÄms, ka llvm-mca autori tika iedvesmoti no Intel un centÄs izveidot tÄ alternatÄ«vu. Un, saskaÅÄ ar lietotÄju teikto, rÄ«ka izejas dati (to formatÄjums un skaits) patieÅ”Äm atgÄdina IACA ā piemÄrs . TomÄr llvm-mca pieÅem tikai , tÄpÄc, strÄdÄjot ar to, visticamÄk, nÄksies izmantot konvertÄtÄjus.
Par ko mÄs rakstÄm mÅ«su blogos un sociÄlajos tÄ«klos:
![]()
![]()
![]()
![]()
![]()
MÄs 1cloud.lv piedÄvÄjam bezmaksas pakalpojumu «». PÄrvaldÄ«t DNS ierakstus pie mums var vienÄ personÄ«gajÄ kabinetÄ.
Avots: habr.com
