Sebelum sesi Linux Plumbers Conference (LPC), yang akan diadakan minggu depan di Dublin, Irlandia, AMD akan mengadakan seminar tentang peningkatan penjadwal untuk arsitektur split last-level cache, atau LLC. K. Prateek Nayak, seorang insinyur dari tim server Linux untuk AMD, menerbitkan seri tambalan yang berfokus pada penghitungan ruang pengguna yang mengisyaratkan penempatan tugas. Perkembangan baru ini menampilkan niat AMD untuk meningkatkan penjadwal kernel Linux untuk rencana CPU split-LLC untuk membantu prosesor server EPYC mereka.
AMD mencari kinerja CPU EPYC yang lebih tinggi di Linux menggunakan petunjuk ruang pengguna untuk beban kerja
Tambalan baru diberi label “eksperimental” dan “permintaan komentar” dan menghitung kenop tingkat rendah untuk mengontrol pengaturan penjadwal tugas ruang pengguna dengan mengandalkan petunjuk yang diberikan oleh ruang pengguna.
Desain API saat ini bersifat eksperimental dan hanya mampu mengatur petunjuk tingkat rendah. API ini tidak dimaksudkan untuk konsumsi publik dan hanya berfungsi sebagai sarana untuk menguji dan menunjukkan kemanjuran petunjuk dalam membantu penjadwal membuat keputusan penempatan yang optimal berdasarkan persyaratan yang disediakan oleh aplikasi. Penjadwal bebas untuk mengabaikan petunjuk yang ditetapkan oleh pengguna jika diyakini bahwa mengikuti petunjuk akan membuat sistem dalam keadaan kurang optimal.
– Motivasi
Heuristik yang digunakan oleh penjadwal saat ini, seperti flag WF_SYNC, logika wake_wide(), dll., tidak dapat secara akurat menyimpulkan sifat beban kerja dalam hal apakah lebih disukai untuk mengkonsolidasikan sekelompok utas secara berdekatan atau jika mereka harus tersebar terpisah. Ketidakmampuan untuk menyimpulkan sifat beban kerja dapat menyebabkan serangkaian keputusan penempatan yang salah yang dapat merusak kinerja beban kerja. Hukumannya tampaknya berat pada sistem dengan split-LLC seperti AMD EPYC.
Urutan tambalan baru dari AMD mencakup kemampuan untuk memilih penempatan tugas di dekat induknya jika ada inti yang tidak aktif di grup lokal. Dari sana, proses menentukan untuk melanjutkan dengan grup yang berisi penggunaan paling sedikit untuk memperpanjang beban kerja, dan kemungkinan petunjuk tambahan juga sedang diperiksa. Peter Zijlstra, seorang insinyur untuk tim kernel Linux Intel, mengusulkan kerangka petunjuk tingkat tinggi tahun lalu yang akan membantu urutan tugas penjadwal kernel dengan CPU dan beban kerja yang semakin kompleks. Petunjuk ruang-pengguna dalam keadaan saat ini dilakukan melalui antarmuka prctl().
Pengujian awal AMD terhadap patch petunjuk ruang pengguna telah menunjukkan prospek peningkatan kinerja server EPYC untuk beragam beban kerja seperti Hackbench, Schbench, Tbench, dan banyak lagi. Pengujian awal telah dilakukan pada Intel Xeon Ice Lake di area di mana petunjuk ruang pengguna dapat bermanfaat bagi beban kerja.
Karena tambal sulam saat ini bersifat eksperimental, diperkirakan akan membutuhkan waktu beberapa bulan sebelum kita melihat petunjuk ruang pengguna yang sepenuhnya diterapkan dan siap untuk ditambahkan ke kernel Linux. Pengguna yang tertarik untuk menemukan tambalan saat ini dapat mengetahui lebih lanjut melalui milis kernel Linux.
Sumber Berita: Phoronix, milis kernel Linux