Siyaqhubeka sithetha ngezixhobo zokuvavanya ukusebenza kweCPU kwi Linux-oomatshini. Izinto zanamhlanje: i-temci, i-uarch-bench, i-likwid, izixhobo ze-perf, kunye ne-llvm-mca.
Ibenchmarks ezingakumbi:
--Ото - — Unsplash
Esi sisixhobo sokuqikelela ixesha lokwenziwa kweenkqubo ezimbini. Ngokusisiseko, ikuvumela ukuba uthelekise ixesha lokwenziwa kwezicelo ezimbini. Umbhali wesi sixhobo wayengumfundi ovela eJamani, uJohannes Bechberger, owayiphuhlisa njengenxalenye yethisisi yakhe yesidanga sokuqala ngo-2016. Isixhobo sanamhlanje inikwe ilayisenisi phantsi kweGNU GNU General Public License.
UJohannes wayefuna ukwenza isixhobo esiza kumvumela ukuba alinganise ukusebenza kwenkqubo yekhompyutha kwindawo elawulwayo. Ke ngoko, enye yeempawu eziphambili zetemci kukukwazi ukuseta indawo yovavanyo. Umzekelo, : tshintsha useto lomphathi we-CPU, khubaza kunye ne-L1 kunye ne-L2 cache, cima imo ye-turbo kwi-Intel processors, njl. Kwi-benchmarking temci isebenzisa izixhobo , и .
Nantsi indlela eluncedo ejongeka ngayo kwimeko yokuqala:
# 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
Ngokusekelwe kwiziphumo zokulinganisa, inkqubo ivelisa ngemizobo, iitheyibhile kunye neegrafu, ezahlula itemci kwizisombululo ezifanayo.
Phakathi kweentsilelo ze-temci, "ulutsha" lwayo luvelele. Ngenxa yoko uqwalaselo lwehardware kunye nesoftware. Umzekelo, kunzima ukuyisebenzisa phantsi macOS, kwaye ezinye iimpawu azifumaneki kwiinkqubo ezineprosesa ye-ARM. Oku kunokutshintsha kwixesha elizayo, njengoko umbhali ephuhlisa iprojekthi ngenkuthalo, kwaye inani leenkwenkwezi kwiGitHub liyanda kancinci kancinci—kungekudala, nangona kunjalo kwiiHacker News.
Isixhobo sokuvavanya ukusebenza kwemisebenzi ye-CPU ephantsi, ephuhliswe yinjineli uTravis Downs (). Kutshanje ebebloga kwiGitHub Pages, ethetha malunga nezixhobo zokulinganisa kunye nezinye izinto ezinxulumene nazo. Ngokubanzi, i-uarch-bench isaqala ukufumana ukuthandwa, kodwa sele iqhelekile abahlali beHacker News kwimisonto yethematic njengesixhobo sokuya kwibenchmarking.
I-Uarch-bench ikuvumela ukuba uvavanye ukusebenza kwememori, isantya sokulayisha idatha ehambelanayo kunye nomsebenzi wokucoca . Ukuba iziphumo zebenchmarking eziveliswe yinkqubo zikhangeleka njani zinokufunyanwa emazantsi ephepha.
Kuyafaneleka ukuba uqaphele ukuba i-uarch-bench, njenge temci, Umsebenzi we-Intel Turbo Boost (ukwandisa ngokuzenzekelayo isantya sewotshi yeprosesa phantsi komthwalo) ukuze iziphumo zovavanyo zihambelane.
Okwangoku, le projekthi ikwinqanaba lokuqala lophuhliso, ngoko ke i-uarch-bench ayinayo amaxwebhu aneenkcukacha, kwaye ukusebenza kwayo kunokuqulatha iimpazamo - umzekelo, ngokusungulwa kweRyzen. Kwakhona, kuphela iibenchmarks ze-x86 zoyilo ezixhaswayo. Umbhali uthembisa ukongeza ukusebenza ngakumbi kwixesha elizayo kwaye ukumema ukuba ujoyine uphuhliso.
Le yiseti yezixhobo zokuvavanya ukusebenza Linux-oomatshini abaneeprosesa ze-Intel, AMD, kunye ne-ARMv8. Yenziwe phantsi kweSebe leMfundo noPhando laseJamani ngo-2017 kwaye yakhutshwa njengomthombo ovulekileyo.
Phakathi kwezixhobo ze-likwid, sinokugqamisa i-likwid-powermeter, ebonisa ulwazi oluvela kwiirejista ze-RAPL malunga namandla asetyenziswa yinkqubo, kunye ne-likwid-setFrequencies, evumela ukuba ulawule i-frequency processor. Ungalubona uluhlu olupheleleyo .
Isixhobo sisetyenziswa ziinjineli ezibandakanyeka kuphando lwe-HPC. Umzekelo, kunye ne-likwid iqela leengcali ezivela kwiZiko leKhompyutha yeNgingqi yeYunivesithi yase-Erlangen-Nuremberg (RRZE) eJamani. Ukwathatha inxaxheba ebonakalayo kuphuhliso lwale seti yezixhobo.

