Roman Gushchin (
Pendekatan yang diusulkan memungkinkan untuk meningkatkan efisiensi penggunaan lempengan, mengurangi ukuran memori yang digunakan untuk lempengan sebesar 30-45%, dan secara signifikan mengurangi konsumsi memori kernel secara keseluruhan. Dengan mengurangi jumlah lempengan yang tidak dapat dipindahkan, terdapat juga efek positif dalam mengurangi fragmentasi memori. Pengontrol memori baru secara signifikan menyederhanakan kode untuk menghitung pelat dan tidak memerlukan penggunaan algoritme rumit untuk membuat dan menghapus cache pelat secara dinamis untuk setiap cgroup. Semua cgroup memori dalam implementasi baru menggunakan sekumpulan cache lempengan yang umum, dan masa pakai cache lempengan tidak lagi terikat dengan masa pakai cache yang diinstal melalui cgroup
Penghitungan sumber daya yang lebih akurat yang diterapkan pada pengontrol pelat baru secara teoritis akan memuat lebih banyak CPU, tetapi dalam praktiknya perbedaannya tidak signifikan. Secara khusus, pengontrol pelat baru telah digunakan selama beberapa bulan di server produksi Facebook yang menangani berbagai jenis beban kerja, dan belum ada regresi nyata yang teridentifikasi. Pada saat yang sama, terjadi pengurangan konsumsi memori yang signifikan - pada beberapa host dimungkinkan untuk menghemat hingga 1GB memori, namun indikator ini sangat bergantung pada sifat beban, ukuran total RAM, jumlah CPU. dan fitur bekerja dengan memori. Tes sebelumnya
Sumber: opennet.ru