Llancen una iniciativa per reelaborar Xen Hypervisor a Rust

Xen

Xen és un hipervisor que proporciona aïllament segur, control de recursos, garanties de qualitat de servei i migració de màquines virtuals

Els desenvolupadors de la plataforma XCP-ng, que es desenvolupa sota l'ala del projecte Xen, han publicat un pla per crear un reemplaçament de Rust per diversos components de la pila de programari Xen.

L'hipervisor Xen en si encara no es processarà i el treball se centra principalment en tornar a treballar els components individuals del conjunt d'eines.

La plataforma actualment utilitza components en C, Python, OCaml i Go, alguns dels quals estan desactualitzats i causen problemes de manteniment. S'observa que lús de Rust no conduirà a un augment general en la quantitat d'idiomes involucrats, ja que només s'implementa un component a Go, que es planeja reemplaçar en primer lloc.

Òbviament, no espereu que reescriguem l'hipervisor Xen i tot a Rust com el nostre primer intent. De fet, el nostre objectiu aquí és començar a reemplaçar alguns components més petits al seu voltant, cosa que ens permet «augmentar» el llenguatge en si i pensar com reemplaçar les coses bloc rere bloc, per a tota la plataforma.

Rust es tria com un llenguatge que combina un alt rendiment del codi resultant amb capacitats de memòria segura, no requereix lús dun recol·lector de deixalles, és adequat per desenvolupar components de baix i alt nivell, proporciona característiques addicionals per reduir el potencial errors, com el préstec variable (borrow checker). Rust també està més estès que l'actual llenguatge XAPI OCaml, cosa que facilitarà l'atracció de nous desenvolupadors al projecte.

A la primera etapa, es planeja desenvolupar reemplaçaments per a diversos components con per tal de resoldre els processos i preparar la base per reemplaçar altres parts de la pila de programari. En particular, en primer lloc, les eines de convidat de Linux es reescriuran a Rust, per al qual es fa servir actualment el llenguatge Go, i el procés en segon pla per recopilar mètriques, s'escriurà a OCaml.

Com que Rust és segur i ràpid, què més necessitem? També necessitem un llenguatge de programació que sigui capaç de treballar en diversos nivells (inferior i superior a la pila). Jo no confiaria en Go o Python per fer front a coses de tan baix nivell que podem tenir a XCP-ng, i -de la mateixa manera- tampoc a C per fer coses de més nivell. L'ús de Rust ofereix el potencial d'estar a tot arreu a la pila XCP-ng'.

A més, Rust ja no és un llenguatge de «nínxol». Per exemple, fins i tot si és excel·lent, OCaml (usat en XAPI) no es coneix prou, cosa que redueix les nostres oportunitats de contractar fàcilment persones amb experiència en aquest idioma. Això també redueix la capacitat d'una comunitat de codi obert per obtenir col·laboradors. Creiem que Rust no serà un obstacle per a això (tant per a la contractació com per a les contribucions), probablement fins i tot el contrari: un impulsor per atraure més persones, ja que és una tecnologia «desitjada» .

La necessitat de redissenyar les eines de Linux guest tools (xe-guest-utilities) es deu a problemes de qualitat de codi i desenvolupament fora del Projecte Xen sota el control de Cloud Software Group, cosa que dificulta l'empaquetat i la influència de la comunitat en el desenvolupament. Es planeja crear una nova variant del conjunt d'eines (xen-guest-agent) completament des de zero, mantenint-lo el més simple possible i separant la lògica de l'agent de les biblioteques. Es va decidir tornar a treballar en el procés de fons per recopilar mètriques (rrdd), ja que és compacte i està separat, cosa que facilita experimentar amb l'ús d'un nou llenguatge durant el desenvolupament.

El proper any, probablement es començarà a treballar en el desenvolupament del component xenopsd-ng a Rust, que ens permetrà optimitzar l'arquitectura de la pila de programari. La idea principal és concentrar el treball amb una API de baix nivell en un component i organitzar la provisió de totes les API dalt nivell a la resta de la pila a través d'ell.

Finalment si estàs interessat en poder conèixer més a l'respecte, pots consultar els detalls en el següent enllaç.


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.