Untuk membantu memfasilitasi eksplorasi bahasa pemrograman Rust untuk tujuan penyimpanan Linux di dalam kernel, insinyur Samsung Andreas Hindborg telah menerbitkan driver blok null yang ditulis dalam bahasa pemrograman yang aman untuk memori ini.

Driver blok null Rust dimaksudkan untuk melayani evaluasi pengikatan Rust untuk lapisan blok kernel, memaparkan Rust ke lebih banyak pengembang penyimpanan Linux, dan melayani tujuan serupa untuk membantu”menendang ban”seputar driver penyimpanan Rust dan Linux.

Andreas Hindborg menulis dalam pengumuman driver Rust baru ini:

“Menjadi kecil dan sederhana, driver null block adalah tempat yang baik untuk memperkenalkan komunitas penyimpanan kernel Linux ke Rust. Hal ini akan membantu mempersiapkan komunitas untuk proyek Rust di masa mendatang dan memfasilitasi proses pemeliharaan yang lebih baik untuk proyek ini.

Statistik yang disajikan dalam pesan saya sebelumnya menunjukkan bahwa driver blok C null memiliki sejumlah besar masalah terkait keamanan memori di masa lalu. 41% perbaikan yang digabungkan untuk driver blok null C adalah perbaikan untuk masalah keamanan memori. Hal ini menjadikan driver blok null kandidat yang baik untuk menulis ulang di Rust.

Dalam tabel ini setiap sel menunjukkan performa relatif driver Rust ke driver C dengan throughput driver C dalam tanda kurung: `rel_read rel_write (read_miops write_miops)`. Mis: performa driver Rust 4,74 persen lebih baik daripada driver C untuk fio randread dengan 2 tugas dengan ukuran blok 16 KiB.

Di atas 432 konfigurasi benchmark, kinerja relatif driver Rust ke driver C (dalam hal IOPS) adalah antara 6,8 dan-11,8 persen dengan rata-rata 0,2 persen lebih baik untuk dibaca. Untuk penulisan rentangnya adalah 16,8 hingga-4,5 persen dengan rata-rata 0,9 persen lebih baik.”

Driver blok nol Rust sudah mendukung multi-antrean BLK-MQ, penyelesaian langsung I/O, permintaan baca/tulis, dukungan memori opsional, dan banyak lagi. Masih ada fitur lain untuk membuat driver ini sebanding dengan driver blok nol berbasis C yang sudah ada seperti dukungan NUMA, pengiriman berbasis bio, konfigurasi penjadwal I/O, dukungan penyimpanan yang dikategorikan, dan banyak lagi.

Detail lebih lanjut tentang driver awal lapisan blok null Rust ini untuk membantu lebih lanjut bahasa pemrograman Rust untuk penyimpanan Linux dapat ditemukan melalui seri patch ini.

Categories: IT Info