Xen Hypervisor Toolkit Rework Initiative in Rust

A Xen projekt szárnya alatt kifejlesztett XCP-ng platform fejlesztői tervet tettek közzé a Xen szoftververem különböző összetevőinek Rust helyettesítőjének létrehozására. Maga a Xen hypervisor még nem kerül feldolgozásra, a munka elsősorban az eszköztár egyes komponenseinek átdolgozására irányul.

A platform jelenleg C, Python, OCaml és Go összetevőket használ, amelyek közül néhány elavult és karbantartási problémákat okoz. Meg kell jegyezni, hogy a Rust használata nem vezet az érintett nyelvek számának általános növekedéséhez, mivel a Go-ban csak egy komponens van implementálva, amelyet a tervek szerint eleve cserélnek.

A Rust-ot úgy választották ki, hogy a nagy kimeneti kódteljesítményt a memória biztonságos képességeivel ötvözi, szemétgyűjtő-mentes, alacsony és magas szintű komponensek fejlesztésére is alkalmas, és további funkciókat biztosít a potenciális hibák csökkentésére, mint például a változó kölcsönzés-ellenőrző (kölcsönzés ellenőrző). ). A Rust is elterjedtebb, mint a jelenlegi XAPI nyelvű OCaml, ami megkönnyíti új fejlesztők bevonását a projektbe.

Első lépésben több komponens cseréjét tervezik a folyamatok kidolgozása és a szoftververem egyéb részeinek cseréjének előkészítése érdekében. Mindenekelőtt a Linux vendégeszközöket írják át Rust nyelven, amelyhez jelenleg a Go nyelvet használják, és a metrikák gyűjtésének háttérfolyamatát, amelyet OCaml-ben írnak.

A Linux vendégeszközeit (xe-guest-utilities) újra kell tervezni a kódminőségi problémák és a Cloud Software Group irányítása alatt álló Xen Projecten kívüli fejlesztések miatt, ami megnehezíti a csomagolást és a közösségi befolyást a fejlesztésre. Az eszközkészlet új verzióját (xen-guest-agent) a tervek szerint teljesen a semmiből készítik el, a lehető legegyszerűbbé téve, és elválasztják az ügynöklogikát a könyvtáraktól. Úgy döntöttek, hogy átdolgozzák a metrikagyűjtés háttérfolyamatát (rrdd), mivel az kompakt és különálló, ami megkönnyíti a kísérletezést egy új nyelv használatával a fejlesztés során.

Jövőre valószínűleg elkezdődik a Rustban a xenopsd-ng komponens fejlesztése, amely lehetővé teszi a szoftververem architektúrájának optimalizálását. A fő ötlet az, hogy az alacsony szintű API-val végzett munkát egyetlen komponensben koncentráljuk, és ezen keresztül szervezzük meg az összes magas szintű API biztosítását a verem többi részére.

Jelenlegi Xen verem architektúra:

Xen Hypervisor Toolkit Rework Initiative in Rust

A xenopsd-ng alapján javasolt Xen verem architektúra:

Xen Hypervisor Toolkit Rework Initiative in Rust


Forrás: opennet.ru

Hozzászólás