Facebook xotirani boshqarishning yangi usuli

Ijtimoiy tarmoqni rivojlantirish guruhi a'zolaridan biri Facebook, Roman Gushchin, ishlab chiquvchining pochta ro'yxatida bir qator taklif qilingan Linux yadro yamoqlariXotira boshqaruvini yangi nazoratchini joriy etish orqali xotirani boshqarishni yaxshilashga qaratilgan - slab (plitalar xotirasi boshqaruvchisi).

plitalar taqsimoti xotirani yanada samaraliroq taqsimlash va sezilarli parchalanishni bartaraf etish uchun mo'ljallangan xotirani boshqarish mexanizmi. Ushbu algoritmning asosi ma'lum turdagi ob'ektni o'z ichiga olgan ajratilgan xotirani saqlash va keyingi safar bir xil turdagi ob'ekt uchun ajratilganda ushbu xotirani qayta ishlatishdir. Ushbu uslub birinchi marta SunOS-da Jeff Bonvik tomonidan kiritilgan va hozirda FreeBSD va Linux kabi ko'plab Unix operatsion tizimlarining yadrolarida keng qo'llaniladi.

Yangi kontroller slab hisobini xotira sahifasi darajasidan yadro obyekti darajasiga ko‘chirishga asoslangan bo‘lib, bu har bir guruh uchun alohida kesh ajratish o‘rniga, bitta slab sahifasini turli guruhlarda almashish imkonini beradi.

Sinov natijalariga ko'ra, tavsiya etilgan xotirani boshqarish usuli ko'paytirishga imkon beradi samaradorligi plita yordamida 45% gacha, shuningdek, OS yadrosining umumiy xotira sarfini kamaytiradi. Bundan tashqari, slab uchun ajratilgan sahifalar sonini kamaytirish orqali umuman xotiraning parchalanishi kamayadi, bu tizimning ishlashiga ta'sir qilishi mumkin emas.

Yangi kontroller Facebook-ning ishlab chiqarish serverlarida bir necha oy davomida sinovdan o'tkazildi va hozircha bu sinovni muvaffaqiyatli deb atash mumkin: unumdorlik yo'qolmagani va xatolar soni ko'paymagani holda, xotira sarfi aniq kamaygan - ba'zilarida 1 GB gacha bo'lgan serverlar. Bu raqam juda sub'ektivdir, masalan, oldingi testlar biroz pastroq natijalarni ko'rsatdi:

  • Veb frontendida 650-700 MB
  • Ma'lumotlar bazasi keshi bilan serverda 750-800 MB
  • DNS serverida 700 MB

>>> GitHub-dagi muallif sahifasi


>>> Erta sinov natijalari

Manba: linux.org.ru

a Izoh qo'shish