„Linux“ serverių etalonas: atvirų įrankių pasirinkimas

Mes ir toliau kalbame apie įrankius, skirtus procesoriaus našumui įvertinti „Linux“ įrenginiuose. Šiandien medžiagoje: temci, uarch-bench, likwid, perf-tools ir llvm-mca.

Daugiau etalonų:

„Linux“ serverių etalonas: atvirų įrankių pasirinkimas
Фото - Lukas Blazekas – Atskleiskite

temci

Tai įrankis, skirtas dviejų programų vykdymo laikui įvertinti. Iš esmės tai leidžia palyginti dviejų programų vykdymo laiką. Priemonės autorius buvo studentas iš Vokietijos Johannesas Bechbergeris, kuris ją sukūrė kaip savo bakalauro baigiamąjį darbą 2016 m. Šios dienos įrankis išplatino licencijuota pagal GNU bendrąją viešąją licenciją.

Johannesas norėjo sukurti įrankį, kuris leistų jam išmatuoti skaičiavimo sistemos našumą kontroliuojamoje aplinkoje. Todėl viena iš pagrindinių temci savybių yra galimybė nustatyti testavimo aplinką. Pavyzdžiui, vienas gali: pakeisti procesoriaus dažnio tvarkyklės nustatymus, išjungti hipergijos ir L1 ir L2 talpyklos, išjunkite turbo režimą „Intel“ procesoriuose ir kt. „Temci“ naudoja įrankius palyginimui laikas, perf_stat и pasikalbėjimas.

Štai kaip programa atrodo pirmuoju atveju:

# 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

Remiantis lyginamosios analizės rezultatais, sistema sukuria patogi ataskaita su diagramomis, lentelėmis ir grafikais, kurie išskiria temci iš panašių sprendimų.

Tarp temci trūkumų išsiskiria jo „jaunystė“. Dėl to jis ne viskas palaikoma aparatinės ir programinės įrangos konfigūracijos. Pavyzdžiui, sunku paleisti „macOS“, o kai kurios funkcijos nepasiekiamos ARM pagrįstoje sistemoje. Ateityje situacija gali pasikeisti, nes autorius aktyviai vysto projektą, o žvaigždžių skaičius GitHube po truputį didėja – dar ne taip seniai temci net aptarta komentaruose per „Hacker News“.

uarch-suolas

Žemo lygio procesoriaus funkcijų našumo įvertinimo įrankis, kurį sukūrė inžinierius Travisas Downsas (Travisas Daunas). Pastaruoju metu jis rašo tinklaraštį Spektaklio klausimai GitHub puslapiuose, kuriuose kalbama apie lyginamosios analizės įrankius ir kitus susijusius dalykus. Apskritai, uarch-bench dar tik pradeda populiarėti, tačiau tai jau gana įprasta minimas „Hacker News“ gyventojams teminėse gijose kaip įrankį lyginamajai analizei atlikti.

Uarch-bench leidžia įvertinti atminties našumą, lygiagretų duomenų įkėlimo greitį ir valymo darbus YMM registrai. Kaip atrodo programos sugeneruoti lyginamosios analizės rezultatai, galite sužinoti oficialioje saugykloje puslapio apačioje.

Verta paminėti, kad uarch-suolas, kaip ir temci, atsijungia „Intel Turbo Boost“ funkcija (ji automatiškai padidina procesoriaus taktinį dažnį esant apkrovai), kad bandymo rezultatai būtų nuoseklūs.

Kol kas projektas yra pradiniame kūrimo etape, todėl uarch-bench neturi išsamios dokumentacijos, o jo veikime gali būti klaidų, pvz. sunkumai žinomi su paleidimu Ryzen. Be to, palaikomi tik x86 architektūrų etalonai. Autorius žada ateityje pridėti daugiau funkcionalumo ir kviečia prisijungti prie kūrimo.

skystis

Tai įrankių rinkinys, skirtas įvertinti Linux mašinų su Intel, AMD ir ARMv8 procesoriais našumą. Jis buvo sukurtas 2017 m., globojant Vokietijos federalinei švietimo ir tyrimų ministerijai, ir išleistas į atvirą kodą.

