Iniciativa për ripunimin e mjetëve për hipervizorin Xen në gjuhën Rust

Zhvilluesit e platformës XCP-ng, e cila po zhvillohet nën ombrellën e projektit Xen, publikuan një plan për të krijuar në gjuhën Rust një zëvendësim të komponentëve të ndryshëm të stack-ut programor të Xen. Deri tani, nuk kanë ndërmend të rikonstruktojnë hipervizorin Xen, punët përqendrohen kryesisht në ristrukturimin e komponentëve individualë të instrumentariumit.

Aktualisht, në platformë përdoren komponentë të shkruar në gjuhët C, Python, OCaml dhe Go, disa nga të cilat janë tejet të vjetra dhe krijojnë probleme në mbështetje. Theksohet se përdorimi i Rust-it nuk do të çojë në një rritje të përgjithshme të numrit të gjuhëve të përdorura, pasi në Go është realizuar vetëm një komponent, i cili planifikohet të zëvendësohet i pari.

Gjuha Rust është zgjedhur si një kombinim i performancës së lartë të kodit rezultues me mundësi për punë të sigurta me memorie, pa nevojën për një mbledhës plehrash, e përshtatshme për zhvillimin si të komponentëve të nivelit të ulët ashtu edhe të atyre të nivelit të lartë, duke ofruar mundësi shtesë për zvogëlimin e gabimeve të mundshme, siç është kontrolli i huazimit të variableve (borrow checker). Rust gjithashtu është më i përhapur se gjuha OCaml që aktualisht përdoret në XAPI, gjë që do ta lehtësojë angazhimin e zhvilluesve të rinj në projekt.

Në fazën e parë planifikohet zhvillimi i një zëvendësimi për disa komponentë, në mënyrë që të përmirësohen proceset dhe të përgatitet baza për zëvendësimin e pjesëve të tjera të stack-ut programor. Në veçanti, së pari instrumentari i Linux guest tools do të rishkruhet në Rust, për të cilin aktualisht përdoret gjuha Go, dhe procesi në sfond për mbledhjen e metrikave, i shkruar në OCaml.

Nevoja për ristrukturimin e Linux guest tools (xe-guest-utilities) është shkaktuar nga problemet me cilësinë e kodit dhe zhvillimin jashtë projektit Xen Project nën kontrollin e Cloud Software Group, gjë që e vështirëson formimin e pakove dhe ndikimin e komunitetit në zhvillim. Një version i ri i instrumentariumit (xen-guest-agent) planifikohet të krijohet plotësisht nga e para, duke e bërë sa më të thjeshtë të jetë e mundur dhe duke ndarë logjikën e agentit nga bibliotekat. Procesi në sfond për mbledhjen e metrikave (rrdd) është vendosur të ristrukturohet pasi është kompakt dhe i veçuar, gjë që e lehtëson kryerjen e eksperimentëve për përdorimin e gjuhës së re gjatë zhvillimit.

Në vitin e ardhshëm pritet të fillojnë punimet për zhvillimin e komponentit xenopsd-ng në Rust, i cili do të mundësojë optimizimin e arhitekturës së grumbullit të softuerit. Ideja kryesore është të përqendrohet në një komponent të vetëm punimi me API-në me nivel të ulët dhe të organizohet ofrimi i të gjitha API-ve me nivel të lartë për komponentët e tjerë të grumbullit.

Arhitektura aktuale e grumbullit Xen:

Iniciativa për ripunimin e mjetëve për hipervizorin Xen në gjuhën Rust

Arhitektura e propozuar e grumbullit Xen mbi bazën e xenopsd-ng:

Iniciativa për ripunimin e mjetëve për hipervizorin Xen në gjuhën Rust


Burimi: opennet.ru
Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster