Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed

Ons gaan voort om te praat oor gereedskap vir die evaluering van SVE-prestasie op Linux-masjiene. Vandag in die materiaal: temci, uarch-bench, likwid, perf-tools en llvm-mca.

Meer maatstawwe:

Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed
Foto - Lucas Blazek β€” Unsplash

temci

Dit is 'n hulpmiddel om die uitvoeringstyd van twee programme te skat. Trouens, dit laat jou toe om die uitvoeringstyd van twee toepassings te vergelyk. Die program is geskryf deur die Duitse student Johannes Bechberger, wat dit as deel van sy baccalaureusgraadtesis in 2016 ontwikkel het. vandag hulpmiddel versprei deur gelisensieer onder die GNU General Public License.

Johannes wou 'n instrument skep waarmee die werkverrigting van 'n rekenaarstelsel in 'n beheerde omgewing gemeet kan word. Daarom is een van die hoofkenmerke van temci die vermoΓ« om die toetsomgewing aan te pas. Byvoorbeeld, kan 'n mens: verander die instellings van die SVE-frekwensiebeheerbestuurder, deaktiveer hiper-threading en L1- en L2-kas, skakel turbomodus op Intel-verwerkers af, ens. Vir maatstaf gebruik temci gereedskap tyd, perf_stat ΠΈ getrusage.

Dit is hoe die hulpprogram in die eerste geval lyk:

# 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

Op grond van die resultate van benchmarking, genereer die stelsel gerieflike verslag met diagramme, tabelle en grafieke, wat temci van soortgelyke oplossings onderskei.

Van die tekortkominge van temci staan ​​sy "jeug" uit. As gevolg hiervan het hy ondersteun nie almal nie hardeware en sagteware konfigurasies. Dit is byvoorbeeld moeilik om onder macOS te hardloop, en sommige kenmerke is nie beskikbaar op 'n stelsel met 'n ARM-verwerker nie. In die toekoms kan die situasie verander, aangesien die skrywer aktief besig is om die projek te ontwikkel, en die aantal sterre op GitHub neem geleidelik toe - nie so lank gelede temci selfs in die kommentaar bespreek op Hacker News.

uarch-bank

'n Nut vir die evaluering van die werkverrigting van laevlak-SVE-funksies, ontwikkel deur ingenieur Travis Downes (Travis Downs). Onlangs blog hy Prestasie maak saak op GitHub Pages, wat praat oor maatstafinstrumente en ander dinge wat daarmee verband hou. Oor die algemeen begin uarch-bank net gewild raak, maar alreeds baie gereeld genoem Hacker News-inwoners in tematiese drade as 'n go-to benchmarking-instrument.

Uarch-bench laat jou toe om geheue werkverrigting, parallelle data laai spoed en opruim werk te evalueer YMM registreer. Hoe die maatstafresultate lyk wat deur die program gegenereer word, kan gevind word in die amptelike bewaarplek onderaan die bladsy.

Dit is opmerklik dat uarch-bank, soos temci, ontkoppel die Intel Turbo Boost-funksie (dit verhoog outomaties die verwerker se klokspoed onder lading) sodat die toetsresultate konsekwent is.

Tot dusver is die projek in die vroeΓ« stadiums van ontwikkeling, so uarch-bench het nie gedetailleerde dokumentasie nie, en foute kan in sy werk voorkom - byvoorbeeld, probleme is bekend loop op Ryzen. Slegs maatstawwe vir x86-argitekture word ook ondersteun. Die skrywer beloof om in die toekoms meer funksionaliteit by te voeg en nooi jou uit om by die ontwikkeling aan te sluit.

vloeistof

Dit is 'n stel gereedskap om die werkverrigting van Linux-masjiene met Intel-, AMD- en ARMv8-verwerkers te evalueer. Dit is in 2017 onder die vaandel van die Duitse Federale Ministerie van Onderwys en Navorsing geskep en na oopbron oorgeplaas.

Onder die likwid-gereedskap kan 'n mens likwid-kragmeter uitsonder, wat inligting uit RAPL-registers vertoon oor die krag wat deur die stelsel verbruik word, sowel as likwid-setFrequencies, wat jou toelaat om die verwerkerfrekwensie te beheer. Vir 'n volledige lys, kan jy vind in bewaarplek.

Die instrument word deur HPC-navorsingsingenieurs gebruik. Byvoorbeeld, met likwid werk 'n groep spesialiste van die Regional Computing Centre van die Universiteit van Erlangen - Neurenberg (RRZE) in Duitsland. Sy is ook aktief betrokke by die ontwikkeling van hierdie stel gereedskap.

Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed
Foto - Clem Onojeghuo β€” Unsplash

perf-gereedskap

Hierdie instrument vir die ontleding van die werkverrigting van Linux-bedieners voorgelΓͺ Brendan Gregg. Hy is een van die ontwikkelaars DTrace - 'n dinamiese opsporingsraamwerk vir die ontfouting van toepassings in reΓ«le tyd.

Perf-tools is gebaseer op die perf_events en ftrace kernel substelsels. Hul nutsprogramme laat jou toe om I/O-latency (iosnoop) te ontleed, stelseloproepargumente (unccount, funclower, funcgraph en functrace) op te spoor en lΓͺerkas-trefferstatistieke (cachestat) te versamel. In laasgenoemde geval lyk die opdrag soos volg:

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

'n Redelik groot gemeenskap het rondom die instrument gevorm (byna 6k sterre op GitHub). En daar is maatskappye wat byvoorbeeld perf-tools aktief gebruik Netflix. Maar die instrument word gefinaliseer en gewysig (hoewel opdaterings die afgelope tyd redelik selde vrygestel is). Daarom kan foute in sy werk voorkom - die skrywer skryf dat perf-tools soms kernpaniek veroorsaak.

llvm-mca

'n Nut wat voorspel hoeveel rekenaarhulpbronne die masjienkode op verskillende SVE's sal benodig. Sy evalueer Instruksies per siklus (IPC) en die las op die hardeware wat 'n toepassing genereer.

llvm-mca is in 2018 as deel van die projek bekendgestel LLVM, wat 'n universele stelsel ontwikkel vir die ontleding, transformasie en optimalisering van programme. Dit is bekend dat die skrywers van llvm-mca geΓ―nspireer is deur die sagteware prestasie-analise-oplossing IACA van Intel en probeer om 'n alternatief daarvoor te skep. En volgens gebruikers lyk die uitset van die instrument (hul opmaak en hoeveelheid) regtig soos IACA - 'n voorbeeld kan hier gevind word. llvm-mca aanvaar egter net AT&T-sintaksis, dus om daarmee te werk, sal jy waarskynlik omsetters moet gebruik.

Waaroor ons op ons blogs en sosiale netwerke skryf:

Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed "Mat. Wall Street Model" of hoe om wolkkoste te optimaliseer

Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed Hoe om jou Linux-stelsel te beveilig: 10 wenke
Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed Risiko minimalisering: hoe om nie jou data te verloor nie

Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed Boeke vir diegene wat reeds by stelseladministrasie betrokke is of net beplan om te begin
Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoed Keuring: vyf boeke en een netwerkkursus

Maatstawwe vir bedieners op Linux: 'n seleksie van oopbronnutsgoedOns by 1cloud.ru bied 'n gratis diens aan "DNS-gasheer". U kan DNS-rekords by ons in 'n enkele persoonlike rekening bestuur.

Bron: will.com

Voeg 'n opmerking