Iniciativa e ripërpunimit të veglave të Xen Hypervisor në Rust

Zhvilluesit e platformës XCP-ng, të zhvilluar nën krahun e projektit Xen, kanë publikuar një plan për të krijuar një zëvendësim për komponentë të ndryshëm të pirgut të softuerit Xen në gjuhën Rust. Nuk ka plane për të ripunuar vetë hipervisorin Xen; puna është e përqendruar kryesisht në ripërpunimin e komponentëve individualë të paketës së veglave.

Platforma aktualisht përdor komponentët C, Python, OCaml dhe Go, disa prej të cilëve janë të vjetëruar dhe paraqesin sfida mirëmbajtjeje. Vihet re se përdorimi i Rust nuk do të çojë në një rritje të përgjithshme të numrit të gjuhëve të përfshira, pasi vetëm një komponent zbatohet në Go, i cili është planifikuar të zëvendësohet së pari.

Rust u zgjodh si një gjuhë që kombinon kodin e performancës së lartë me aftësitë e sigurta për kujtesën, nuk kërkon një grumbullues mbeturinash, është i përshtatshëm për zhvillimin e komponentëve të nivelit të ulët dhe të lartë dhe ofron veçori shtesë për të reduktuar gabimet e mundshme, si p.sh. kontrollues hua. ). Rust është gjithashtu më i përhapur se gjuha OCaml e përdorur aktualisht në XAPI, gjë që do ta bëjë më të lehtë tërheqjen e zhvilluesve të rinj në projekt.

Faza e parë do të jetë zhvillimi i zëvendësimeve për disa komponentë për të testuar proceset dhe për të përgatitur bazën për zëvendësimin e pjesëve të tjera të grumbullit të softuerit. Në veçanti, para së gjithash, mjetet e vizitorëve të Linux, për të cilat aktualisht përdoret gjuha Go, dhe procesi i sfondit për mbledhjen e metrikës, i shkruar në OCaml, do të rishkruhen në Rust.

Nevoja për të ripunuar veglat e vizitorëve të Linux (xe-guest-utilities) shkaktohet nga problemet me cilësinë e kodit dhe zhvillimin jashtë Projektit Xen nën kontrollin e Grupit të Softuerit Cloud, gjë që e bën të vështirë paketimin e paketave dhe ndikimin e komunitetit në zhvillim. Ata planifikojnë të krijojnë një version të ri të paketës së veglave (xen-guest-agent) krejtësisht nga e para, duke e bërë atë sa më të thjeshtë dhe duke ndarë logjikën e agjentit nga bibliotekat. U vendos që të ripunohet procesi i sfondit për mbledhjen e metrikave (rrdd) pasi ai është kompakt dhe i veçantë, gjë që thjeshton eksperimentet në përdorimin e një gjuhe të re gjatë zhvillimit.

Vitin e ardhshëm, mund të fillojë puna për zhvillimin e komponentit xenopsd-ng në Rust, i cili do të optimizojë arkitekturën e pirgut të softuerit. Ideja kryesore është që të përqendrohet puna me API-të e nivelit të ulët në një komponent dhe të organizohet ofrimi i të gjitha API-ve të nivelit të lartë për komponentët e tjerë të stackit përmes tij.

Arkitektura aktuale e rafte Xen:

Iniciativa e ripërpunimit të veglave të Xen Hypervisor në Rust

Arkitektura e propozuar e stivit Xen bazuar në xenopsd-ng:

Iniciativa e ripërpunimit të veglave të Xen Hypervisor në Rust


Burimi: opennet.ru

Shto një koment