Iš likwid įrankių galime išskirti likwid-powermeter, rodantį informaciją iš RAPL registrų apie sistemos sunaudotą galią, taip pat likwid-setFrequencies, leidžiantį valdyti procesoriaus dažnį. Galite pamatyti visą sąrašą rasti saugykloje.

Įrankį naudoja HPC tyrimuose dalyvaujantys inžinieriai. Pavyzdžiui, su likwid kūryba specialistų grupė iš Erlangeno-Niurnbergo universiteto (RRZE) regioninio skaičiavimo centro Vokietijoje. Ji taip pat aktyviai dalyvauja kuriant šį priemonių rinkinį.

„Linux“ serverių etalonas: atvirų įrankių pasirinkimas
Фото - Klemas Onojeghuo – Atskleiskite

perf įrankiai

Šis įrankis skirtas Linux serverių našumui analizuoti pristatė Brendanas Gregas. Jis yra vienas iš kūrėjų DTrace — dinaminė sekimo sistema, skirta taikomųjų programų derinimui realiuoju laiku.

perf-tools yra pagrįsta perf_events ir ftrace branduolio posistemiais. Jų paslaugos leidžia analizuoti įvesties / išvesties delsą (iosnoop), sekti sistemos iškvietimo argumentus (unccount, funcslower, funcgraph ir functrace) ir rinkti statistiką apie „patikimus“ failo talpykloje (cachestat). Pastaruoju atveju komanda atrodo taip:

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

Aplink instrumentą susiformavo gana didelė bendruomenė (beveik 6 tūkstančiai žvaigždžių „GitHub“.). Ir yra įmonių, kurios, pavyzdžiui, aktyviai naudoja perf-įrankius "Netflix". Tačiau įrankis toliau tobulinamas ir modifikuojamas (nors pastaruoju metu atnaujinimai išleidžiami gana retai). Todėl jo veikime gali atsirasti klaidų – autorius rašo, kad kartais perf-tools sukelia branduolio paniką.

llvm-mca

Priemonė, numatanti, kiek skaičiavimo resursų mašinos kodui reikės skirtinguose procesoriuose. Ji įvertina Instrukcijos per ciklą (IPC) ir aparatinės įrangos apkrovą, kurią sukuria tam tikra programa.

llvm-mca buvo pristatyta 2018 m. kaip projekto dalis LLVM, kurianti universalią programų analizės, transformavimo ir optimizavimo sistemą. Yra žinoma, kad llvm-mca autorius įkvėpė programinės įrangos našumo analizės sprendimas IACA iš „Intel“. ir siekė sukurti alternatyvą. Ir, pasak vartotojų, įrankio išvestis (jų išdėstymas ir kiekis) tikrai primena IACA – pvz. rasite čia. Tačiau llvm-mca priima tik AT&T sintaksė, todėl greičiausiai turėsite naudoti keitiklius, kad galėtumėte dirbti su juo.

Apie ką rašome savo tinklaraščiuose ir socialiniuose tinkluose:

„Linux“ serverių etalonas: atvirų įrankių pasirinkimas "Mat. Wall Street modelis“ arba kaip optimizuoti debesies išlaidas

„Linux“ serverių etalonas: atvirų įrankių pasirinkimas Kaip apsaugoti „Linux“ sistemą: 10 patarimų
„Linux“ serverių etalonas: atvirų įrankių pasirinkimas Rizikos sumažinimas: kaip neprarasti duomenų

„Linux“ serverių etalonas: atvirų įrankių pasirinkimas Knygos tiems, kurie jau užsiima sistemos administravimu arba tik planuoja pradėti
„Linux“ serverių etalonas: atvirų įrankių pasirinkimas Pasirinkimas: penkios knygos ir vienas kursas apie tinklus

„Linux“ serverių etalonas: atvirų įrankių pasirinkimasMes, 1cloud.ru, siūlome nemokamą paslaugą “DNS priegloba“ Galite tvarkyti DNS įrašus vienoje asmeninėje paskyroje.

Šaltinis: www.habr.com

Добавить комментарий