Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo

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:

Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo
--Ото - Lukas Blazek — Unsplash

ithemci

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 isasazwa ngu 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, unako: tshintsha useto lomphathi we-CPU, khubaza i-hyper-threading kunye ne-L1 kunye ne-L2 cache, cima imo ye-turbo kwi-Intel processors, njl. Kwi-benchmarking temci isebenzisa izixhobo ixesha, perf_stat и getrusage.

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 ingxelo efanelekileyo ngemizobo, iitheyibhile kunye neegrafu, ezahlula itemci kwizisombululo ezifanayo.

Phakathi kweentsilelo ze-temci, "ulutsha" lwayo luvelele. Ngenxa yoko asiyiyo yonke into exhaswayo 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 kuxoxwe kumagqabaza kwiiHacker News.

i-arch-bench

Isixhobo sokuvavanya ukusebenza kwemisebenzi ye-CPU ephantsi, ephuhliswe yinjineli uTravis Downs (Travis Downs). Kutshanje ebebloga Imiba yokuSebenza kwiGitHub Pages, ethetha malunga nezixhobo zokulinganisa kunye nezinye izinto ezinxulumene nazo. Ngokubanzi, i-uarch-bench isaqala ukufumana ukuthandwa, kodwa sele iqhelekile okhankanyiweyo abahlali beHacker News kwimisonto yethematic njengesixhobo sokuya kwibenchmarking.

I-Uarch-bench ikuvumela ukuba uvavanye ukusebenza kwememori, isantya sokulayisha idatha ehambelanayo kunye nomsebenzi wokucoca Iirejista ze-YMM. Ukuba iziphumo zebenchmarking eziveliswe yinkqubo zikhangeleka njani zinokufunyanwa kwindawo yokugcina esemthethweni emazantsi ephepha.

Kuyafaneleka ukuba uqaphele ukuba i-uarch-bench, njenge temci, ikhubaza 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, ubunzima baziwa ngokusungulwa kweRyzen. Kwakhona, kuphela iibenchmarks ze-x86 zoyilo ezixhaswayo. Umbhali uthembisa ukongeza ukusebenza ngakumbi kwixesha elizayo kwaye ukumema ukuba ujoyine uphuhliso.

ulwelo

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 fumana kwindawo yokugcina.

Isixhobo sisetyenziswa ziinjineli ezibandakanyeka kuphando lwe-HPC. Umzekelo, kunye ne-likwid u sebenza iqela leengcali ezivela kwiZiko leKhompyutha yeNgingqi yeYunivesithi yase-Erlangen-Nuremberg (RRZE) eJamani. Ukwathatha inxaxheba ebonakalayo kuphuhliso lwale seti yezixhobo.

Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo
--Ото - UClem Onojeghuo — Unsplash

perf-izixhobo

Esi sisixhobo sohlalutyo lokusebenza Linux-iiseva wazisiwe UBrendan Gregg. Ungomnye wabaphuhlisi DTrace -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 (phantse 6 amawaka eenkwenkwezi kwi GitHub). Kwaye kukho iinkampani ezisebenzisa ngokusebenzayo izixhobo ze-perf, umzekelo Netflix. 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.

llvm-mca

Isixhobo esiqikelela ukuba zingaphi iikhowudi zoomatshini bekhompuyutha eziya kuzifuna kwii-CPU ezahlukeneyo. Yena uyaphonononga Imiyalelo ngomjikelo ngamnye (IPC) kunye nomthwalo kwihardware eyenziwa sisicelo esithile.

I-llvm-mca yanikezelwa ngo-2018 njengenxalenye yeprojekthi LLVM, ephuhlisa inkqubo yendalo yonke yokuhlalutya, ukuguqulwa kunye nokuphucula iinkqubo. Kuyaziwa ukuba ababhali be-llvm-mca baphefumlelwe sisisombululo sokuhlalutya ukusebenza kwesoftware. IACA evela kwi-Intel kwaye yazama ukuyila enye indlela. Kwaye ngokutsho kwabasebenzisi, imveliso yesixhobo (isakhiwo sabo kunye nobuninzi) ifana ne-IACA - umzekelo. ingafumaneka apha. Nangona kunjalo, i-llvm-mca yamkela kuphela AT&T isintaksi, ngoko kuya kufuneka usebenzise abaguquli ukusebenza ngayo.

Yintoni esibhala ngayo kwiibhlog zethu nakwiinethiwekhi zentlalo:

Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo "Mat. Imodeli yaseWall Street" okanye indlela yokuphucula iindleko zamafu

Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo Indlela yokuzikhusela Linux-nkqubo: iingcebiso ezili-10
Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo Ukunciphisa imingcipheko: ungalahlekelwa njani yidatha yakho

Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo Iincwadi zabo sele bebandakanyeka kulawulo lwenkqubo okanye baceba nje ukuqala
Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyo Ukhetho: iincwadi ezintlanu kunye nekhosi enye kuthungelwano

Iimpawu zeeseva ezikwi- Linux: ukhetho lwezixhobo ezivulelekileyoThina kwa-1cloud.ru sinikezela ngenkonzo yasimahla "DNS ukusingathwa" Unokulawula iirekhodi zeDNS kwiakhawunti yobuqu enye.

umthombo: www.habr.com

Thenga ukusingathwa okuthembekileyo kwiindawo ezinokhuseleko lweDDoS, iiseva zeVPS VDS 🔥 Thenga ukusingathwa kwewebhusayithi okuthembekileyo ngokhuseleko lwe-DDoS, iiseva zeVPS VDS | ProHoster