Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe

Siyaqhubeka nokukhuluma ngamathuluzi okuhlola ukusebenza kwe-CPU emishinini ye-Linux. Namuhla kundaba: temci, uarch-bench, likwid, perf-tools kanye ne-llvm-mca.

Amanye amabhentshimakhi:

Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe
--ΠžΡ‚ΠΎ - Lukas Blazek - Unsplash

ithemu

Leli ithuluzi lokulinganisa isikhathi sokwenziwa sezinhlelo ezimbili. Empeleni, ikuvumela ukuthi uqhathanise isikhathi sokwenza sezinhlelo ezimbili zokusebenza. Umbhali wale nsizakalo wayengumfundi ovela eJalimane, uJohannes Bechberger, owayithuthukisa njengengxenye yethisisi yakhe yeziqu zabafundi ngo-2016. Ithuluzi lanamuhla isatshalaliswa ngu ilayisensi ngaphansi kwe-GNU General Public License.

UJohannes wayefuna ukwenza ithuluzi elalizomvumela ukuba alinganise ukusebenza kwesistimu yekhompyutha endaweni elawulwayo. Ngakho-ke, esinye sezici eziyinhloko ze-temci yikhono lokusetha indawo yokuhlola. Ngokwesibonelo, can: shintsha izilungiselelo zesiphathi semvamisa ye-CPU, khubaza i-hyper-threading kanye nezinqolobane ze-L1 ne-L2, vala imodi ye-turbo kuma-Intel processors, njll. Ukuze i-benchmarking temci isebenzisa amathuluzi isikhathi, perf_stat ΠΈ getrusage.

Nansi indlela insiza ebukeka ngayo esimweni sokuqala:

# 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 emiphumeleni yokumaka, isistimu iyakhiqiza umbiko okahle enemidwebo, amathebula namagrafu, ehlukanisa i-temci nezixazululo ezifanayo.

Phakathi kokushiyeka kwe-temci, "ubusha" bayo bugqamile. Ngenxa yalokho akusekelwe konke i-hardware ne-software ukucushwa. Isibonelo, kunzima ukusebenza ku-macOS, futhi ezinye izici azitholakali ohlelweni olusekelwe ku-ARM. Ngokuzayo, isimo singashintsha, njengoba umlobi ethuthukisa iphrojekthi ngenkuthalo, futhi inani lezinkanyezi ku-GitHub likhula kancane kancane - hhayi kudala temci ngisho okuxoxwe ngakho emazwaneni ku-Hacker News.

i-arch-bench

Insiza yokuhlola ukusebenza kwemisebenzi ye-CPU esezingeni eliphansi, ethuthukiswe ngunjiniyela u-Travis Downs (Travis Downs). Muva nje ubelokhu ebhuloga Ukusebenza Okubalulekile kumakhasi we-GitHub, ekhuluma ngamathuluzi wokulinganisa nezinye izinto ezihlobene. Ngokuvamile, i-uarch-bench isiqala ukuthandwa, kodwa isivele ijwayelekile okukhulunyiwe abahlali be-Hacker News emiculweni yetimu njengethuluzi lokuya ku-benchmarking.

I-Uarch-bench ikuvumela ukuthi uhlole ukusebenza kwenkumbulo, isivinini sokulayisha idatha efanayo nomsebenzi wokuhlanza Irejista ye-YMM. Ukuthi imiphumela yokulinganisa ekhiqizwe uhlelo ibukeka kanjani ingatholwa endaweni yokugcina esemthethweni ngaphansi kwekhasi.

Kuyaphawuleka ukuthi i-uarch-bench, njenge-temci, khubaza Umsebenzi we-Intel Turbo Boost (ukhulisa ngokuzenzakalelayo isivinini sewashi leprosesa ngaphansi komthwalo) ukuze imiphumela yokuhlolwa ihambisane.

Okwamanje, iphrojekthi isesigabeni sokuqala sokuthuthuka, ngakho-ke i-uarch-bench ayinayo imibhalo enemininingwane, futhi ukusebenza kwayo kungaqukatha izimbungulu - ngokwesibonelo, ubunzima baziwa ngokuqaliswa ku-Ryzen. Futhi, amabhentshimakhi kuphela wezakhiwo ze-x86 asekelwayo. Umbhali uthembisa ukungeza ukusebenza okwengeziwe ngokuzayo futhi ukumema ukuthi ujoyine ukuthuthukiswa.

uketshezi

Leli isethi yamathuluzi okuhlola ukusebenza kwemishini ye-Linux enamaphrosesa we-Intel, AMD kanye ne-ARMv8. Yakhiwe ngaphansi koMnyango Wezemfundo Nokucwaninga Wesifunda saseJalimane ngo-2017 futhi yakhululwa emthonjeni ovulekile.

