Inisiatif dilancarkan untuk mengolah semula Xen Hypervisor dalam Rust

Xen

Xen ialah hypervisor yang menyediakan pengasingan selamat, kawalan sumber, jaminan kualiti perkhidmatan dan pemindahan mesin maya.

The pemaju platform XCP-ng, yang dibangunkan di bawah sayap projek Xen, telah mengeluarkan rancangan untuk mencipta pengganti Karat untuk pelbagai komponen timbunan perisian Xen.

Hipervisor Xen sendiri masih belum diproses dan kerja tertumpu terutamanya pada mengolah semula komponen individu set alat.

Platform pada masa ini menggunakan komponen dalam C, Python, OCaml dan Go, sesetengah daripadanya sudah lapuk dan menyebabkan isu penyelenggaraan. Adalah diperhatikan bahawa menggunakan Rust tidak akan membawa kepada peningkatan keseluruhan dalam bilangan bahasa yang terlibat, kerana hanya satu komponen yang dilaksanakan dalam Go, yang dirancang untuk diganti di tempat pertama.

Jelas sekali jangan mengharapkan kami menulis semula hipervisor Xen dan segala-galanya dalam Rust sebagai percubaan pertama kami. Malah, matlamat kami di sini adalah untuk mula menggantikan beberapa komponen yang lebih kecil di sekelilingnya, membolehkan kami "memperkembangkan" bahasa itu sendiri dan memikirkan cara untuk menggantikan perkara blok demi blok, untuk keseluruhan platform.

Rust dipilih sebagai bahasa yang menggabungkan prestasi kod tinggi Menghasilkan keupayaan ingatan yang selamat, tidak memerlukan penggunaan pengumpul sampah, sesuai untuk membangunkan komponen peringkat rendah dan tinggi, menyediakan ciri tambahan untuk mengurangkan kemungkinan ralat, seperti peminjam berubah (pemeriksa pinjaman). Karat juga lebih meluas daripada bahasa XAPI semasa OCaml, yang akan memudahkan untuk menarik pembangun baharu ke projek itu.

Pada peringkat pertama, ia dirancang untuk membangunkan penggantian untuk pelbagai komponen cuntuk menyelesaikan proses dan menyediakan pangkalan untuk menggantikan bahagian lain tindanan perisian. Khususnya, pertama sekali, alatan tetamu Linux akan ditulis semula dalam Rust, yang mana bahasa Go sedang digunakan dan proses latar belakang untuk mengumpul metrik akan ditulis dalam OCaml.

Oleh kerana Karat selamat dan cepat, apa lagi yang kita perlukan? Kami juga memerlukan bahasa pengaturcaraan yang mampu berfungsi pada pelbagai peringkat (bawah dan atas timbunan). Saya tidak akan mempercayai Go atau Python untuk menangani perkara tahap rendah yang boleh kita miliki dalam XCP-ng, dan begitu juga C untuk melakukan perkara peringkat lebih tinggi. Penggunaan Rust memberikan potensi untuk menjadi dimana - mana dalam timbunan XCP-ng'.

Selain itu, Rust bukan lagi bahasa "niche". Contohnya, walaupun ia bagus, OCaml (digunakan dalam XAPI) tidak begitu terkenal, yang mengurangkan peluang kami untuk mengupah orang yang berpengalaman dalam bahasa ini dengan mudah. Ini juga mengurangkan keupayaan komuniti sumber terbuka untuk mendapatkan penyumbang. Kami fikir Rust tidak akan menjadi penghalang untuk itu (kedua-dua pengambilan pekerja dan sumbangan), mungkin juga sebaliknya: pemacu untuk menarik lebih ramai orang, kerana ia adalah teknologi "dikehendaki".

Keperluan untuk mereka bentuk semula alat daripada alat tetamu linux (xe-guest-utiliti) adalah disebabkan oleh isu pembangunan dan kualiti kod di luar Projek Xen di bawah kawalan Cloud Software Group, yang menjadikan pengaruh pembungkusan dan komuniti terhadap pembangunan sukar. Ia dirancang untuk mencipta varian baharu set alat ( xen-guest-agent ) sepenuhnya dari awal, memastikan ia semudah mungkin dan memisahkan logik ejen daripada perpustakaan. Kami memutuskan untuk mengolah semula proses bahagian belakang untuk mengumpul metrik ( rrdd ), memandangkan ia padat dan berasingan, menjadikannya mudah untuk mencuba menggunakan bahasa baharu semasa pembangunan.

Tahun depan, kerja mungkin akan bermula pada pembangunan daripada komponen xenopsd-ng dalam Rust, yang akan membolehkan kami mengoptimumkan seni bina timbunan perisian. Idea utama adalah untuk menumpukan kerja dengan API peringkat rendah dalam satu komponen dan mengatur penyediaan semua API peringkat tinggi ke seluruh timbunan melaluinya.

Akhirnya, jika anda berminat untuk mengetahui lebih lanjut mengenainya, anda boleh melihat butirannya Dalam pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.