Linux 6.9 akan menawarkan boot lebih cepat pada sistem besar dengan banyak RAM

Tux, maskot Kernel Linux

Kernel Linux adalah tulang punggung sistem operasi Linux (OS), dan merupakan antarmuka mendasar antara perangkat keras komputer dan prosesnya.

Beberapa hari yang lalu Kami berbagi di sini di blog berita tentang salah satu perubahan Apa yang bisa kita temukan saat peluncuran dari kernel Linux 6.9, yang saat ini sedang dalam pengembangan dan berbagai perubahan telah diketahui dan yang kami umumkan adalah bahwa EXT2 telah masuk ke dalam kategori usang dan juga penggunaan driver NTFS lama akan dikesampingkan demi mendukung driver yang dikembangkan oleh Paragon Software.

Sekarang, di berita terbaru tentang fitur-fitur baru yang akan dihadirkan Linux 6.9 kepada kita adalah itu Versi Kernel ini akan membawa peningkatan yang signifikan dalam waktu startup untuk pengguna yang mengelola sistem dengan RAM dalam jumlah besar, terutama yang itu Mereka menggunakan halaman HugeTLB. Hal ini menghasilkan pengurangan yang cukup besar dalam waktu yang diperlukan untuk menginisialisasi halaman-halaman ini selama proses booting sistem.

Artikel terkait:
Paragon merilis implementasi NTFS untuk kernel Linux

Dan perubahan ditambahkan di Linux 6.9 akan memungkinkan sistem dengan sejumlah besar halaman HugeTLB mengalami pengurangan yang nyata pada waktu mulai. Misalnya, pada sistem 2TB di mana 1800 halaman 1GB diinisialisasi, yang mana saat ini mereka membutuhkan waktu antara 1 dan 2 detik dari total 10 detik, yang tidak diragukan lagi merupakan kemajuan besar saat ini. Demikian pula, pada host Intel 12 TB yang menginisialisasi 11 halaman 776 GB, yang dapat memakan waktu lebih dari satu menit, Anda akan melihat pengurangan waktu startup yang signifikan.

Kemajuan-kemajuan ini dimungkinkan oleh kerja keras pengembang Linux Gang Li dari Bytedance, yang menerapkan serangkaian tambalan yang melalui beberapa tinjauan untuk memastikan eksekusi yang efisien. Infrastruktur kernel yang ada, seperti padata_do_multithreaded, digunakan dengan sedikit modifikasi untuk mencapai hasil ini.

Dua pembaruan di v6…

– Memperbaiki potensi bug di Together_bootmem_prealloc_node
Implementasi padata_do_multithreaded memastikan bahwa masing-masing
Tugas Together_bootmem_prealloc_node menangani sebuah node. Namun, API menjelaskan
di komentar padata_do_multithreaded menunjukkan bahwa padata_do_multithreaded juga
Anda dapat menetapkan beberapa node untuk satu tugas bersama_bootmem_prealloc_node.

Untuk menghindari kemungkinan kesalahan dari perubahan padata_do_multithreaded di masa mendatang,
Together_bootmem_prealloc_parallel diperkenalkan untuk membungkus
bersama_bootmem_prealloc_node.

Manfaatnya dari perbaikan ini khususnya penting dalam lingkungan di mana ketersediaan layanan dan waktu aktif sistem sangat penting, seperti dalam kasus hyperscaler dan organisasi besar yang mengelola server yang sangat besar. Pengurangan waktu startup selama reboot sangat bermanfaat untuk memastikan uptime lebih cepat dan efisien.

Selain itu, Perlu juga disebutkan perubahan lainnya yang telah disertakan dalam Linux 6.9 yang merupakan patch dari Linux engineer berpengalaman di Intel, yang mana memperkenalkan teknik yang ditingkatkan untuk membatasi bandwidth memori dalam penyegaran cache x86, mirip dengan yang digunakan oleh Intel pada CPU RDT dan AMD EPYC dengan kode resctrl.

Penulis tambalan menyebutkan bahwa:

Putaran umpan balik MBA_mbps meningkatkan pembatasan ketika grup menggunakan lebih banyak bandwidth daripada yang ditetapkan pengguna dalam file skema, dan mengurangi pembatasan ketika berada di bawah target.

Perlu disebutkan bahwa teknik baru untuk membatasi bandwidth memori dirancang untuk menangani beban kerja dengan tingkat beban yang tidak seragam secara lebih efisiens, menghindari hukuman yang tidak perlu yang terjadi pada versi kernel sebelumnya.

Untuk menghindari fluktuasi percepatan yang tidak perlu di setiap iterasi, flag “delta_comp” digunakan untuk menunjukkan perubahan aktual dalam bandwidth yang akan dicatat pada iterasi berikutnya di “delta_bw”. Pelambatan hanya berkurang jika bandwidth saat ini ditambah delta_bw berada di bawah target pengguna.

Demikian disebutkan demikian Algoritme ini bekerja dengan baik dengan beban kerja bandwidth yang konstan, tetapi mungkin gagal jika beban kerja berubah tepat saat pembatasan berubah. Untuk mengatasi hal ini, teknik yang lebih sederhana diterapkan yang menghitung potensi peningkatan bandwidth jika pembatasan dikurangi ke tingkat berikutnya yang lebih tinggi, memastikan bahwa pembatasan tersebut tetap di bawah target pengguna sebelum pembatasan dikurangi.

Jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat melihat detailnya di tautan berikut: