Inisiatief om die Xen-hipervisor-gereedskapstel in Rust te herwerk

Die ontwikkelaars van die XCP-ng-platform, wat onder die vlerk van die Xen-projek ontwikkel is, het 'n plan gepubliseer om 'n plaasvervanger vir verskeie komponente van die Xen-sagtewarestapel in die Rust-taal te skep. Daar is geen planne om die Xen-hypervisor self te herwerk nie; werk is hoofsaaklik daarop gefokus om individuele komponente van die gereedskapstel te herwerk.

Die platform gebruik tans C-, Python-, OCaml- en Go-komponente, waarvan sommige verouderd is en instandhoudingsuitdagings inhou. Daar word kennis geneem dat die gebruik van Rust nie sal lei tot 'n algehele toename in die aantal tale wat betrokke is nie, aangesien slegs een komponent in Go geïmplementeer word, wat beplan word om eers vervang te word.

Rust is gekies as 'n taal wat hoëwerkverrigtingkode met geheue-veilige vermoëns kombineer, nie 'n vullisverwyderaar benodig nie, geskik is vir die ontwikkeling van beide laevlak- en hoëvlakkomponente, en bykomende kenmerke bied om potensiële foute te verminder, soos 'n leen checker. ). Roes is ook meer wydverspreid as die OCaml-taal wat tans in XAPI gebruik word, wat dit makliker sal maak om nuwe ontwikkelaars na die projek te lok.

Die eerste fase sal wees om vervangings vir verskeie komponente te ontwikkel om prosesse te toets en die basis voor te berei vir die vervanging van ander dele van die sagtewarestapel. In die besonder, eerstens, sal die Linux-gasnutsmiddels, waarvoor die Go-taal tans gebruik word, en die agtergrondproses vir die insameling van metrieke, geskryf in OCaml, in Rust herskryf word.

Die behoefte om Linux-gastenutsmiddels (xe-guest-utilities) te herwerk word veroorsaak deur probleme met kodekwaliteit en ontwikkeling buite die Xen-projek onder beheer van die Wolksagtewaregroep, wat dit moeilik maak om pakkette te verpak en gemeenskapsinvloed op ontwikkeling. Hulle beplan om 'n nuwe weergawe van die gereedskapstel (xen-gas-agent) heeltemal van nuuts af te skep, wat dit so eenvoudig moontlik maak en die agentlogika van die biblioteke skei. Daar is besluit om die agtergrondproses vir die insameling van metrieke (rrdd) te herwerk aangesien dit kompak en apart is, wat eksperimente met die gebruik van 'n nuwe taal tydens ontwikkeling vergemaklik.

Volgende jaar kan werk begin aan die ontwikkeling van die xenopsd-ng-komponent in Rust, wat die argitektuur van die sagtewarestapel sal optimaliseer. Die hoofgedagte is om werk met laevlak-API's in een komponent te konsentreer en daardeur die voorsiening van alle hoëvlak-API's aan ander komponente van die stapel te organiseer.

Huidige Xen-stapel argitektuur:

Inisiatief om die Xen-hipervisor-gereedskapstel in Rust te herwerk

Voorgestelde Xen-stapel-argitektuur gebaseer op xenopsd-ng:

Inisiatief om die Xen-hipervisor-gereedskapstel in Rust te herwerk


Bron: opennet.ru

Voeg 'n opmerking