Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe

Anyị na-aga n'ihu na-ekwu maka ngwaọrụ maka ịlele arụmọrụ CPU na igwe Linux. Taa na ihe: temci, uarch-bench, likwid, perf-tools na lvm-mca.

Ihe nrịbama ndị ọzọ:

Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe
Ото - Lukas Blazek - Unsplash

temci

Nke a bụ ngwá ọrụ na-atụle oge igbu nke mmemme abụọ. N'ezie, ọ na-enye gị ohere iji tụnyere oge igbu nke ngwa abụọ. Onye dere akụrụngwa ahụ bụ nwa akwụkwọ si Jamanị, Johannes Bechberger, onye mepụtara ya dịka akụkụ nke nzere bachelọ ya na 2016. Ngwa ngwa taa kesara site ikike n'okpuru GNU General Public License.

Johannes chọrọ ịmepụta ngwá ọrụ ga-enye ya ohere ịlele arụmọrụ nke usoro mgbakọ na mwepụ na gburugburu ebe a na-achịkwa. Ya mere, otu n'ime ihe ndị bụ isi nke temci bụ ike ịmepụta ebe nyocha. Ọmụmaatụ, nwere ike: gbanwee ntọala njikwa ugboro CPU, gbanyụọ hyper threading na cache L1 na L2, gbanyụọ turbo mode na Intel processors, wdg. Maka benchmarking temci na-eji ngwaọrụ. oge, perf_stat и ime ihe ike.

Nke a bụ ihe ngwa ngwa dị na nke mbụ:

# 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

Dabere na nsonaazụ benchmarking, sistemụ na-emepụta adaba akụkọ na eserese, tebụl na eserese, nke na-ekewa temci na ngwọta ndị yiri ya.

N'ime adịghị ike nke temci, "ntorobịa" ya pụtara ìhè. N'ihi nke a ọ ọ bụghị ihe niile na-akwado nhazi ngwaike na ngwanrọ. Dịka ọmụmaatụ, ọ siri ike ịgba ọsọ na macOS, yana ụfọdụ atụmatụ adịghị na sistemụ dabere na ARM. N'ọdịnihu, ọnọdụ ahụ nwere ike ịgbanwe, ebe ọ bụ na onye edemede na-arụsi ọrụ ike na-emepụta ọrụ ahụ, na ọnụ ọgụgụ kpakpando na GitHub ji nwayọọ nwayọọ na-abawanye - ọ bụghị ogologo oge gara aga temci ọbụna tụlere na nkọwa na Akụkọ Hacker.

urch-bench

Ngwa maka inyocha arụmọrụ nke ọrụ CPU dị ala, nke injinia Travis Downs mepụtara (Travis Downs). N'oge na-adịbeghị anya ọ na-ede blọgụ Arụmọrụ dị mkpa na GitHub Pages, nke na-ekwu maka ngwaọrụ benchmarking na ihe ndị ọzọ metụtara ya. N'ozuzu, uarch-bench ka na-amalite inweta ewu ewu, mana ọ bụlarị nke a na-ahụkarị kwuru bi na Hacker News na thematic threads dị ka ihe aga-na maka benchmarking.

Uarch-bench na-enye gị ohere inyocha arụmọrụ ebe nchekwa, ọsọ nbudata data na ọrụ nhicha YMM ndekọ. Enwere ike ịchọta nsonaazụ benchmarking nke mmemme ahụ mepụtara n'ime ebe nchekwa gọọmentị na ala nke ibe.

