Продолжуваме да зборуваме за алатки за проценка на перформансите на процесорот на Linux-машини. Денешен материјал: temci, uarch-bench, likwid, perf-tools и llvm-mca.
Повеќе одредници:
Фото - - Распрснете
Ова е алатка за проценка на времето на извршување на две програми. Во суштина, тоа ви овозможува да го споредите времето на извршување на две апликации. Автор на алатката беше студентот од Германија, Јоханес Бехбергер, кој го изработи како дел од својата додипломска теза во 2016 година. Денешна алатка лиценциран под GNU General Public License.
Јоханис сакаше да создаде алатка која ќе му овозможи да ги мери перформансите на компјутерскиот систем во контролирана средина. Затоа, една од главните карактеристики на temci е способноста да се постави тест средина. На пример, : сменете ги поставките за управување со фреквенцијата на процесорот, оневозможете и L1 и L2 кешовите, исклучете го турбо режимот на процесорите на Intel, итн. За бенчмаркинг, temci користи алатки , и .
Вака изгледа алатката во првиот случај:
# 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
Врз основа на резултатите од бенчмаркингот, системот генерира со дијаграми, табели и графикони, што ги разликува temci од слични решенија.
Меѓу недостатоците на темци, се издвојува неговата „младост“. Поради ова тој хардверски и софтверски конфигурации. На пример, тешко е да се работи под macOS, а некои функции не се достапни на системи со ARM процесор. Ова може да се промени во иднина, бидејќи авторот активно го развива проектот, а бројот на ѕвезди на GitHub постепено се зголемува - не толку одамна, дури и темци на Hacker News.
Услужна алатка за евалуација на перформансите на функциите на процесорот на ниско ниво, развиена од инженерот Тревис Даунс (). Неодамна блогира на GitHub Pages, кој зборува за алатките за бенчмаркинг и други сродни работи. Во принцип, uarch-клупата штотуку почнува да се здобива со популарност, но веќе е доста честа појава жителите на Hacker News во тематски нишки како алатка за бенчмаркирање.
Uarch-bench ви овозможува да ги оцените перформансите на меморијата, паралелната брзина на вчитување на податоците и работата на чистењето . Може да се најде како изгледаат резултатите од бенчмаркингот генерирани од програмата на дното на страницата.
Вреди да се напомене дека арх-клупата, како темци, Функцијата Intel Turbo Boost (автоматски ја зголемува брзината на часовникот на процесорот при оптоварување), така што резултатите од тестот се конзистентни.
Засега, проектот е во рана фаза на развој, така што uarch-bench нема детална документација, а неговото работење може да содржи грешки - на пример, со лансирање на Ryzen. Исто така, поддржани се само репери за архитектури x86. Авторот ветува дека ќе додаде повеќе функционалност во иднина и ве поканува да се приклучите на развојот.
Ова е збир на алатки за евалуација на перформансите Linux-машини со Intel, AMD и ARMv8 процесори. Создаден е под покровителство на Германското федерално министерство за образование и истражување во 2017 година и објавен како софтвер со отворен код.
Меѓу алатките likwid, можеме да ги истакнеме likwid-powermeter, кој прикажува информации од RAPL регистрите за енергијата што ја троши системот, како и likwid-setFrequencies, што ви овозможува да ја контролирате фреквенцијата на процесорот. Можете да ја видите комплетната листа .
Алатката ја користат инженери вклучени во истражувањето на HPC. На пример, со likwid група специјалисти од Регионалниот компјутерски центар на Универзитетот во Ерланген-Нирнберг (RRZE) во Германија. Таа, исто така, зема активно учество во развојот на овој сет на алатки.

Фото - - Распрснете
Ова е алатка за анализа на перформансите Linux-сервери Брендан Грег. Тој е еден од програмерите — динамична рамка за следење за дебагирање на апликации во реално време.
perf-tools се базира на потсистемите perf_events и ftrace кернелот. Нивните алатки ви дозволуваат да ја анализирате латентноста на В/И (iosnoop), да ги следите аргументите за системски повици (unccount, funcslower, funcgraph и functrace) и да собирате статистика за „погодоци“ во кешот на датотеките (cachestat). Во вториот случај, командата изгледа вака:
# ./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
Околу инструментот се формираше прилично голема заедница (). И има компании кои активно користат перф-алатки, на пример . Но, алатката дополнително се развива и модифицира (иако ажурирањата се објавуваат доста ретко во последно време). Затоа, може да се појават грешки во неговото работење - авторот пишува дека понекогаш perf-tools предизвикува паника во јадрото.
Услужна алатка која предвидува колку компјутерски ресурси ќе бара кодот на машината на различни процесори. Таа Инструкции по циклус () и оптоварувањето на хардверот што го генерира одредена апликација.
llvm-mca беше претставена во 2018 година како дел од проектот , која развива универзален систем за анализа, трансформација и оптимизација на програмите. Познато е дека авторите на llvm-mca биле инспирирани од решение за анализа на перформансите на софтверот и се обиде да создаде алтернатива. И според корисниците, излезот на алатката (нивниот распоред и количина) навистина наликува на IACA - пример . Сепак, llvm-mca прифаќа само , така што најверојатно ќе треба да користите конвертори за да работите со него.
За што пишуваме на нашите блогови и социјални мрежи:
![]()
![]()
![]()
![]()
![]()
Ние на 1cloud.ru нудиме бесплатна услуга “" Можете да управувате со записите на DNS во една лична сметка.
Извор: www.habr.com
