Xen Hypervisor Toolkit Rework Initiative in Rust

I sviluppatori di a piattaforma XCP-ng, sviluppata sottu à l'ala di u prughjettu Xen, anu publicatu un pianu per creà un sustitutu per diversi cumpunenti di a pila di software Xen in a lingua Rust. Ùn ci hè micca previstu di rielaborazione di l'ipervisore Xen stessu; u travagliu hè focu principarmenti nantu à a riformulazione di cumpunenti individuali di u toolkit.

A piattaforma usa attualmente cumpunenti C, Python, OCaml è Go, alcuni di i quali sò obsoleti è ponenu sfide di mantenimentu. Hè nutatu chì l'usu di Rust ùn porta micca à un aumentu generale di u numeru di lingue implicate, postu chì solu un cumpunente hè implementatu in Go, chì hè previstu per esse rimpiazzatu prima.

Rust hè stata scelta cum'è una lingua chì combina un codice d'alta prestazione cù capacità di salvezza di memoria, ùn hà micca bisognu di un cullettore di basura, hè adattatu per u sviluppu di cumpunenti di livellu bassu è d'altu livellu, è furnisce funzioni supplementari per riduce l'errori potenziali, cum'è un verificatore di prestitu.). Rust hè ancu più diffusa da a lingua OCaml attualmente utilizata in XAPI, chì farà più faciule per attruverà novi sviluppatori à u prugettu.

A prima fase serà di sviluppà rimpiazzamenti per parechji cumpunenti per pruvà i prucessi è preparanu a basa per a sostituzione di altre parti di a pila di software. In particulare, prima di tuttu, l'arnesi d'ospiti Linux, per quale a lingua Go hè attualmente aduprata, è u prucessu di fondu per a cullizzioni di metriche, scritti in OCaml, seranu riscritti in Rust.

U bisognu di rilavà l'arnesi d'ospiti di Linux (xe-guest-utilities) hè causatu da prublemi cù a qualità di u codice è u sviluppu fora di u Prughjettu Xen sottu u cuntrollu di u Gruppu di Software Cloud, chì face difficiuli di imballà i pacchetti è l'influenza di a cumunità in u sviluppu. Pensanu à creà una nova versione di u toolkit (xen-guest-agent) cumpletamente da zero, facendu u più simplice pussibule è separà a logica di l'agente da e librerie. Hè statu decisu di ritruvà u prucessu di fondu per a cullizzioni di metriche (rrdd) postu chì hè compactu è separatu, chì simplifica l'esperimenti nantu à l'usu di una nova lingua durante u sviluppu.

L'annu dopu, u travagliu pò principià nantu à u sviluppu di u cumpunente xenopsd-ng in Rust, chì ottimisà l'architettura di a pila di software. L'idea principale hè di cuncentrazione di u travagliu cù l'API di livellu bassu in un cumpunente è urganizà a prestazione di tutte l'API d'altu livellu à l'altri cumpunenti di a pila attraversu.

L'architettura attuale di stack Xen:

Xen Hypervisor Toolkit Rework Initiative in Rust

L'architettura di stack Xen pruposta basata nantu à xenopsd-ng:

Xen Hypervisor Toolkit Rework Initiative in Rust


Source: opennet.ru

Add a comment