Ọ dị mma ịmara na uarch-bench, dị ka temci, na-akwụsị Intel Turbo Boost ọrụ (ọ na-akpaghị aka na-abawanye ọsọ elekere processor n'okpuru ibu) ka nsonaazụ ule na-agbanwe agbanwe.

Maka ugbu a, ọrụ ahụ dị na mmalite nke mmepe, ya mere uarch-bench enweghị akwụkwọ zuru ezu, na ọrụ ya nwere ike ịnwe ahụhụ - dịka ọmụmaatụ, ihe isi ike mara na mmalite na Ryzen. Ọzọkwa, naanị akara akara maka ụlọ ọrụ x86 ka akwadoro. Onye edemede ahụ na-ekwe nkwa itinyekwu ọrụ n'ọdịnihu ma na-akpọ gị òkù ka ị sonyere mmepe ahụ.

mmiri mmiri

Nke a bụ otu ngwaọrụ maka iji Intel, AMD na ARMv8 nyochaa arụmọrụ nke igwe Linux. Emepụtara ya n'okpuru nkwado nke Federal Federal Ministry of Education and Research na 2017 wee wepụta ya na isi mmalite.

N'ime ngwa ọrụ likwid, anyị nwere ike ime ka likwid-powermeter pụta ìhè, nke na-egosiputa ozi sitere na ndekọ RAPL banyere ike nke sistemụ na-eri, yana likvid-setFrequencies, nke na-enye gị ohere ijikwa oge nhazi. Ị nwere ike ịhụ ndepụta zuru ezu chọta na ebe nchekwa.

Ndị injinia na-etinye aka na nyocha HPC na-eji ngwá ọrụ a. Dịka ọmụmaatụ, na likwid ọrụ otu ndị ọkachamara sitere na Regional Computing Center nke Mahadum Erlangen-Nuremberg (RRZE) na Germany. Ọ na-ekerekwa òkè na-arụsi ọrụ ike n'imepụta ngwá ọrụ a.

Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe
Ото - Clem Onojeghuo - Unsplash

ngwá ọrụ perf

Ngwá ọrụ a maka nyochaa arụmọrụ nke sava Linux webatara Brendan Gregg. Ọ bụ otu n'ime ndị mmepe DTrace - usoro nchọta siri ike maka ngwa debugging ozugbo.

Ngwa perf dabere na perf_events na ftrace kernel subsystems. Ọrụ ha na-enye gị ohere iji nyochaa latency I / O (iosnoop), soro usoro oku arụmụka (unccount, funcslower, funcgraph and functrace) na ịnakọta ọnụ ọgụgụ na "hits" na cache faịlụ (cachestat). N'okwu nke ikpeazụ, iwu ahụ dị ka nke a:

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

Otu nnukwu obodo etolitela gburugburu ngwa ahụ (ihe fọrọ nke nta ka ọ bụrụ puku kpakpando 6 na GitHub). Ma enwere ụlọ ọrụ na-arụsi ọrụ ike na-eji ngwa perf, dịka ọmụmaatụ Netflix. Mana a na-emepewanye ngwa ahụ ma gbanwee ya (ọ bụ ezie na ewepụtala mmelite n'oge na-adịbeghị anya). Ya mere, njehie nwere ike ime na ọrụ ya - onye edemede dere na mgbe ụfọdụ perf-tools na-akpata ụjọ kernel.

lvm-mca

Ngwa na-ebu amụma ole koodu igwe akụrụngwa ga-achọ na CPU dị iche iche. Nwanyị na-atụle Ntuziaka kwa okirikiri (IPC) na ibu dị na ngwaike nke otu ngwa na-ewepụta.

ewepụtara lvm-mca na 2018 dịka akụkụ nke ọrụ a LLVM, nke na-emepụta usoro zuru ụwa ọnụ maka nyocha, mgbanwe na njikarịcha nke mmemme. A maara na ndị dere llvm-mca sitere n'ike mmụọ nsọ maka nyocha arụmọrụ ngwanrọ IACA sitere na Intel ma chọọ imepụta ihe ọzọ. Dịkwa ka ndị ọrụ si kwuo, mmepụta ngwá ọrụ ahụ (nhazi ha na ọnụ ọgụgụ ha) yiri IACA n'ezie - ọmụmaatụ. enwere ike ịchọta ebe a. Agbanyeghị, llvm-mca na-anabata naanị AT&T syntax, yabụ ị ga-abụrịrị na ị ga-eji ndị ntụgharị na-arụ ọrụ na ya.

Ihe anyị na-ede na blọọgụ na netwọk mmekọrịta anyị:

Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe "Mat. Ụdị Wall Street" ma ọ bụ otu esi ebuli ọnụ ahịa igwe ojii

Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe Otu esi echekwa sistemụ Linux gị: ndụmọdụ 10
Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe Ibelata ihe egwu: otu ị gaghị atụfu data gị

Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe Akwụkwọ maka ndị etinyelarị aka na nchịkwa sistemụ ma ọ bụ na-eme atụmatụ ịmalite
Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepe Nhọrọ: akwụkwọ ise na otu usoro na netwọk

Benchmarks maka sava Linux: nhọrọ nke ngwaọrụ mepere emepeAnyị na 1cloud.ru na-enye ọrụ efu "DNS Bochum" Ị nwere ike ijikwa ndekọ DNS na otu akaụntụ nkeonwe.

isi: www.habr.com

Tinye a comment