Phakathi kwamathuluzi e-likwid, singagqamisa i-likwid-powermeter, ebonisa ulwazi olusuka kumarejista e-RAPL mayelana namandla asetshenziswa uhlelo, kanye ne-likwid-setFrequencies, ekuvumela ukuthi ulawule imvamisa yokucubungula. Ungabona uhlu oluphelele thola endaweni yokugcina.

Ithuluzi lisetshenziswa onjiniyela ababandakanyeka ocwaningweni lwe-HPC. Isibonelo, nge-likwid Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ iqembu lochwepheshe abavela ku-Regional Computing Center yeNyuvesi yase-Erlangen-Nuremberg (RRZE) eJalimane. Uphinde abambe iqhaza elikhulu ekwakhiweni kwaleli sethi yamathuluzi.

Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe
--ΠžΡ‚ΠΎ - UClem Onojeghuo - Unsplash

perf-amathuluzi

Leli thuluzi lokuhlaziya ukusebenza kwamaseva e-Linux kwethulwa UBrendan Gregg. Ungomunye wabathuthukisi I-DTrace - uhlaka oluguqukayo lokulandelela lokususa iphutha kwezinhlelo zokusebenza ngesikhathi sangempela.

amathuluzi-perf asekelwe ku-perf_events kanye ne-ftrace kernel subsystems. Izinsiza zabo zikuvumela ukuthi uhlaziye i-I/O latency (iosnoop), ulandelele izimpikiswano zekholi yesistimu (i-unccount, i-funclower, i-funcgraph ne-functrace) futhi uqoqe izibalo "kokushaya" kunqolobane yefayela (cachestat). Esimweni sokugcina, umyalo ubukeka kanjena:

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

Umphakathi omkhulu wakheke eduze kwethuluzi (cishe izinkanyezi eziyizinkulungwane ezingu-6 ku-GitHub). Futhi kunezinkampani ezisebenzisa ngenkuthalo amathuluzi e-perf, ngokwesibonelo Netflix. Kodwa ithuluzi liyathuthukiswa futhi lilungiswe (yize izibuyekezo zikhishwe kancane kancane kamuva nje). Ngakho-ke, amaphutha angenzeka ekusebenzeni kwawo - umbhali ubhala ukuthi ngezinye izikhathi amathuluzi asebenzayo abangela ukwethuka kwe-kernel.

llvm-mca

Isisetshenziswa esibikezela ukuthi zingaki ikhodi yomshini wezinsiza zekhompyutha ezodinga kuma-CPU ahlukene. Yena iyahlola Imiyalo Ngomjikelezo ngamunye (I-IPC) kanye nomthwalo wehadiwe okhiqizwa uhlelo oluthile.

I-llvm-mca yethulwa ngo-2018 njengengxenye yephrojekthi LLVM, esakha isistimu yendawo yonke yokuhlaziya, ukuguqulwa kanye nokwenza kahle kwezinhlelo. Kuyaziwa ukuthi ababhali be-llvm-mca bagqugquzelwe yisixazululo sokuhlaziya ukusebenza kwesoftware. I-IACA evela ku-Intel futhi yafuna ukwenza enye indlela. Futhi ngokusho kwabasebenzisi, ukuphuma kwethuluzi (isakhiwo sabo nobuningi) kufana ngempela ne-IACA - isibonelo ingatholakala lapha. Nokho, i-llvm-mca yamukela kuphela I-syntax ye-AT&T, ngakho-ke cishe kuzodingeka usebenzise iziguquli ukuze usebenze ngakho.

Esibhala ngakho kumabhulogi ethu nasezinkundleni zokuxhumana:

Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe "Mat. Imodeli ye-Wall Street" noma indlela yokuthuthukisa izindleko zamafu

Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe Ungaluvikela kanjani uhlelo lwakho lwe-Linux: Amathiphu ayi-10
Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe Ukunciphisa ubungozi: ungalahlekelwa kanjani idatha yakho

Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe Izincwadi zalabo asebevele bebambe iqhaza ekuphathweni kwesistimu noma abahlela nje ukuqala
Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliwe Ukukhetha: izincwadi ezinhlanu kanye nekhosi eyodwa kumanethiwekhi

Amabhentshimakhi amaseva e-Linux: ukukhethwa kwamathuluzi avuliweThina kwa-1cloud.ru sinikeza isevisi yamahhala β€œUkusingathwa kwe-DNS" Ungaphatha amarekhodi e-DNS ku-akhawunti yomuntu siqu eyodwa.

Source: www.habr.com

Engeza amazwana