Akankah Program Magical Linux Berikutnya Mengubah Dunia?  Io_uring • Registri

Akankah Program Magical Linux Berikutnya Mengubah Dunia? Io_uring • Registri

Membelah Beberapa tahun yang lalu, pengembang mengetahui eBPF sebagai cara praktis untuk membangun firewall, tetapi sekarang digunakan untuk segalanya, di mana saja. Bersiaplah untuk io_uring melakukan hal yang sama.

Kebanyakan orang tidak tahu apa-apa tentang pemrograman Linux. Mengapa harus? Lebih dari kebanyakan sistem operasi, Linux hanya berfungsi. Namun di bawah permukaan, ada program seperti eBPF yang mengubah infrastruktur di bawah sistem operasi yang kita gunakan setiap hari.

Seperti yang diketahui minggu ini, Microsoft telah memutuskan untuk mem-porting-nya eBPF di Windows daripada mencoba menduplikasi fungsinya dengan program Anda sendiri. io_uring bisa menjadi alat Swiss Army berikutnya untuk pengembang Linux.

Io_uring memungkinkan Linux untuk memulai operasi secara asinkron dan menunggu sampai selesai. Tidak seperti subsistem I/O (AIO) asinkronnya, pendahulunya io_uring menggunakan buffer memori cincin yang dibagi antara ruang pengguna dan kernel Linux. Ini memungkinkannya untuk mengirimkan operasi dan mengumpulkan hasilnya tanpa memerlukan panggilan kernel Linux yang memakan waktu. API-nya rumit, tetapi jika aplikasi Anda membutuhkan banyak I/O, Anda akan mendapatkan peningkatan kinerja yang jauh lebih baik.

Ketika saya mengatakan “banyak” I/O, maksud saya panggilan I/O besar, gigabyte dan banyak lagi. Dan ketika saya mengatakan “sangat meningkat”, maksud saya bahkan pada tahun 2020, io_uring hingga 20x lebih cepat daripada Linux AIO gaya lama.

Peningkatan kecepatan semacam itu membuat pengembang berdiri dan memperhatikan. Seperti yang dikatakan Glauber Costa, CEO dan pendiri ChiselStrike – perusahaan backend-as-a-service -: “Ini secara mendasar mengubah cara aplikasi Linux dirancang: Alih-alih aliran kode yang mengeluarkan panggilan sistem sesuai permintaan, tentu saja, ketika mereka harus memikirkan apakah suatu file sudah siap atau tidak, mereka menjadi loop peristiwa, terus-menerus menambahkan hal-hal ke buffer umum, berurusan dengan entri sebelumnya, menyelesaikan, menghapus, mengulangi.

Kosta tidak sendirian. Pada Open Source Summit Europe Linux Foundation di Dublin, pengembang kernel Linux senior Jonathan Corbet mengatakan dalam pidato State of the Linux Kernel Summit bahwa io_uring adalah pengubah permainan. Itu akan “membuat batas antara ruang pengguna dan ruang kernel keropos”.

READ  Currys membagikan TV LG GRATIS, tetapi Anda harus cepat mendapatkannya

Untuk sebagian besar keberadaan Linux, hanya ada jembatan lambat yang sempit dari panggilan sistem antara proses ruang pengguna yang lambat dan proses ruang kernel yang cepat.

Seperti yang dikatakan Corbet, “Ini memungkinkan Anda melakukan beberapa hal yang cukup rumit tentang cincin itu. Ini semacam menjadi API terpisah untuk sistem saat ini, memungkinkan Anda untuk memuat program sederhana ke dalam kernel dan menjalankan semuanya secara asinkron dan hanya mendapatkan hasilnya ketika itu terjadi. Ini adalah pendekatan yang sangat berbeda untuk pemrograman pada sistem Unix, dan orang-orang mulai melakukan hal-hal menarik dengannya.

Di masa depan, dia melihat keduanya hampir menyatu untuk tujuan pemrograman karena konsep penyangga cincin keystore io_uring digunakan dalam proses pemrograman Linux dasar lainnya.

Dalam sebuah wawancara di Linux Plumbers Conference, yang diadakan bersamaan dengan Open Source Summit Europe, Linus Torvalds mengatakan bahwa meskipun io_uring masih baru, “Saya pikir teknologinya cukup masuk akal. Saya pikir itu telah membuktikan dirinya di area kecil. Dan orang-orang mulai berkata, ‘Hei, saya ingin menggunakan alat ini!’”

Torvalds tidak begitu yakin bahwa io_uring akan mengubah pemrograman Linux, tetapi dia juga tidak mengesampingkannya.

Jadi, jika Anda adalah pengembang Linux yang serius atau hanya seseorang yang membangun komputasi kinerja tinggi, server web, atau DBMS, lihat io_uring. Kamu tidak akan menyesal. ®

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *