Facebook serverlarda xotiraning 20-32 foizini tejash imkonini beruvchi TMO mexanizmini taqdim etdi

Facebook muhandislari (Rossiya Federatsiyasida taqiqlangan) o'tgan yili TMO (Transparent Memory Offloading) texnologiyasini joriy etish to'g'risida hisobot e'lon qilishdi, bu esa ishlash uchun kerak bo'lmagan ikkilamchi ma'lumotlarni NVMe kabi arzonroq drayverlarga almashtirish orqali serverlarda operativ xotirani sezilarli darajada tejash imkonini beradi. SSD - disklar. Facebook hisob-kitoblariga ko‘ra, TMO-dan foydalanish har bir serverda operativ xotiraning 20-32 foizini tejash imkonini beradi. Yechim ilovalar izolyatsiya qilingan konteynerlarda ishlaydigan infratuzilmalarda foydalanish uchun mo'ljallangan. TMO ning yadro tomoni komponentlari allaqachon Linux yadrosiga kiritilgan.

Linux yadrosi tomonida texnologiya PSI (Pressure Stall Information) quyi tizimi tomonidan qo'llab-quvvatlanadi, 4.20 versiyasidan boshlab mavjud. PSI allaqachon turli xil past xotira ishlov beruvchilarida qo'llanilgan va turli xil resurslarni (CPU, xotira, I/U) olish uchun kutish vaqti haqidagi ma'lumotlarni tahlil qilish imkonini beradi. PSI yordamida foydalanuvchi-kosmik protsessorlar tizimning yuklanish darajasini va sekinlashuv naqshlarini aniqroq baholashi mumkin, bu esa anomaliyalarni ishlashga sezilarli ta'sir ko'rsatishdan oldin erta aniqlash imkonini beradi.

Foydalanuvchi maydonida TMO Senpai komponenti tomonidan ta'minlanadi, u cgroup2 orqali PSIdan olingan ma'lumotlar asosida dastur konteynerlari uchun xotira chegarasini dinamik ravishda sozlaydi. Senpai PSI orqali resurslar tanqisligining boshlanishi belgilarini tahlil qiladi, ilovalarning xotiraga kirish sekinlashuviga sezgirligini baholaydi va konteyner uchun zarur bo'lgan minimal xotira hajmini aniqlashga harakat qiladi, bunda ishlash uchun zarur bo'lgan ma'lumotlar RAMda qoladi va unga hamroh bo'ladi. fayl keshiga joylashtirilgan yoki hozirda to'g'ridan-to'g'ri ishlatilmaydigan ma'lumotlar almashtirish bo'limiga majburan chiqariladi.

Facebook serverlarda xotiraning 20-32 foizini tejash imkonini beruvchi TMO mexanizmini taqdim etdi

Shunday qilib, TMO ning mohiyati jarayonlarni xotirani iste'mol qilish nuqtai nazaridan qat'iy rejimda ushlab turishdan iborat bo'lib, foydalanilmagan xotira sahifalarini almashtirishga majbur qilish, ularning chiqarilishi ishlashga sezilarli ta'sir ko'rsatmaydi (masalan, faqat ishga tushirish paytida ishlatiladigan kodli sahifalar va bir martalik foydalanish). disk keshidagi ma'lumotlar). Xotira bosimiga javoban ma'lumotni almashtirish bo'limiga chiqarishdan farqli o'laroq, TMOda ma'lumotlar proaktiv bashorat asosida chiqariladi.

Ko'chirish mezonlaridan biri 5 daqiqa davomida xotira sahifasiga kirishning yo'qligi. Bunday sahifalar sovuq xotira sahifalari deb ataladi va o'rtacha dastur xotirasining taxminan 35% ni tashkil qiladi (ilova turiga qarab, 19% dan 65% gacha bo'lgan diapazon mavjud). Preemption anonim xotira sahifalari (ilova tomonidan ajratilgan xotira) va fayllarni keshlash uchun ishlatiladigan xotira (yadro tomonidan ajratilgan) bilan bog'liq faoliyatni hisobga oladi. Ba'zi ilovalarda asosiy iste'mol anonim xotira hisoblanadi, lekin boshqalarida fayl keshi ham muhimdir. Keshni chiqarish nomutanosibligini oldini olish uchun TMO fayl keshi bilan bog'liq bo'lgan anonim sahifalar va sahifalarni mutanosib ravishda olib tashlaydigan yangi peyjing algoritmidan foydalanadi.

Tez-tez ishlatilmaydigan sahifalarni sekinroq xotiraga surish ishlashga sezilarli ta'sir ko'rsatmaydi, lekin apparat xarajatlarini sezilarli darajada kamaytirishi mumkin. Ma'lumotlar SSD drayverlarga yoki RAMdagi siqilgan almashtirish maydoniga o'tkaziladi. Bir bayt ma'lumotni saqlash narxiga kelsak, NVMe SSD-dan foydalanish operativ xotirada siqishni ishlatishdan 10 baravar arzonroqdir.

Facebook serverlarda xotiraning 20-32 foizini tejash imkonini beruvchi TMO mexanizmini taqdim etdi


Manba: opennet.ru

a Izoh qo'shish