Benchmarky pre servery Linux: výber otvorených nástrojov

Pokračujeme v rozprávaní o nástrojoch na hodnotenie výkonu CPU na počítačoch so systémom Linux. Dnes v materiáli: temci, uarch-bench, likwid, perf-tools a llvm-mca.

Ďalšie benchmarky:

Benchmarky pre servery Linux: výber otvorených nástrojov
Foto — Lukáš Blažek — Odstriekať

temci

Toto je nástroj na odhadnutie času vykonávania dvoch programov. V podstate vám umožňuje porovnať čas vykonávania dvoch aplikácií. Autorom utility bol študent z Nemecka Johannes Bechberger, ktorý ju vyvinul v rámci svojej bakalárskej práce v roku 2016. Dnešný nástroj distribuovaný pod licenciou GNU General Public License.

Johannes chcel vytvoriť nástroj, ktorý by mu umožnil merať výkon výpočtového systému v kontrolovanom prostredí. Preto je jednou z hlavných vlastností temci možnosť nastaviť testovacie prostredie. Napríklad, jeden môže: zmeniť nastavenia správcu frekvencie CPU, zakázať hyper závitovanie a L1 a L2 cache, vypnite turbo režim na procesoroch Intel atď. Na benchmarking používa temci nástroje čas, výkon_stat и getrusage.

Takto vyzerá pomôcka v prvom prípade:

# 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

Na základe výsledkov benchmarkingu systém generuje pohodlná správa s diagramami, tabuľkami a grafmi, čím sa temci odlišujú od podobných riešení.

Medzi nedostatkami temci vyniká jeho „mladosť“. Kvôli tomu on nie všetko je podporované hardvérové ​​a softvérové ​​konfigurácie. Napríklad je ťažké spustiť v systéme MacOS a niektoré funkcie nie sú dostupné v systéme založenom na ARM. V budúcnosti sa situácia môže zmeniť, keďže autor projekt aktívne rozvíja a počet hviezdičiek na GitHub sa postupne zvyšuje - nie je to tak dávno temci dokonca diskutované v komentároch na Hacker News.

uarch-lavica

Pomôcka na hodnotenie výkonu nízkoúrovňových funkcií CPU, vyvinutý inžinierom Travisom Downsom (Travis Downs). V poslednej dobe sa venuje blogovaniu Na veciach výkonu na stránkach GitHub, ktorý hovorí o nástrojoch na benchmarking a ďalších súvisiacich veciach. Vo všeobecnosti si uarch-bench len začína získavať na popularite, ale je to už celkom bežné spomínané obyvatelia Hacker News v tematických vláknach ako nástroj na porovnávanie.

Uarch-bench umožňuje vyhodnotiť výkon pamäte, rýchlosť paralelného načítania dát a čistiace práce YMM registre. Ako vyzerajú výsledky benchmarkingu generované programom nájdete v oficiálnom úložisku v spodnej časti stránky.

Stojí za zmienku, že uarchová lavica, ako temci, odpojí Funkcia Intel Turbo Boost (automaticky zvyšuje frekvenciu procesora pri zaťažení), aby boli výsledky testov konzistentné.

Projekt je zatiaľ v počiatočnom štádiu vývoja, takže uarch-bench nemá podrobnú dokumentáciu a jeho fungovanie môže obsahovať chyby - napr. ťažkosti sú známe so spustením na Ryzen. Podporované sú tiež iba benchmarky pre architektúry x86. Autor sľubuje, že v budúcnosti pridá ďalšie funkcie a pozýva vás, aby ste sa zapojili do vývoja.

kvapalina

Ide o sadu nástrojov na hodnotenie výkonu linuxových strojov s procesormi Intel, AMD a ARMv8. Bol vytvorený pod záštitou nemeckého federálneho ministerstva školstva a výskumu v roku 2017 a uvoľnený do open source.

Z nástrojov likwid môžeme vyzdvihnúť likwid-powermeter, ktorý zobrazuje informácie z registrov RAPL o spotrebe energie systémom, ako aj likwid-setFrequencies, ktorý umožňuje ovládať frekvenciu procesora. Môžete si pozrieť úplný zoznam nájsť v úložisku.

Tento nástroj používajú inžinieri zapojení do výskumu HPC. Napríklad s likwid práce skupina špecialistov z Regionálneho výpočtového centra Univerzity Erlangen-Norimberg (RRZE) v Nemecku. Aktívne sa podieľa aj na vývoji tohto súboru nástrojov.

Benchmarky pre servery Linux: výber otvorených nástrojov
Foto — Clem Onojeghuo — Odstriekať

perf-tools

Tento nástroj na analýzu výkonu serverov Linux predložené Brendan Gregg. Je jedným z vývojárov DTrace — rámec dynamického sledovania na ladenie aplikácií v reálnom čase.

perf-tools je založený na podsystémoch jadra perf_events a ftrace. Ich nástroje vám umožňujú analyzovať I/O latenciu (iosnoop), sledovať argumenty systémových volaní (unccount, funcslower, funcgraph a functrace) a zbierať štatistiky o „zásahoch“ do vyrovnávacej pamäte súborov (cachestat). V druhom prípade príkaz vyzerá takto:

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

Okolo nástroja sa vytvorila pomerne veľká komunita (takmer 6 tisíc hviezdičiek na GitHub). A sú firmy, ktoré aktívne využívajú napríklad perf-tools Netflix. Nástroj sa však ďalej vyvíja a upravuje (hoci aktualizácie sa v poslednej dobe vydávajú pomerne zriedka). Preto sa pri jeho prevádzke môžu vyskytnúť chyby – autor píše, že niekedy perf-tools vyvoláva v jadre paniku.

llvm-mca

Nástroj, ktorý predpovedá, koľko výpočtových zdrojov bude strojový kód vyžadovať na rôznych CPU. Ona hodnotí Pokyny na cyklus (IPC) a zaťaženie hardvéru, ktoré generuje konkrétna aplikácia.

llvm-mca bol predstavený v roku 2018 ako súčasť projektu Llvm, ktorá vyvíja univerzálny systém na analýzu, transformáciu a optimalizáciu programov. Je známe, že autori llvm-mca sa inšpirovali riešením na analýzu výkonnosti softvéru IACA od Intelu a snažili sa vytvoriť alternatívu. A podľa používateľov sa výstup nástroja (ich rozloženie a množstvo) skutočne podobá IACA – príklad nájdete tu. Avšak llvm-mca iba akceptuje Syntax AT&T, takže na prácu s ním budete s najväčšou pravdepodobnosťou musieť použiť konvertory.

O čom píšeme na našich blogoch a sociálnych sieťach:

Benchmarky pre servery Linux: výber otvorených nástrojov "Mat. Wall Street model“ alebo ako optimalizovať náklady na cloud

Benchmarky pre servery Linux: výber otvorených nástrojov Ako zabezpečiť svoj systém Linux: 10 tipov
Benchmarky pre servery Linux: výber otvorených nástrojov Minimalizácia rizika: ako neprísť o svoje dáta

Benchmarky pre servery Linux: výber otvorených nástrojov Knihy pre tých, ktorí sa už zaoberajú správou systému alebo len plánujú začať
Benchmarky pre servery Linux: výber otvorených nástrojov Výber: päť kníh a jeden kurz o sieťach

Benchmarky pre servery Linux: výber otvorených nástrojovMy v 1cloud.ru ponúkame bezplatnú službu “DNS hosting" DNS záznamy môžete spravovať v jednom osobnom účte.

Zdroj: hab.com

Pridať komentár