Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы

Біз CPU өнімділігін бағалау құралдары туралы әңгімелесуді жалғастырамыз Linux-machines. Бүгінгі материал: temci, uarch-bench, likwid, perf-tools және llvm-mca.

Қосымша көрсеткіштер:

Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы
Фото - Лукас Блажек - Шығу

temci

Бұл екі бағдарламаның орындалу уақытын бағалауға арналған құрал. Негізінде ол екі қолданбаның орындалу уақытын салыстыруға мүмкіндік береді. Утилитаның авторы Германиядан келген студент Йоханнес Бехбергер болды, ол оны 2016 жылы бакалаврлық диссертациясының бөлігі ретінде әзірледі. Бүгін - бұл құрал таралады GNU General Public License бойынша лицензияланған.

Йоханнес басқарылатын ортада есептеу жүйесінің өнімділігін өлшеуге мүмкіндік беретін құрал жасағысы келді. Сондықтан temci негізгі ерекшеліктерінің бірі сынақ ортасын орнату мүмкіндігі болып табылады. Мысалы, болады: процессор жиілігін реттеуші параметрлерін өзгерту, өшіру гипер-ағынды және L1 және L2 кэштерін, Intel процессорларында турбо режимін өшіріңіз, т.б.. Салыстырмалы тексеру үшін temci құралдарды пайдаланады. уақыт, perf_stat и алу.

Бірінші жағдайда утилита осылай көрінеді:

# 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-тағы жұлдыздар саны біртіндеп артып келеді — жақында ғана, тіпті temci де түсініктемелерде талқыланды Hacker News сайтында.

скамейка

Инженер Травис Даунс (Тревис Даунс). Жақында ол блог жүргізеді Өнімділік мәселелері GitHub беттерінде, онда салыстыру құралдары және басқа да қатысты нәрселер туралы айтылады. Жалпы, uarch-bench енді ғана танымал бола бастады, бірақ ол қазірдің өзінде кең таралған аталған Hacker News тұрғындары салыстыруға арналған құрал ретінде тақырыптық ағындардағы.

Uarch-bench жад өнімділігін, деректерді параллель жүктеу жылдамдығын және тазалау жұмыстарын бағалауға мүмкіндік береді YMM тіркеулері. Бағдарлама арқылы жасалған салыстыру нәтижелері қандай болатынын табуға болады ресми репозиторийде беттің төменгі жағында.

Айта кету керек, uarch-стенд, temci сияқты, ажыратады Сынақ нәтижелері дәйекті болу үшін Intel Turbo Boost функциясы (жүктеме кезінде процессордың сағат жылдамдығын автоматты түрде арттырады).

Әзірге жоба әзірлеудің бастапқы сатысында, сондықтан uarch-bench-те егжей-тегжейлі құжаттама жоқ және оның жұмысында қателер болуы мүмкін - мысалы, қиындықтары белгілі Ryzen жүйесінде іске қосу арқылы. Сондай-ақ, тек x86 архитектурасына арналған эталондарға қолдау көрсетіледі. Автор болашақта қосымша функционалдылықты қосуға уәде береді және сізді әзірлеуге қосылуға шақырады.

ликвид

Бұл өнімділікті бағалауға арналған құралдар жиынтығы Linux- Intel, AMD және ARMv8 процессорлары бар машиналар. Ол 2017 жылы Германияның Білім және зерттеу федералды министрлігінің қолдауымен жасалды және ашық бастапқы код ретінде шығарылды.

Likwid құралдарының ішінен RAPL регистрлерінен жүйе тұтынатын қуат туралы ақпаратты көрсететін likwid-powermeter, сондай-ақ процессор жиілігін басқаруға мүмкіндік беретін likwid-setFrequencies бөлектей аламыз. Толық тізімді көре аласыз репозиторийден табыңыз.

Құралды HPC зерттеуімен айналысатын инженерлер пайдаланады. Мысалы, likwid арқылы жұмыс істейді Германиядағы Эрланген-Нюрнберг университетінің (RRZE) Аймақтық есептеу орталығының мамандары тобы. Ол сондай-ақ осы құралдар жинағын әзірлеуге белсенді қатысады.

Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы
Фото - Клем Оножегуо - Шығу

perf-құралдар

Бұл өнімділікті талдау құралы Linux-серверлер енгізілді Брендан Грегг. Ол әзірлеушілердің бірі DTrace — нақты уақыт режимінде қолданбаларды жөндеуге арналған динамикалық бақылау жүйесі.

perf-құралдар perf_events және ftrace ядросының ішкі жүйелеріне негізделген. Олардың утилиталары енгізу/шығару кідірісін (iosnoop) талдауға, жүйелік шақыру аргументтерін қадағалауға (unccount, funcslower, funcgraph және functrace) және файл кэшінде (кэштат) «хиттер» статистикасын жинауға мүмкіндік береді. Соңғы жағдайда пәрмен келесідей болады:

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

Құралдың айналасында айтарлықтай үлкен қауымдастық қалыптасты (GitHub сайтында 6 мыңға жуық жұлдыз). Мысалы, перф-құралдарын белсенді түрде қолданатын компаниялар бар Netflix. Бірақ құрал одан әрі әзірленуде және өзгертілуде (бірақ жаңартулар соңғы уақытта өте сирек шығарылды). Сондықтан оның жұмысында қателер болуы мүмкін - автор кейде perf-құралдар ядроның дүрбелеңін тудыратынын жазады.

llvm-mca

Түрлі процессорларда машина коды қанша есептеу ресурстарын қажет ететінін болжайтын утилита. Ол бағалайды Әр цикл бойынша нұсқаулар (IPC) және белгілі бір қолданба жасайтын аппараттық құралдың жүктемесі.

llvm-mca 2018 жылы жоба аясында ұсынылды LLVM, ол бағдарламаларды талдаудың, түрлендірудің және оңтайландырудың әмбебап жүйесін жасауда. llvm-mca авторлары бағдарламалық қамтамасыз етудің өнімділігін талдауға арналған шешімнен шабыттанғаны белгілі. Intel компаниясынан IACA және балама жасауға ұмтылды. Пайдаланушылардың пікірінше, құралдың шығуы (олардың орналасуы мен саны) шынымен IACA-ға ұқсайды - мысал мына жерден табуға болады. Дегенмен, llvm-mca тек қабылдайды AT&T синтаксисі, сондықтан онымен жұмыс істеу үшін түрлендіргіштерді пайдалану керек болады.

Блогтарымызда және әлеуметтік желілерде не жазамыз:

Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы «Мат. Уолл-стрит үлгісі» немесе бұлттық шығындарды қалай оңтайландыру керек

Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы Өзіңізді қалай қорғауға болады Linux-жүйе: 10 кеңес
Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы Тәуекелді азайту: деректеріңізді қалай жоғалтпауға болады

Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы Жүйені әкімшілендірумен айналысқан немесе енді бастауды жоспарлап жүргендерге арналған кітаптар
Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауы Таңдау: бес кітап және желі бойынша бір курс

Серверлерге арналған эталондар Linux: ашық бастапқы кодты құралдардың таңдауыБіз 1cloud.ru сайтында тегін қызмет ұсынамыз.DNS хостингі" DNS жазбаларын бір жеке тіркелгіде басқаруға болады.

Ақпарат көзі: www.habr.com

DDoS қорғауы бар сайттар үшін сенімді хостинг, VPS VDS серверлерін сатып алыңыз 🔥 DDoS қорғанысы, VPS VDS серверлері бар сенімді веб-сайт хостингін сатып алыңыз | ProHoster