Linux serverlari uchun mezonlar: ochiq vositalar tanlovi

Biz Linux mashinalarida protsessor ishlashini baholash vositalari haqida gapirishni davom ettiramiz. Bugungi kunda materialda: temci, uarch-bench, likwid, perf-tools va llvm-mca.

Batafsil ko'rsatkichlar:

Linux serverlari uchun mezonlar: ochiq vositalar tanlovi
Foto - Lukas Blazek - Splash

temci

Bu ikkita dasturning bajarilish vaqtini baholash uchun vositadir. Asosan, u ikkita dasturning bajarilish vaqtini solishtirish imkonini beradi. Yordamchi dastur muallifi germaniyalik talaba Yoxannes Bechberger bo'lib, uni 2016 yilda bakalavriat dissertatsiyasining bir qismi sifatida ishlab chiqdi. Bugungi vosita tarqaladi GNU General Public License ostida litsenziyalangan.

Yoxannes boshqariladigan muhitda hisoblash tizimining ishlashini o'lchash imkonini beradigan vosita yaratmoqchi edi. Shuning uchun temci ning asosiy xususiyatlaridan biri test muhitini o'rnatish qobiliyatidir. Masalan, mumkin: CPU chastota boshqaruvchisi sozlamalarini o'zgartirish, o'chirish hyper-threading va L1 va L2 keshlari, Intel protsessorlarida turbo rejimini o'chiring va hokazo. Qiyoslash uchun temci asboblardan foydalanadi. vaqt, perf_stat ΠΈ olish.

Birinchi holatda yordamchi dastur shunday ko'rinadi:

# 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

Benchmarking natijalari asosida tizim ishlab chiqaradi qulay hisobot diagrammalar, jadvallar va grafiklar bilan, bu temcini o'xshash echimlardan ajratib turadi.

Temsining kamchiliklari orasida uning "yoshligi" ajralib turadi. Shu tufayli u hamma narsa qo'llab-quvvatlanmaydi apparat va dasturiy ta'minot konfiguratsiyasi. Masalan, macOS operatsion tizimida ishlash qiyin va ba'zi funksiyalar ARM asosidagi tizimda mavjud emas. Kelajakda vaziyat o'zgarishi mumkin, chunki muallif loyihani faol ravishda ishlab chiqmoqda va GitHub-dagi yulduzlar soni asta-sekin o'sib bormoqda - yaqinda ham temci izohlarda muhokama qilinadi Hacker News-da.

uarch-skameyka

Muhandis Travis Downs tomonidan ishlab chiqilgan past darajadagi CPU funktsiyalarining ishlashini baholash uchun yordamchi dastur (Travis Downs). Yaqinda u blog yuritadi Ishlash masalalari GitHub sahifalarida, bu taqqoslash vositalari va boshqa tegishli narsalar haqida gapiradi. Umuman olganda, uarch-skameyka endi mashhurlikka erisha boshladi, lekin allaqachon tez-tez zikr qilingan Hacker News rezidentlari tematik mavzularda taqqoslash uchun asosiy vosita sifatida.

Uarch-bench xotira ishlashini, ma'lumotlarni parallel yuklash tezligini va tozalash ishlarini baholash imkonini beradi YMM registrlari. Dastur tomonidan yaratilgan taqqoslash natijalari qanday ko'rinishini topish mumkin rasmiy omborda sahifaning pastki qismida.

Shuni ta'kidlash kerakki, uarch-skameyka, temci kabi, o'chiradi Test natijalari bir xil bo'lishi uchun Intel Turbo Boost funksiyasi (u yuk ostida protsessorning soat tezligini avtomatik ravishda oshiradi).

Hozircha loyiha rivojlanishning dastlabki bosqichida, shuning uchun uarch-bench-da batafsil hujjatlar mavjud emas va uning ishlashida xatolar bo'lishi mumkin - masalan, qiyinchiliklari ma’lum Ryzen-da ishga tushirish bilan. Bundan tashqari, faqat x86 arxitekturalari uchun ko'rsatkichlar qo'llab-quvvatlanadi. Muallif kelajakda qo'shimcha funktsiyalar qo'shishga va'da beradi va sizni ishlanmaga qo'shilishga taklif qiladi.

suyuqlik

Bu Intel, AMD va ARMv8 protsessorlari bilan Linux mashinalarining ish faoliyatini baholash uchun asboblar to'plami. U 2017 yilda Germaniya Federal Ta'lim va tadqiqot vazirligi homiyligida yaratilgan va ochiq manbaga chiqarilgan.

