Inisiatif untuk mengolah semula kit alat hipervisor Xen dalam Rust

Pembangun platform XCP-ng, yang dibangunkan di bawah sayap projek Xen, telah menerbitkan rancangan untuk mencipta pengganti pelbagai komponen susunan perisian Xen dalam bahasa Rust. Tiada rancangan untuk mengolah semula hipervisor Xen itu sendiri; kerja tertumpu terutamanya pada mengolah semula komponen individu kit alat.

Platform pada masa ini menggunakan komponen C, Python, OCaml dan Go, yang sebahagiannya sudah lapuk dan menimbulkan cabaran penyelenggaraan. Adalah diperhatikan bahawa penggunaan Rust tidak akan membawa kepada peningkatan keseluruhan dalam bilangan bahasa yang terlibat, kerana hanya satu komponen yang dilaksanakan dalam Go, yang dirancang untuk diganti terlebih dahulu.

Rust dipilih sebagai bahasa yang menggabungkan kod prestasi tinggi dengan keupayaan selamat memori, tidak memerlukan pengumpul sampah, sesuai untuk membangunkan kedua-dua komponen peringkat rendah dan tinggi, dan menyediakan ciri tambahan untuk mengurangkan kemungkinan ralat, seperti pemeriksa pinjaman. ). Rust juga lebih meluas daripada bahasa OCaml yang digunakan pada masa ini dalam XAPI, yang akan memudahkan untuk menarik pembangun baharu ke projek itu.

Fasa pertama adalah untuk membangunkan penggantian untuk beberapa komponen untuk menguji proses dan menyediakan asas untuk penggantian bahagian lain tindanan perisian. Khususnya, pertama sekali, alatan tetamu Linux, yang menggunakan bahasa Go pada masa ini, dan proses latar belakang untuk mengumpul metrik, yang ditulis dalam OCaml, akan ditulis semula dalam Rust.

Keperluan untuk mengolah semula alatan tetamu Linux (xe-guest-utiliti) disebabkan oleh masalah dengan kualiti kod dan pembangunan di luar Projek Xen di bawah kawalan Kumpulan Perisian Awan, yang menyukarkan pakej pakej dan pengaruh komuniti terhadap pembangunan. Mereka merancang untuk mencipta versi baharu kit alat (xen-guest-agent) sepenuhnya dari awal, menjadikannya semudah mungkin dan memisahkan logik ejen daripada perpustakaan. Telah diputuskan untuk mengolah semula proses latar belakang untuk mengumpul metrik (rrdd) kerana ia padat dan berasingan, yang memudahkan percubaan menggunakan bahasa baharu semasa pembangunan.

Tahun depan, kerja mungkin bermula pada pembangunan komponen xenopsd-ng dalam Rust, yang akan 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 kepada komponen lain tindanan melaluinya.

Seni bina tindanan Xen semasa:

Inisiatif untuk mengolah semula kit alat hipervisor Xen dalam Rust

Seni bina tindanan Xen yang dicadangkan berdasarkan xenopsd-ng:

Inisiatif untuk mengolah semula kit alat hipervisor Xen dalam Rust


Sumber: opennet.ru

Tambah komen