--Ото - — Unsplash
Esi sisixhobo sohlalutyo lokusebenza Linux-iiseva UBrendan Gregg. Ungomnye wabaphuhlisi -Isakhelo esiguqukayo sokulandelela usetyenziso ngexesha lokwenyani.
perf-izixhobo zisekwe kwi-perf_events kunye ne-ftrace kernel subsystems. Izixhobo zabo zikuvumela ukuba uhlalutye i-I / O latency (iosnoop), ukulandelela iingxoxo zefowuni zenkqubo (unccount, funcslower, funcgraph kunye ne-functrace) kwaye uqokelele izibalo kwi "hits" kwifayile yefayile (cachestat). Kwimeko yokugqibela, umyalelo ujongeka ngolu hlobo:
# ./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
Uluntu olukhulu ngokufanelekileyo lwenze malunga nesixhobo (). Kwaye kukho iinkampani ezisebenzisa ngokusebenzayo izixhobo ze-perf, umzekelo . Kodwa isixhobo siphuhliswa ngakumbi kwaye silungiswa (nangona uhlaziyo lukhutshiwe kunqabile mva nje). Ngoko ke, iimpazamo zingenzeka ekusebenzeni kwayo - umbhali ubhala ukuba ngamanye amaxesha izixhobo ze-perf zibangela i-kernel panic.
Isixhobo esiqikelela ukuba zingaphi iikhowudi zoomatshini bekhompuyutha eziya kuzifuna kwii-CPU ezahlukeneyo. Yena Imiyalelo ngomjikelo ngamnye () kunye nomthwalo kwihardware eyenziwa sisicelo esithile.
I-llvm-mca yanikezelwa ngo-2018 njengenxalenye yeprojekthi , ephuhlisa inkqubo yendalo yonke yokuhlalutya, ukuguqulwa kunye nokuphucula iinkqubo. Kuyaziwa ukuba ababhali be-llvm-mca baphefumlelwe sisisombululo sokuhlalutya ukusebenza kwesoftware. kwaye yazama ukuyila enye indlela. Kwaye ngokutsho kwabasebenzisi, imveliso yesixhobo (isakhiwo sabo kunye nobuninzi) ifana ne-IACA - umzekelo. . Nangona kunjalo, i-llvm-mca yamkela kuphela , ngoko kuya kufuneka usebenzise abaguquli ukusebenza ngayo.
Yintoni esibhala ngayo kwiibhlog zethu nakwiinethiwekhi zentlalo:
![]()
![]()
![]()
![]()
![]()
Thina kwa-1cloud.ru sinikezela ngenkonzo yasimahla "" Unokulawula iirekhodi zeDNS kwiakhawunti yobuqu enye.
umthombo: www.habr.com
