Xen Hypervisor Toolkit Rework Initiative in Rust

Vývojári platformy XCP-ng, vyvinutej pod krídlami projektu Xen, zverejnili plán vytvorenia náhrady rôznych komponentov softvérového stacku Xen v jazyku Rust. Prepracovanie samotného hypervízora Xen sa neplánuje, práce sú zamerané najmä na prepracovanie jednotlivých komponentov toolkitu.

Platforma v súčasnosti používa komponenty C, Python, OCaml a Go, z ktorých niektoré sú zastarané a predstavujú problémy s údržbou. Poznamenávame, že použitie Rustu nepovedie k celkovému zvýšeniu počtu zapojených jazykov, pretože v Go je implementovaný iba jeden komponent, ktorý sa plánuje nahradiť ako prvý.

Rust bol vybraný ako jazyk, ktorý kombinuje vysokovýkonný kód s pamäťovo bezpečnými schopnosťami, nevyžaduje zberač odpadu, je vhodný na vývoj nízkoúrovňových aj vysokoúrovňových komponentov a poskytuje ďalšie funkcie na zníženie potenciálnych chýb, ako napr. požičiavateľ. ). Rust je tiež rozšírenejší ako jazyk OCaml, ktorý sa v súčasnosti používa v XAPI, čo uľahčí prilákanie nových vývojárov do projektu.

V prvej fáze sa plánuje vývoj náhrad pre niekoľko komponentov s cieľom spresniť procesy a pripraviť základ pre nahradenie ďalších častí softvérového balíka. Konkrétne bude najprv v Ruste prepísaný reťazec nástrojov. Linux hosťovské nástroje, ktoré momentálne používajú jazyk Go, a proces na pozadí pre zhromažďovanie metrík, napísaný v OCaml.

Potreba recyklácie Linux Hosťovské nástroje (xe-guest-utilities) sa vyvíjajú mimo projektu Xen, ktorý je pod kontrolou skupiny Cloud Software Group, kvôli problémom s kvalitou kódu a výzvam pri vývoji. Nová verzia nástrojov (xen-guest-agent) sa plánuje vytvoriť úplne od základov, pričom sa zachová čo najjednoduchšia práca a logika agenta sa oddelí od knižníc. Proces na pozadí pre zhromažďovanie metrík (rrdd) bol prepracovaný tak, aby bol kompaktný a izolovaný, čo zjednodušuje vývojové experimenty pomocou nového jazyka.

Budúci rok sa môžu začať práce na vývoji komponentu xenopsd-ng v Ruste, ktorý bude optimalizovať architektúru softvérového zásobníka. Hlavnou myšlienkou je sústrediť prácu s nízkoúrovňovými API do jedného komponentu a prostredníctvom neho organizovať poskytovanie všetkých vysokoúrovňových API ostatným komponentom zásobníka.

Aktuálna architektúra zásobníka Xen:

Xen Hypervisor Toolkit Rework Initiative in Rust

Navrhovaná architektúra zásobníka Xen založená na xenopsd-ng:

Xen Hypervisor Toolkit Rework Initiative in Rust


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster