TMO, mekanisme Facebook yang menjimatkan RAM pada pelayan

Jurutera Facebook mendedahkan, melalui laporan, pengenalan teknologi TMO (Transparent Memory Offloading) tahun lepas, yang membolehkan untuk menjimatkan RAM dengan ketara pada pelayan dengan mengalihkan data sekunder yang tidak diperlukan untuk berfungsi pada pemacu yang lebih murah seperti SSD NVMe.

Facebook menganggarkan bahawa TMO menjimatkan antara 20% dan 32% RAM pada setiap pelayan. Penyelesaian ini direka untuk digunakan dalam infrastruktur di mana aplikasi dijalankan dalam bekas terpencil. Komponen sisi kernel TMO mereka sudah termasuk dalam kernel Linux.

Pada bahagian kernel Linux, operasi teknologi disediakan oleh subsistem PSI (Maklumat Gerai Tekanan), dibekalkan pada versi 4.20.

PSI sudah digunakan dalam pelbagai pemacu memori luar dan membolehkan untuk menganalisis maklumat tentang masa menunggu untuk mendapatkan pelbagai sumber (CPU, memori, I/O). Dengan PSI, pemproses ruang pengguna boleh menilai dengan lebih tepat beban sistem dan corak kelembapan, membolehkan anomali dikesan sebelum ia mempunyai kesan ketara terhadap prestasi.

Dalam ruang pengguna, komponen Senpai menjalankan TMO, yang melaraskan had memori secara dinamik untuk bekas aplikasi melalui cgroup2 berdasarkan data yang diterima daripada PSI.

Senpai menganalisis tanda-tanda permulaan kekurangan sumber melalui PSI, menilai sensitiviti aplikasi untuk memperlahankan akses memori dan cuba menentukan saiz minimum memori yang diperlukan untuk bekas, di mana data yang diperlukan untuk tugas itu kekal dalam RAM, dan data berkaitan yang telah disimpan dalam cache fail atau tidak digunakan secara langsung pada masa ini, dipaksa keluar ke partition swap.

Transparent Memory Offload (TMO) ialah penyelesaian Meta untuk persekitaran pusat data heterogen. Ia memperkenalkan mekanisme kernel Linux baharu yang mengukur kerja yang hilang akibat kekurangan sumber dalam CPU, memori dan I/O dalam masa nyata. Berpandukan maklumat ini dan tanpa pengetahuan awal tentang aplikasi, TMO melaraskan secara automatik jumlah memori untuk dimuatkan ke peranti heterogen, seperti memori termampat atau SSD. Ia melakukan ini berdasarkan ciri prestasi peranti dan kepekaan aplikasi terhadap akses memori yang lebih perlahan.

Oleh itu, intipati TMO adalah untuk mengekalkan proses pada "diet ketat" dari segi penggunaan ingatan, memaksa halaman memori yang tidak digunakan untuk dialihkan ke partition swap, yang pengalihannya tidak menjejaskan prestasi dengan ketara (contohnya, halaman dengan kod yang digunakan hanya semasa pemulaan dan data sekali dicache pada cakera) . Tidak seperti mengepam data ke partition swap sebagai tindak balas kepada memori rendah, TMO mengepam data berdasarkan ramalan ramalan.

Ketiadaan akses ke halaman memori dalam masa 5 minit digunakan sebagai salah satu kriteria untuk keutamaan. Halaman ini dipanggil halaman sejuk dan, secara purata, ia membentuk kira-kira 35% daripada memori aplikasi (bergantung pada jenis aplikasi, terdapat variasi dari 19% hingga 65%).

Keutamaan mengambil kira aktiviti yang dikaitkan dengan halaman tanpa nama memori (memori yang diperuntukkan oleh aplikasi) dan memori yang digunakan untuk caching fail (diperuntukkan oleh kernel). Dalam sesetengah aplikasi, memori tanpa nama adalah penggunaan utama, tetapi dalam yang lain cache fail juga sangat penting.

Untuk mengelakkan ketidakseimbangan apabila mengepam memori ke cache, TMO menggunakan algoritma paging baharu yang mengepam halaman tanpa nama dan halaman yang dikaitkan dengan cache fail secara berkadar.

Menolak halaman yang jarang digunakan untuk memperlahankan ingatan tidak mempunyai kesan besar pada prestasi, tetapi ia boleh mengurangkan kos perkakasan dengan ketara. Data dihantar ke SSD atau ruang swap termampat dalam RAM. Dengan kos menyimpan satu bait data, menggunakan SSD NVMe adalah sehingga 10 kali lebih murah daripada menggunakan pemampatan pada RAM.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butirannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   elian kata

    bolehkah ini digunakan dalam komputer biasa dengan aplikasi biasa?