Benchmarky pro servery Linux: výběr otevřených nástrojů

Pokračujeme v mluvení o nástrojích pro hodnocení výkonu CPU na počítačích se systémem Linux. Dnes v materiálu: temci, uarch-bench, likwid, perf-tools a llvm-mca.

Další benchmarky:

Benchmarky pro servery Linux: výběr otevřených nástrojů
--Ото - Lukáš Blažek — Odstříknout

temci

Jedná se o nástroj pro odhad doby provádění dvou programů. V podstatě vám umožňuje porovnat dobu provádění dvou aplikací. Autorem utility byl student z Německa Johannes Bechberger, který ji vyvinul v rámci své bakalářské práce v roce 2016. Dnešní nástroj distribuovány pod licencí GNU General Public License.

Johannes chtěl vytvořit nástroj, který by mu umožnil měřit výkon výpočetního systému v kontrolovaném prostředí. Proto je jednou z hlavních vlastností temci možnost nastavit testovací prostředí. Například, jeden může: změnit nastavení správce frekvence CPU, deaktivovat hyper závitování a L1 a L2 cache, vypněte turbo režim na procesorech Intel atd. Pro benchmarking používá temci nástroje čas, výkon_stat и getrusage.

Takto vypadá nástroj v prvním případě:

# 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ákladě výsledků benchmarkingu systém generuje pohodlná zpráva s diagramy, tabulkami a grafy, což odlišuje temci od podobných řešení.

Mezi nedostatky temci vyniká jeho „mládí“. Kvůli tomu on ne vše je podporováno hardwarové a softwarové konfigurace. Například je obtížné spustit na macOS a některé funkce nejsou k dispozici v systému založeném na ARM. V budoucnu se situace může změnit, protože autor projekt aktivně rozvíjí a počet hvězdiček na GitHubu postupně přibývá - není to tak dávno temci dokonce diskutováno v komentářích na Hacker News.

uarch-lavička

Nástroj pro hodnocení výkonu nízkoúrovňových funkcí CPU, vyvinutý inženýrem Travisem Downsem (Travis Downs). V poslední době se věnuje blogování Záležitosti výkonu na GitHub Pages, kde se mluví o nástrojích pro benchmarking a dalších souvisejících věcech. Obecně platí, že uarch-bench teprve začíná získávat na popularitě, ale je to již zcela běžné zmínil obyvatelé Hacker News v tematických vláknech jako nástroj pro srovnávání.

Uarch-bench umožňuje vyhodnotit výkon paměti, rychlost paralelního načítání dat a čištění Registry YMM. Jak vypadají výsledky benchmarkingu generované programem lze nalézt v oficiálním úložišti ve spodní části stránky.

Stojí za zmínku, že uarch-lavička, jako temci, odpojí Funkce Intel Turbo Boost (automaticky zvyšuje takt procesoru při zatížení), aby byly výsledky testu konzistentní.

Projekt je zatím v rané fázi vývoje, takže uarch-bench nemá podrobnou dokumentaci a jeho provoz může obsahovat chyby – např. obtíže jsou známy se spuštěním na Ryzenu. Podporovány jsou také pouze benchmarky pro architektury x86. Autor slibuje, že v budoucnu přidá další funkce a zve vás, abyste se připojili k vývoji.

kapalina

Jedná se o sadu nástrojů pro hodnocení výkonu linuxových strojů s procesory Intel, AMD a ARMv8. Byl vytvořen pod záštitou německého spolkového ministerstva školství a výzkumu v roce 2017 a uvolněn do open source.

Z nástrojů likwid můžeme vyzdvihnout likwid-powermeter, který zobrazuje informace z registrů RAPL o spotřebě energie systémem, a také likwid-setFrequencies, který umožňuje řídit frekvenci procesoru. Můžete vidět kompletní seznam najít v úložišti.

Tento nástroj používají inženýři zabývající se výzkumem HPC. Například s likwid práce skupina specialistů z Regionálního výpočetního centra Univerzity Erlangen-Norimberk (RRZE) v Německu. Také se aktivně podílí na vývoji této sady nástrojů.

Benchmarky pro servery Linux: výběr otevřených nástrojů
--Ото - Clem Onojeghuo — Odstříknout

perf-tools

Tento nástroj pro analýzu výkonu serverů Linux představen Brendan Gregg. Je jedním z vývojářů DTrace — dynamický sledovací rámec pro ladění aplikací v reálném čase.

perf-tools je založen na subsystémech jádra perf_events a ftrace. Jejich nástroje vám umožňují analyzovat I/O latenci (iosnoop), sledovat argumenty systémových volání (unccount, funcslower, funcgraph a functrace) a shromažďovat statistiky o „zásahech“ v mezipaměti souborů (cachestat). V druhém případě příkaz vypadá 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

Kolem nástroje se vytvořila poměrně velká komunita (téměř 6 tisíc hvězd na GitHubu). A jsou firmy, které aktivně využívají například perf-tools Netflix. Nástroj je ale dále vyvíjen a upravován (ačkoli aktualizace jsou v poslední době vydávány poměrně zřídka). Proto se při jeho provozu mohou vyskytnout chyby – autor píše, že někdy perf-tools vyvolává v jádře paniku.

llvm-mca

Nástroj, který předpovídá, kolik výpočetních zdrojů bude strojový kód vyžadovat na různých CPU. Ona hodnotí Pokyny pro každý cyklus (IPC) a zatížení hardwaru, které konkrétní aplikace generuje.

llvm-mca byl představen v roce 2018 jako součást projektu LLVM, která vyvíjí univerzální systém pro analýzu, transformaci a optimalizaci programů. Je známo, že autoři llvm-mca se inspirovali řešením pro analýzu výkonu softwaru IACA od Intelu a snažil se vytvořit alternativu. A podle uživatelů se výstup nástroje (jejich uspořádání a množství) opravdu podobá IACA - příklad najdete zde. llvm-mca však pouze přijímá Syntaxe AT&T, takže s největší pravděpodobností budete muset pro práci s ním používat převodníky.

O čem píšeme na našich blozích a sociálních sítích:

Benchmarky pro servery Linux: výběr otevřených nástrojů "Rohož. Wall Street model“ aneb jak optimalizovat náklady na cloud

Benchmarky pro servery Linux: výběr otevřených nástrojů Jak zabezpečit systém Linux: 10 tipů
Benchmarky pro servery Linux: výběr otevřených nástrojů Minimalizace rizik: jak neztratit svá data

Benchmarky pro servery Linux: výběr otevřených nástrojů Knihy pro ty, kteří se již zabývají správou systému nebo s ní teprve plánují začít
Benchmarky pro servery Linux: výběr otevřených nástrojů Výběr: pět knih a jeden kurz o sítích

Benchmarky pro servery Linux: výběr otevřených nástrojůMy na 1cloud.ru nabízíme bezplatnou službu “DNS hosting" DNS záznamy můžete spravovat v jediném osobním účtu.

Zdroj: www.habr.com

Přidat komentář