Tunaendelea kuzungumzia zana za kutathmini utendaji wa CPU kwenye Linux-машинах. Сегодня в материале: temci, uarch-bench, likwid, perf-tools и llvm-mca.
Vigezo zaidi:
Picha - - Unsplash
Hii ni zana ya kukadiria wakati wa utekelezaji wa programu mbili. Kimsingi, hukuruhusu kulinganisha wakati wa utekelezaji wa programu mbili. Mwandishi wa shirika hilo alikuwa mwanafunzi kutoka Ujerumani, Johannes Bechberger, ambaye aliiendeleza kama sehemu ya nadharia yake ya bachelor mnamo 2016. Zana ya leo iliyopewa leseni chini ya Leseni ya Jumla ya Umma ya GNU.
Johannes alitaka kuunda chombo ambacho kingemruhusu kupima utendakazi wa mfumo wa kompyuta katika mazingira yaliyodhibitiwa. Kwa hiyo, moja ya sifa kuu za temci ni uwezo wa kuanzisha mazingira ya mtihani. Kwa mfano, : badilisha mipangilio ya msimamizi wa mzunguko wa CPU, zima na kache za L1 na L2, zima hali ya turbo kwenye vichakataji vya Intel, n.k. Kwa ulinganishaji temci hutumia zana. , и .
Hivi ndivyo matumizi yanavyoonekana katika kesi ya kwanza:
# 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
Kulingana na matokeo ya uwekaji alama, mfumo huzalisha na michoro, meza na grafu, ambayo hutofautisha temci kutoka kwa ufumbuzi sawa.
Miongoni mwa mapungufu ya temci, "vijana" wake hujitokeza. Kwa sababu hii yeye конфигурации аппаратного и программного обеспечения. Например, его сложно запустить под macOS, а на системе с процессором ARM недоступны некоторые функции. В будущем ситуация может измениться, так как автор активно развивает проект, и количество звезд на GitHub постепенно увеличивается — не так давно temci даже kwenye Habari za Wadukuzi.
Huduma ya kutathmini utendakazi wa utendaji wa kiwango cha chini cha CPU, iliyotengenezwa na mhandisi Travis Downs () Hivi majuzi amekuwa akiblogi kwenye Kurasa za GitHub, ambayo inazungumza juu ya zana za kuweka alama na vitu vingine vinavyohusiana. Kwa ujumla, uarch-benchi inaanza tu kupata umaarufu, lakini tayari ni ya kawaida kabisa wakazi wa Hacker News katika nyuzi mada kama zana ya kwenda kwa kuweka alama.
Uarch-benchi hukuruhusu kutathmini utendaji wa kumbukumbu, kasi ya upakiaji wa data sambamba na kazi ya kusafisha . Jinsi matokeo ya ulinganishaji yanayotokana na programu yanaonekana yanaweza kupatikana chini ya ukurasa.
Inafaa kumbuka kuwa uarch-benchi, kama temci, Intel Turbo Boost kazi (inaongeza moja kwa moja kasi ya saa ya processor chini ya mzigo) ili matokeo ya mtihani yawe sawa.
Kwa sasa, mradi huo uko katika hatua za mwanzo za maendeleo, kwa hivyo benchi ya uarch haina nyaraka za kina, na uendeshaji wake unaweza kuwa na mende - kwa mfano, na uzinduzi kwenye Ryzen. Pia, alama za usanifu wa x86 pekee ndizo zinazotumika. Mwandishi anaahidi kuongeza utendaji zaidi katika siku zijazo na anakualika ujiunge na ukuzaji.
Это — набор инструментов для оценки производительности Linux-машин с процессорами Intel, AMD и ARMv8. Он создан под эгидой Федерального министерства образования и научных исследований Германии в 2017 году и передан в open source.
Miongoni mwa zana za likwid, tunaweza kuangazia likwid-powermeter, ambayo inaonyesha taarifa kutoka kwa rejista za RAPL kuhusu nguvu zinazotumiwa na mfumo, pamoja na likwid-setFrequencies, ambayo inakuwezesha kudhibiti mzunguko wa processor. Unaweza kuona orodha kamili .
Chombo hiki kinatumiwa na wahandisi wanaohusika katika utafiti wa HPC. Kwa mfano, na likwid kundi la wataalamu kutoka Kituo cha Kompyuta cha Mkoa cha Chuo Kikuu cha Erlangen-Nuremberg (RRZE) nchini Ujerumani. Pia anashiriki kikamilifu katika maendeleo ya seti hii ya zana.

Picha - - Unsplash
Этот инструмент для анализа производительности Linux-seva Brendan Gregg. Yeye ni mmoja wa watengenezaji - mfumo thabiti wa ufuatiliaji wa utatuzi wa programu kwa wakati halisi.
zana za perf zinatokana na perf_events na mifumo ndogo ya ftrace kernel. Huduma zao hukuruhusu kuchanganua muda wa I/O (iosnoop), kufuatilia hoja za simu za mfumo (unccount, funcslower, funcgraph na functrace) na kukusanya takwimu za "hits" kwenye kashe ya faili (cachestat). Katika kesi ya mwisho, amri inaonekana kama hii:
# ./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
Jumuiya kubwa imeunda karibu na chombo () Na kuna makampuni ambayo hutumia kikamilifu zana za perf, kwa mfano . Lakini zana hiyo inaendelezwa zaidi na kurekebishwa (ingawa sasisho zimetolewa mara chache sana hivi majuzi). Kwa hiyo, makosa yanaweza kutokea katika uendeshaji wake - mwandishi anaandika kwamba wakati mwingine vifaa vya perf husababisha hofu ya kernel.
Huduma inayotabiri ni nambari ngapi za mashine ya rasilimali za kompyuta itahitaji kwenye CPU tofauti. Yeye Maagizo kwa Kila Mzunguko () na mzigo kwenye vifaa ambavyo programu fulani hutoa.
llvm-mca iliwasilishwa mnamo 2018 kama sehemu ya mradi huo , ambayo inaunda mfumo wa ulimwengu kwa uchambuzi, mabadiliko na uboreshaji wa programu. Inajulikana kuwa waandishi wa llvm-mca walitiwa moyo na suluhisho la kuchambua utendaji wa programu. na kutafuta njia mbadala. Na kulingana na watumiaji, pato la chombo (mpangilio na idadi yao) inafanana na IACA - mfano. . Walakini, llvm-mca inakubali tu , kwa hivyo utalazimika kutumia vibadilishaji kufanya kazi nayo.
Tunachoandika kwenye blogi zetu na mitandao ya kijamii:
![]()
![]()
![]()
![]()
![]()
Sisi kwa 1cloud.ru tunatoa huduma ya bure "" Unaweza kudhibiti rekodi za DNS katika akaunti moja ya kibinafsi.
Chanzo: mapenzi.com
