Vazhdoni të flisni për mjetet për vlerësimin e performancës së CPU në makinat Linux. Sot në material: temci, uarch-bench, likwid, perf-tools dhe llvm-mca.
Më shumë benchmark-e:
Foto - â Unsplash
Ky është një mjet për vlerësimin e kohës së ekzekutimit të dy programeve. Në thelb, ai lejon të krahasohen kohët e ekzekutimit të dy aplikacioneve. Autor i utilitarit është studenti gjerman Johannes Bechberger, i cili e zhvilloi atë si pjesë e tezës së tij të diplomës në vitin 2016. Sot ky mjet ka licencën GNU General Public License.
Johannes donte të krijonte një mjet që do të lejonte të matet performanca e sistemit informatik në një mjedis të kontrolluar. Prandaj, një nga karakteristikat kryesore të temci është mundësia për të konfiguruar mjedisin e testimit. Për shembull, : të ndryshoni cilësimet e menaxherit të frekuencës së CPU, të çaktivizoni dhe caches L1 dhe L2, të çaktivizoni modin turbo në procesorët Intel etj. Për benchmarkim, temci përdor mjetet , dhe .
Këtu është si duket funksionimi i utilitarit në rastin e parë:
# 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
Sipas rezultateve të benchmarkimit, sistemi formon me skema, tabela dhe grafika, që e dallon temci nga zgjidhjet e ngjashme.
Nga mangësitë e temci, vlen të përmendet "rinia" e tij. Për shkak të kësaj konfigurimet e harduerit dhe softuerit. Për shembull, është e vështirë ta ekzekutosh në macOS, dhe në një sistem me procesor ARM disa funksione nuk janë të disponueshme. Në të ardhmen, situata mund të ndryshojë, pasi autori po e zhvillon aktivisht projektin dhe numri i yjeve në GitHub po rritet gradualisht - së fundmi temci u në Hacker News.
Një mjet për vlerësimin e performancës së funksioneve të ulëta të CPU, i zhvilluar nga inxhinieri Travis Downs. Së fundmi, ai po mban blogun e tijnë GitHub Pages, ku flitka për mjetet për benchmarkim dhe gjëra të tjera të lidhura. Në përgjithësi, uarch-bench po fillon të fitojë popullaritet, por tashmë shpesh përmendet Uarch-bench lejon vlerësimin e performancës së memories, shpejtësisë së ngarkimit paralel të të dhënave dhe funksionit të pastrimit të regjistrave YMM
Uarch-bench lejon të vlerësojë performancën e memories, shpejtësinë e ngarkesës paralele të të dhënave dhe punën e pastrimit Si mund të gjeni rezultatet e benchmark-ut të gjeneruara nga programi, në fund të faqes.
Duhet vënë në dukje se uarch-bench, ashtu si temci, funkcionin Intel Turbo Boost (i cili automatikisht rrit frekuencën e procesorit nën ngarkesë), për t'u siguruar që rezultatet e testimit të jenë konsistente.
Aktualisht, projekti është në faza të hershme të zhvillimit, kështu që uarch-bench nuk ka dokumentacion të detajuar dhe mund të ketë gabime në funksionimin e tij - për shembull, me ekzekutimin në Ryzen. Për më tepër, mbështeten vetëm benchmark-et për arkitekturën x86. Autori premton të shtojë më shumë funksionalitete në të ardhmen dhe fton të bashkohen në zhvillim.
Ky është një set mjetesh për vlerësimin e performancës së makinave Linux me procesorë Intel, AMD dhe ARMv8. Ai u krijua nën kujdesin e Ministrisë Federale të Arsimit dhe Kërkimeve Shkencore të Gjermanisë në vitin 2017 dhe u kalua në open source.
Mes mjeteve likwid, mund të dallohen likwid-powermeter, i cili jep informacion nga regjistrat RAPL mbi fuqinë e konsumuar nga sistemi, si dhe likwid-setFrequencies - që lejon kontrollin e frekuencës së procesorit. Një listë të plotë mund të .
Ky mjet përdoret nga inxhinierë që merren me studime në fushën e HPC. Për shembull, me likwid një grup specialistësh nga Qendra Rajonale e Llogaritjes së Universitetit të Erlangen - Nuremberg (RRZE) në Gjermani. Po ashtu, ata marrin pjesë aktivisht në zhvillimin e këtij seti mjetesh.

Foto - â Unsplash
Ky është një mjet për analizën e performancës së serverëve Linux Brendan Gregg. Ai është një nga zhvilluesit - framework-ut të gjurmimit dinamik për debugging në kohë reale.
Në thelb të perf-tools janë nën-sistemat e bërthamës perf_events dhe ftrace. Utilitetet e tyre lejojnë analizimin e vonesave të hyrjes/daljes (iosnoop), ndjekjen e argumenteve të thirrjeve në sistem (unccount, funcslower, funcgraph dhe functrace) dhe mbledhjen e statistikave mbi 'goditjet' në cache-n e skedarëve (cachestat). Në këtë rast, urdhri duket kështu:
# ./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
Rreth kĂ«tij mjeti Ă«shtĂ« formuar njĂ« komunitet mjaft i gjerĂ« (). Dhe ka kompani qĂ« e pĂ«rdorin aktivisht perf-tools, pĂ«r shembull . Por Ă«shtĂ« njĂ« instrument qĂ« po zhvillohet dhe modifikohet (edhe pse javĂ«t e fundit pĂ«rditĂ«simet po dalin mĂ« rrallĂ«). Prandaj, gjatĂ« funksionimit tĂ« tij mund tĂ« ndodhin gabime â autori shkruan se ndonjĂ«herĂ« perf-tools shkakton kernel panic.
Një utilitar që parashikon sa burime kompjuterike i nevojiten kodit të makinës në CPU të ndryshme. Ajo Instructions Per Cycle () dhe ngarkesën mbi harduerin që gjeneron një aplikacion i caktuar.
llvm-mca u paraqit nĂ« vitin 2018 si pjesĂ« e projektit , i cili merret me zhvillimin e njĂ« sistemi tĂ« pĂ«rgjithshĂ«m pĂ«r analiza, transformim dhe optimizim tĂ« programeve. ĂshtĂ« e njohur se autorĂ«t e llvm-mca u frymĂ«zuan nga zgjidhja pĂ«r analizimin e performancĂ«s sĂ« softuerit dhe synonin tĂ« krijonin njĂ« alternativĂ«. Sipas pĂ«rdoruesve, tĂ« dhĂ«nat e kĂ«tij instrumenti (shkalla e tyre dhe numri) me tĂ« vĂ«rtetĂ« i ngjajnĂ« IACA â njĂ« shembull . MegjithatĂ«, llvm-mca pranon vetĂ«m , prandaj pĂ«r ta pĂ«rdorur, me siguri do tĂ« duhet tĂ« pĂ«rdoren konvertues.
Për çfarë shkruajmë në bloget dhe rrjetet tona sociale:
![]()
![]()
![]()
![]()
![]()
Ne në 1cloud.ru ofrojmë një shërbim falas të «». Të menaxhosh DNS-rekordet me ne mund të bëhet në një kabinet të vetëm personal.
Burimi: habr.com
