Métode Manajemén Mémori Anyar Facebook

Salah sahiji anggota tim ngembangkeun jaringan sosial Facebook, Roman Gushchin, diajukeun dina milis pamekar sakumpulan Patch kernel Linuxaimed dina ngaronjatkeun manajemen memori ngaliwatan palaksanaan controller manajemén memori anyar - slab (slab mémori controller).

distribusi slab mangrupakeun mékanisme manajemén memori dirancang pikeun allocate memori leuwih éfisién tur ngaleungitkeun fragméntasi signifikan. Dasar algoritma ieu pikeun nyimpen mémori dialokasikeun ngandung hiji obyék tina tipe nu tangtu sarta ngagunakeun deui memori nu waktos salajengna eta disadiakeun pikeun hiji obyék tina tipe sarua. Téhnik ieu mimiti diwanohkeun dina SunOS ku Jeff Bonwick sareng ayeuna seueur dianggo dina kernel seueur sistem operasi Unix, kalebet FreeBSD sareng Linux.

Controller anyar dumasar kana pindah akuntansi slab ti tingkat kaca memori ka tingkat obyék kernel, nu ngamungkinkeun pikeun babagi hiji kaca slab di cgroups béda, tinimbang allocating a cache misah pikeun tiap cgroup.

Dumasar kana hasil tés, éta nuturkeun yén métode manajemén memori anu diusulkeun ngamungkinkeun ningkatkeun efisiensi ngagunakeun slab mun 45%, sarta ogé bakal ngurangan konsumsi memori sakabéh kernel OS. Ogé, ku cara ngurangan jumlah kaca disadiakeun pikeun slab, fragméntasi memori sakabéhna diréduksi, nu teu bisa tapi mangaruhan kinerja sistem.

Controller anyar parantos diuji dina pangladén Facebook produksi salami sababaraha bulan, sareng dugi ka ayeuna tés ieu tiasa disebat suksés: kalayan henteu kaleungitan kinerja sareng henteu aya paningkatan jumlah kasalahan, panurunan anu jelas dina konsumsi mémori parantos diperhatoskeun - dina sababaraha server nepi ka 1GB. Jumlah ieu rada subjektif, contona, tés saméméhna némbongkeun hasil rada handap:

  • 650-700 MB dina frontend web
  • 750-800 MB dina server sareng cache database
  • 700 MB dina server DNS

>>> Kaca pangarang dina GitHub


>>> Hasil tés awal

sumber: linux.org.ru

Tambahkeun komentar