Ada sejumlah upaya berbeda belakangan ini untuk lebih meningkatkan penjadwal kernel Linux agar lebih beradaptasi dengan arsitektur perangkat keras modern apakah itu untuk desain CPU hybrid Intel, beradaptasi dengan konfigurasi cache CPU baru, atau hanya penskalaan yang lebih baik dengan yang pernah ada saat ini. meningkatkan jumlah inti. Upaya penjadwal lain yang dirinci minggu ini adalah”Nest”yang bertujuan untuk menjaga tugas pada”inti hangat”dengan harapan latensi yang lebih rendah karena sudah berada pada status clock/kinerja yang lebih tinggi dan idealnya beroperasi pada frekuensi turbo/boost yang optimal. Pengembang Nest menemukan bahwa penjadwal mereka”meningkatkan kinerja 10%-2x dan dapat mengurangi penggunaan energi”dengan perangkat keras modern.
Julia Lawal bersama Inria, Institut Nasional Riset Sains dan Teknologi Digital Prancis, dipresentasikan di Nest pada Konferensi Tukang Pipa Linux (LPC 2022) minggu ini di Dublin. Nest juga digarap bekerjasama dengan oracle Labs dan University of Sydney.
Sementara perilaku penjadwal CFS Linux yang ada adalah untuk menyebarkan tugas di seluruh inti CPU yang tersedia di mesin, Nest mengambil pendekatan berbeda mengingat atribut prosesor saat ini. Sementara menyebarkan pekerjaan dapat bermanfaat dan masuk akal, menyalakan inti CPU yang lama menganggur dapat menyebabkan latensi hingga inti tersebut bekerja ke kondisi kinerja yang lebih tinggi (frekuensi lebih tinggi) dan dapat berdampak negatif pada frekuensi turbo/anggaran daya saat ini; inti CPU y-sibuk. Nest mempertimbangkan hal ini dan pada awalnya mencoba untuk menyimpan tugas ke kumpulan”inti hangat”yang sudah berjalan dalam kondisi kinerja tertinggi sebelum memutar inti yang tidak digunakan.
Nest juga memperhitungkan induk/inti sebelumnya dalam keputusan penjadwalannya untuk mencoba meningkatkan lokalitas dalam kasus CPU multi-socket.
Saya pikir banyak dari tolok ukur yang mereka pilih untuk dijalankan semuanya familier dengan apa yang biasanya saya jalankan…
Benar saja, mereka menggunakan Phoronix Test Suite sumber terbuka untuk membuat tolok ukur dan mengevaluasi dampak dari keputusan penjadwalan di berbagai beban kerja.
Pada akhirnya mereka menemukan bahwa penjadwal tugas Nest dapat menghasilkan peningkatan kinerja 10% hingga 2x pada beban kerja ringan atau sedang di server Intel soket 1/2/4 serta server AMD dan desktop juga. Untuk menuntut beban kerja multi-utas yang sudah menggunakan CPU hingga kapasitas penuhnya, jelas tidak ada banyak perbedaan di sana, tetapi untuk beban kerja ringan hingga sedang di mana pendekatan inti hangat Nest tampaknya sangat membantu dengan perangkat modern yang lebih tinggi. sistem/server penghitungan inti.
Mereka yang ingin mempelajari lebih lanjut dapat menemukan presentasi penjadwal Nest dari LPC 2022 yang disematkan di bawah bersama dengan dek slide (PDF).