Iniciato por reverki la ilaron de hiperviziero Xen en Rust

La programistoj de la platformo XCP-ng, evoluigita sub la flugilo de la projekto Xen, publikigis planon krei anstataŭaĵon por diversaj komponentoj de la programaro Xen en la Rust-lingvo. Ne estas planoj reverki la Xen-hipervizion mem; laboro estas koncentrita ĉefe pri reverkado de individuaj komponantoj de la ilaro.

La platformo nuntempe uzas komponantojn C, Python, OCaml kaj Go, iuj el kiuj estas malmodernaj kaj prezentas prizorgajn defiojn. Oni rimarkas, ke la uzo de Rust ne kondukos al totala pliigo de la nombro de implikitaj lingvoj, ĉar nur unu komponanto estas efektivigita en Go, kiu estas planita esti anstataŭigita unue.

Rusto estis elektita kiel lingvo, kiu kombinas altan rendimentan kodon kun memor-sekuraj kapabloj, ne postulas rubkolektilon, taŭgas por disvolvi kaj malaltnivelajn kaj altnivelajn komponentojn, kaj disponigas kromajn funkciojn por redukti eblajn erarojn, kiel ekzemple pruntkontrolilo. ). Rusto ankaŭ estas pli disvastigita ol la lingvo OCaml nuntempe uzata en XAPI, kio faciligos altiri novajn programistojn al la projekto.

La unua fazo estos evoluigi anstataŭaĵojn por pluraj komponantoj por testi procezojn kaj prepari la bazon por anstataŭigo de aliaj partoj de la programaro. Precipe, antaŭ ĉio, la Linukso-gastaj iloj, por kiuj la lingvo Go estas nuntempe uzata, kaj la fona procezo por kolekti metrikojn, skribitajn en OCaml, estos reverkitaj en Rust.

La bezono reverki Linuksajn gastajn ilojn (xe-guest-utilities) estas kaŭzita de problemoj kun kodkvalito kaj evoluo ekster la Xen-Projekto sub la kontrolo de la Nuba Programaro-Grupo, kio malfaciligas paki pakaĵojn kaj komunuman influon sur evoluo. Ili planas krei novan version de la ilaro (xen-gasto-agento) tute de nulo, farante ĝin kiel eble plej simpla kaj apartigante la agentlogikon de la bibliotekoj. Estis decidite reverki la fonan procezon por kolektado de metrikoj (rrdd) ĉar ĝi estas kompakta kaj aparta, kio simpligas eksperimentojn pri uzado de nova lingvo dum evoluo.

Venontjare, laboro povas komenci pri la evoluo de la xenopsd-ng-komponento en Rust, kiu optimumigos la arkitekturon de la programaro. La ĉefa ideo estas koncentri laboron kun malaltnivelaj API-oj en unu komponento kaj organizi la provizon de ĉiuj altnivelaj API-oj al aliaj komponentoj de la stako per ĝi.

Nuna Xen-stako-arkitekturo:

Iniciato por reverki la ilaron de hiperviziero Xen en Rust

Proponita Xen-stako-arkitekturo bazita sur xenopsd-ng:

Iniciato por reverki la ilaron de hiperviziero Xen en Rust


fonto: opennet.ru

Aldoni komenton