Xeni hüperviisori tööriistade ümberehitamise algatus Rusti keeles

XCP-ng platvormi arendajad, kes töötavad Xen projekti all, on avaldanud plaani luua Rusti keeles asendusi erinevatele Xen tarkvarakihi komponentidele. Praegusel hetkel ei kavatse nad Xen hüperviisorit ümber teha, kuna töö keskendub peamiselt üksikute tööriistade komponentide ümberkirjutamisele.

Praegu kasutab platvorm komponente keeltes C, Python, OCaml ja Go, millest mõned on vananenud ja tekitavad hooldamisel probleeme. On märgitud, et Rusti rakendamine ei suurenda keelte arvu, kuna Go-s on realiseeritud ainult üks komponent, mille asendamine on plaanis esimesena.

Rust keel on valitud, kuna see ühendab kõrge jõudluse genereeritud koodi ja turvalise mälu haldamise võimalused, ilma et oleks vaja prügikoristajat. See sobib nii madala kui ka kõrge taseme komponentide arendamiseks ning pakub täiendavaid võimalusi potentsiaalsete vigade vähendamiseks, nagu näiteks muutujate laenamise kontroll (borrow checker). Rust on ka laiemalt levinud kui praegu XAPI-s kasutatav OCaml keel, mis lihtsustab uute arendajate kaasamist projekti.

Esimeses etapis on plaanis välja töötada asendused mitmele komponendile, et katsetada protsesse ja valmistada ette alus teiste tarkvarakihi osade asendamiseks. Eelkõige kirjutatakse Rusti keeles ümber Linuxi külalisriistade tööriistakomplekt, mille jaoks praegu kasutatakse Go keelt, ja taustaprotsess metrikate kogumiseks, mis on kirjutatud OCaml keeles.

Linuxi külalisriistade (xe-guest-utilities) ümberkirjutamise vajadus tuleneb koodikvaliteedi probleemidest ja arengust, mis toimub väljaspool Xen projekti Cloud Software Groupi kontrolli all, mis tõkestab pakettide loomist ja kogukonna mõju arendusele. Uut tööriistakomplekti (xen-guest-agent) plaanitakse luua täiesti nullist, tehes selle võimalikult lihtsaks ja eraldades agendi loogika teekidest. Metrikate kogumise taustaprotsessi (rrdd) on otsustatud ümber kirjutada, kuna see on kompaktne ja eraldiseisev, mis lihtsustab katsetusi uue keele kasutamisega arenduses.

Järgmise aasta jooksul on võimalik alustada xenopsd-ng komponendi arendamist Rusti keeles, mis võimaldab optimeerida tarkvarakihi arhitektuuri. Peamine idee on koondada kõigi madala taseme API-de kasutamine ühte komponenti ja korraldada selle kaudu kõigi kõrge taseme API-de pakkumine ülejäänud tarkvarakihtidele.

Praegune Xen'i tarkvarakihti arhitektuur:

Xeni hüperviisori tööriistade ümberehitamise algatus Rusti keeles

Pakkutud Xen'i tarkvarakihti arhitektuur xenopsd-ng põhjal:

Xeni hüperviisori tööriistade ümberehitamise algatus Rusti keeles


Allikas: opennet.ru
Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster