Sementara jendela penggabungan Linux 6.4 ditutup akhir pekan ini, hari ini pada hari terakhir periode tersebut adalah Jens Axboe mengirimkan dukungan pipa FMODE_NOWAIT sebagai apa yang dia gambarkan sebagai peningkatan kinerja dan efisiensi yang besar.
Dengan inkarnasi sebelumnya dari dukungan FMODE_NOWAIT untuk patch pipa, Axboe menjelaskan:
"Satu hal yang selalu sedikit lebih lambat daripada yang saya inginkan dengan io_uring adalah berurusan dengan pipa. Mereka tidak mendukung IOCB_NOWAIT, dan karenanya kami perlu memasukkannya ke io-wq untuk penanganan. Seri ini menambahkan dukungan untuk FMODE_NOWAIT ke pipa ."Tapi yang benar-benar menjadi liar adalah skala kinerja/efisiensi yang didapat darinya:
"Ingin tahu seberapa besar perbedaannya, saya menulis tolok ukur kecil yang hanya membuka 128 pipa dan kemudian membaca dan menulis 256 putaran. Ini dijalankan 10 kali, membuang proses pertama karena selalu sedikit lebih lambat. Sebelum tambalan:
Rata-rata: 262,52 mdtk
Stdev: 2,12 mdtk
Min: 261,07 mdtk
Maks 267,91 mdtk
dan setelah tambalan:
Rata-rata: 24,14 mdtk
Stdev: 9,61 mdtk
Min: 17,84 mdtk
Maks: 43,75 mdtk
atau sekitar 10x peningkatan kinerja (dan efisiensi).
Saya menjalankan tambalan melalui tes pipa ltp dan sambatan, tidak ada regresi yang diamati. Melihat jejak io_uring, kita dapat melihat bahwa kita tidak lagi memiliki jejak io_uring_queue_async_work() setelah tambalan, di mana sebelumnya semuanya dilakukan melalui io-wq."Dia kemudian menambahkan dalam seri tambalan itu:
"Pengujian di atas adalah untuk pipa yang kosong saat pembacaan dikeluarkan, jika pengujian diubah menjadi data kapan, maka akan terlihat lebih baik:
Sebelum:
Rata-rata: 249,24 mdtk
Stdev: 0,20 mdtk
Min: 248,96 mdtk
Maks: 249,53 mdtk
Setelah:
Rata-rata: 10,86 mdtk
Stdev: 0,91 mdtk
Min: 10,02 mdtk
Maks: 12,67 mdtk
atau sekitar peningkatan 23x." Tambalan yang ditetapkan untuk penggabungan ke Linux 6.4 mengatur dukungan FMODE_NOWAIT untuk pipa tetapi nonaktifkan jika menggunakan sambatan/vmsplice pada pipa. Permintaan tarik ini adalah apa yang sekarang tertunda untuk dukungan FMODE_NOWAIT pipa.
Itulah berita seputar Dukungan Pipe FMODE_NOWAIT Dikirim Untuk Linux 6.4 Sebagai Peningkatan Kinerja 10~23x, semoga bermanfaat. Disadur dari Phoronix.com.Artikel Diperbarui pada: May 06, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani