Facebook ngenalkeun mékanisme TMO, ngamungkinkeun anjeun ngahemat 20-32% memori dina server

Insinyur ti Facebook (dilarang di Féderasi Rusia) nyebarkeun laporan ngeunaan palaksanaan taun ka tukang téknologi TMO (Transparent Memory Offloading), anu ngamungkinkeun tabungan anu signifikan dina RAM dina server ku cara ngagentos data sekundér anu henteu diperyogikeun pikeun damel ka drive anu langkung mirah, sapertos NVMe. SSD -disk. Facebook ngira-ngira yén ngagunakeun TMO tiasa nyimpen 20 ka 32% RAM dina unggal server. Solusina dirancang pikeun dianggo dina infrastruktur dimana aplikasi dijalankeun dina wadah terasing. Komponén sisi kernel TMO parantos kalebet dina kernel Linux.

Dina sisi kernel Linux, téknologi dirojong ku subsistem PSI (Pressure Stall Information), sayogi dimimitian ku release 4.20. PSI parantos dianggo dina sababaraha panangan mémori anu lemah sareng ngamungkinkeun anjeun pikeun nganalisis inpormasi ngeunaan waktos ngantosan pikeun kéngingkeun sumber daya (CPU, mémori, I / O). Kalayan PSI, prosesor ruang-pamaké tiasa langkung akurat ngira-ngira tingkat beban sistem sareng pola slowdown, ngamungkinkeun anomali diidentifikasi awal, sateuacan aranjeunna gaduh dampak anu nyata dina pagelaran.

Dina spasi pamaké, TMO disadiakeun ku komponén Senpai, nu, ngaliwatan cgroup2, dinamis nyaluyukeun wates memori pikeun wadahna aplikasi dumasar kana data nampi ti PSI. Senpai nganalisa tanda-tanda awal kakurangan sumberdaya via PSI, ngevaluasi sensitipitas aplikasi pikeun ngalambatkeun aksés mémori sareng nyobian nangtukeun ukuran mémori minimum anu diperyogikeun ku wadahna, dimana data anu dipikabutuh pikeun operasi tetep aya dina RAM, sareng anu sanésna. data netep dina cache file atawa henteu langsung dipaké dina momen, kapaksa kaluar ka partisi swap.

Facebook ngenalkeun mékanisme TMO, ngamungkinkeun anjeun ngahemat 20-32% memori dina server

Ku kituna, hakekat TMO nyaéta pikeun ngajaga prosés dina diet anu ketat dina hal konsumsi mémori, maksa swap halaman mémori anu henteu kapake anu ngusirna henteu nyata mangaruhan kinerja (contona, halaman anu nganggo kode ngan ukur dianggo nalika ngamimitian, sareng panggunaan tunggal. data dina cache disk). Beda sareng ngusir inpormasi kana partisi swap pikeun ngaréspon tekanan mémori, dina data TMO digusur dumasar kana prediksi proaktif.

Salah sahiji kritéria pikeun ngusir nyaéta henteuna aksés ka halaman mémori salami 5 menit. Kaca sapertos disebut halaman mémori tiis sareng rata-rata 35% tina mémori aplikasi (gumantung kana jinis aplikasi, aya rentang ti 19% dugi ka 65%). Preemption tumut kana aktivitas akun pakait sareng kaca memori anonim (memori disadiakeun ku aplikasi) jeung memori dipaké pikeun cache file (dialokasikeun ku kernel). Dina sababaraha aplikasi, konsumsi utama nyaéta mémori anonim, tapi dina sababaraha aplikasi, cache file ogé penting. Pikeun ngahindarkeun imbalances ngusir cache, TMO ngagunakeun algoritma paging anyar nu evicts kaca anonim jeung kaca pakait sareng cache file proporsional.

Ngadorong halaman anu jarang dianggo kana mémori anu langkung laun henteu gaduh dampak anu signifikan dina pagelaran, tapi tiasa ngirangan biaya hardware sacara signifikan. Data dialihkeun kana drive SSD atanapi ka daérah swap anu dikomprés dina RAM. Dina watesan biaya nyimpen hiji bait data, ngagunakeun NVMe SSD nepi ka 10 kali leuwih murah batan ngagunakeun komprési dina RAM.

Facebook ngenalkeun mékanisme TMO, ngamungkinkeun anjeun ngahemat 20-32% memori dina server


sumber: opennet.ru

Tambahkeun komentar