Likwid vositalari orasida biz RAPL registrlaridan tizim tomonidan iste'mol qilinadigan quvvat haqidagi ma'lumotlarni aks ettiruvchi likwid-powermeterni, shuningdek protsessor chastotasini boshqarish imkonini beruvchi likwid-setFrequencies-ni ajratib ko'rsatishimiz mumkin. To'liq ro'yxatni ko'rishingiz mumkin omborida toping.

Asbob HPC tadqiqotida ishtirok etgan muhandislar tomonidan qo'llaniladi. Masalan, likvid bilan ishlaydi Germaniyaning Erlangen-Nyurnberg universiteti (RRZE) Mintaqaviy hisoblash markazi mutaxassislari guruhi. U ushbu vositalar to'plamini ishlab chiqishda ham faol ishtirok etadi.

Linux serverlari uchun mezonlar: ochiq vositalar tanlovi
Foto - Klem Onojeghuo - Splash

perf-vositalari

Linux serverlarining ishlashini tahlil qilish uchun ushbu vosita tanishtirdi Brendan Gregg. U ishlab chiquvchilardan biri DTraktsiya β€” real vaqtda ilovalarni disk raskadrovka qilish uchun dinamik kuzatuv tizimi.

perf-tools perf_events va ftrace yadro quyi tizimlariga asoslangan. Ularning yordamchi dasturlari kiritish-chiqarish kechikishini (iosnoop) tahlil qilish, tizim qo'ng'iroqlari argumentlarini (unccount, funcslower, funcgraph va functrace) kuzatish va fayl keshida (cachestat) "xitlar" statistikasini to'plash imkonini beradi. Ikkinchi holda, buyruq quyidagicha ko'rinadi:

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

Asbob atrofida juda katta jamoa shakllangan (GitHub-da deyarli 6 ming yulduz). Va, masalan, perf-vositlardan faol foydalanadigan kompaniyalar bor Netflix. Ammo asbob yanada ishlab chiqilmoqda va o'zgartirilmoqda (garchi yangilanishlar so'nggi paytlarda juda kamdan-kam chiqarilgan bo'lsa ham). Shuning uchun uning ishlashida xatolar yuzaga kelishi mumkin - muallifning yozishicha, ba'zida perf-vositalari yadro vahimasini keltirib chiqaradi.

llvm-mca

Turli protsessorlarda qancha hisoblash resurslari mashina kodi talab qilinishini bashorat qiluvchi yordamchi dastur. U qadrlaydi Har bir tsikl uchun ko'rsatmalar (IPC) va ma'lum bir dastur ishlab chiqaradigan apparatdagi yuk.

llvm-mca 2018 yilda loyiha doirasida taqdim etilgan LLVM, bu dasturlarni tahlil qilish, o'zgartirish va optimallashtirish uchun universal tizimni ishlab chiqmoqda. Ma'lumki, llvm-mca mualliflari dasturiy ta'minotning ishlashini tahlil qilish yechimidan ilhomlangan. Inteldan IACA va muqobil yaratishga intildi. Va foydalanuvchilarning fikriga ko'ra, asbobning chiqishi (ularning joylashuvi va miqdori) haqiqatan ham IACA ga o'xshaydi - misol bu yerda topish mumkin. Biroq, llvm-mca faqat qabul qiladi AT&T sintaksisi, shuning uchun siz u bilan ishlash uchun katta ehtimollik bilan konvertorlardan foydalanishingiz kerak bo'ladi.

Bloglarimiz va ijtimoiy tarmoqlarimizda nimalar haqida yozamiz:

Linux serverlari uchun mezonlar: ochiq vositalar tanlovi "Mat. Uoll-strit modeli" yoki bulutli xarajatlarni qanday optimallashtirish mumkin

Linux serverlari uchun mezonlar: ochiq vositalar tanlovi Linux tizimingizni qanday himoyalash mumkin: 10 ta maslahat
Linux serverlari uchun mezonlar: ochiq vositalar tanlovi Xatarlarni minimallashtirish: ma'lumotlaringizni qanday yo'qotmaslik kerak

Linux serverlari uchun mezonlar: ochiq vositalar tanlovi Tizim boshqaruvida allaqachon ishtirok etgan yoki endigina boshlashni rejalashtirayotganlar uchun kitoblar
Linux serverlari uchun mezonlar: ochiq vositalar tanlovi Tanlov: beshta kitob va tarmoqlar bo'yicha bitta kurs

Linux serverlari uchun mezonlar: ochiq vositalar tanloviBiz 1cloud.ru saytida bepul xizmatni taklif etamiz.DNS hosting" Siz DNS yozuvlarini bitta shaxsiy hisobda boshqarishingiz mumkin.

Manba: www.habr.com

a Izoh qo'shish