MITdan yangi CPU yuk balanslagichi

Shenango tizimi ma'lumotlar markazlarida qo'llanilishi rejalashtirilgan.

MITdan yangi CPU yuk balanslagichi
/ rasm Marko Verch CC BY

Provayderlardan biriga ko'ra, ma'lumotlar markazlari foydalanish mavjud hisoblash quvvatining atigi 20–40%. Yuqori yuklarda bu ko'rsatkich 60% ga yetishi mumkin. Resurslarning bunday taqsimlanishi "zombi serverlari" deb ataladigan narsalarning paydo bo'lishiga olib keladi. Bu ko'pincha bo'sh o'tirib, energiyani behuda sarflaydigan mashinalardir. Bugungi kunda dunyodagi serverlarning 30% ishsizlar, yiliga 30 milliard dollarlik elektr energiyasini iste'mol qiladi.

MIT hisoblash resurslaridan samarasiz foydalanishga qarshi kurashishga qaror qildi.

Muhandislik jamoasi rivojlandi Shenango deb nomlangan protsessor yukini muvozanatlash tizimi. Uning maqsadi vazifa buferining holatini kuzatish va tiqilib qolgan jarayonlarni (protsessor vaqtini qabul qila olmaydigan) bo'sh mashinalarga qayta taqsimlashdir.

Shenango qanday ishlaydi

Shenango - Rust va C++ ulanishlari bilan C tilidagi Linux kutubxonasi. Loyiha kodi va test ilovalari nashr etilgan omborlar GitHub-da.

Yechim ko'p protsessorli tizimning ajratilgan yadrosida ishlaydigan IOKernel algoritmiga asoslangan. U CPU so'rovlarini ramka yordamida boshqaradi DPDK, bu ilovalarga tarmoq qurilmalari bilan bevosita bog'lanish imkonini beradi.

IOKernel muayyan vazifani qaysi yadrolarga topshirishni hal qiladi. Algoritm qancha yadro kerakligini ham hal qiladi. Har bir jarayon uchun asosiy yadrolar (kafolatlangan) va qo'shimcha (portlash mumkin) aniqlanadi - ikkinchisi protsessorga so'rovlar soni keskin ko'paygan taqdirda ishga tushiriladi.

IOKernel so'rov navbati sifatida tashkil etilgan halqali bufer. Har besh mikrosekundda algoritm yadroga berilgan barcha vazifalar bajarilganligini tekshiradi. Buning uchun u bufer boshining hozirgi joylashuvini uning dumining oldingi holati bilan taqqoslaydi. Agar oldingi tekshirish vaqtida quyruq allaqachon navbatda bo'lganligi aniqlansa, tizim buferning haddan tashqari yuklanishini qayd etadi va jarayon uchun qo'shimcha yadro ajratadi.

Yukni taqsimlashda, xuddi shu jarayon ilgari bajarilgan va qisman keshda qolgan yadrolarga yoki bo'sh turgan yadrolarga ustunlik beriladi.

MITdan yangi CPU yuk balanslagichi

Shenango qo'shimcha ravishda yondashadi o'g'irlik qilish. Bitta dasturni ishga tushirish uchun ajratilgan yadrolar bir-birining vazifalari sonini kuzatib boradi. Agar bitta yadro o'z vazifalari ro'yxatini boshqalardan oldin tugatsa, u qo'shnilaridan yukning bir qismini "yengillashtiradi".

Avzalliklar va kamchiliklar

haqida ko'ra MIT muhandislari, Shenango soniyasiga besh million so'rovni qayta ishlashga qodir va o'rtacha javob vaqtini 37 mikrosekundda ushlab turadi. Mutaxassislarning ta'kidlashicha, ba'zi hollarda texnologiya ma'lumotlar markazlarida protsessorlardan foydalanish darajasini 100% gacha oshirishi mumkin. Natijada, ma'lumotlar markazlari operatorlari serverlarni sotib olish va ularga texnik xizmat ko'rsatishda tejash imkoniyatiga ega bo'ladilar.

Yechim potentsiali eslatma va boshqa universitetlarning mutaxassislari. Koreya instituti professorining fikricha, MIT tizimi veb-servislardagi kechikishlarni kamaytirishga yordam beradi. Masalan, onlayn-do'konlarda foydali bo'ladi. Savdo kunlarida sahifani yuklashda ikkinchi kechikish ham bo'ladi Privodit sayt ko'rishlar sonining 11% ga kamayishi. Tez yukni taqsimlash ko'proq mijozlarga xizmat ko'rsatishga yordam beradi.

Texnologiya hali ham kamchiliklarga ega - u ko'p protsessorni qo'llab-quvvatlamaydi NUMA-chiplar turli xil xotira modullariga ulangan va bir-biri bilan "muloqot qilmaydigan" tizimlar. Bunday holda, IOKernel protsessorlarning alohida guruhining ishlashini tartibga solishi mumkin, ammo barcha server chiplari emas.

MITdan yangi CPU yuk balanslagichi
/ rasm Tim Rekman CC BY

Shunga o'xshash texnologiyalar

Boshqa protsessor yukini muvozanatlash tizimlariga Arachne kiradi. U dastur ishga tushganda qancha yadro kerakligini hisoblab chiqadi va jarayonlarni shu indikatorga muvofiq taqsimlaydi. Mualliflarning fikricha, Arachne’da ilovaning maksimal kechikishi taxminan 10 ming mikrosekundni tashkil qiladi.

Texnologiya Linux uchun C++ kutubxonasi sifatida amalga oshirilgan va uning manba kodi quyidagi manzilda mavjud GitHub.

Yana bir muvozanat vositasi ZygOS. Shenango singari, texnologiya jarayonlarni qayta taqsimlash uchun ishni o'g'irlash usulidan foydalanadi. ZygOS mualliflarining fikriga ko'ra, asbobdan foydalanishda dasturning o'rtacha kechikishi taxminan 150 mikrosoniyani, maksimali esa taxminan 450 mikrosekundni tashkil qiladi. Loyiha kodi ham jamoat mulki hisoblanadi.

topilmalar

Zamonaviy ma'lumotlar markazlari kengayishda davom etmoqda.O'sish tendentsiyasi ayniqsa giperskaleli ma'lumotlar markazlari bozorida sezilarli: hozir dunyoda bor 430 ta gipermiqyosli ma'lumotlar markazlari, ammo kelgusi yillarda ularning soni 30% ga oshishi mumkin. Shu sababli, protsessor yukini muvozanatlash texnologiyalari katta talabga ega bo'ladi. Shenango kabi tizimlar allaqachon mavjud amalga oshirish yirik korporatsiyalar va bunday vositalar soni kelajakda faqat o'sib boradi.

Korporativ IaaS haqidagi birinchi blogdagi xabarlar:

Manba: www.habr.com

a Izoh qo'shish