Rust ішіндегі Xen гипервизорының құралдар жинағын қайта өңдеу бастамасы

Xen жобасының қанатының астында әзірленген XCP-ng платформасын әзірлеушілер Rust тілінде Xen бағдарламалық стекінің әртүрлі құрамдас бөліктерін ауыстыру жоспарын жариялады. Xen гипервизорының өзін қайта өңдеу жоспарлары жоқ; жұмыс негізінен құралдар жинағының жеке компоненттерін қайта өңдеуге бағытталған.

Қазіргі уақытта платформа C, Python, OCaml және Go компоненттерін пайдаланады, олардың кейбіреулері ескірген және техникалық қызмет көрсетуде қиындықтар туғызады. Rust-ті пайдалану қолданылатын тілдер санының жалпы өсуіне әкелмейтіні атап өтіледі, өйткені Go-да тек бір компонент енгізілген, оны алдымен ауыстыру жоспарланған.

Rust жоғары өнімділік кодын жадқа қауіпсіз мүмкіндіктермен біріктіретін, қоқыс жинағышты қажет етпейтін, төмен деңгейлі және жоғары деңгейлі құрамдастарды әзірлеуге жарамды және ықтимал қателерді азайту үшін қосымша мүмкіндіктерді қамтамасыз ететін тіл ретінде таңдалды. тексерушіні қарызға алу.). Rust қазіргі уақытта XAPI-де қолданылатын OCaml тіліне қарағанда кең таралған, бұл жобаға жаңа әзірлеушілерді тартуды жеңілдетеді.

Бірінші кезең процестерді сынау және бағдарламалық стектің басқа бөліктерін ауыстыру үшін негіз дайындау үшін бірнеше құрамдастарды ауыстыруды әзірлеу болады. Атап айтқанда, ең алдымен, қазір Go тілі қолданылатын Linux қонақ құралдары және OCaml тілінде жазылған метриканы жинауға арналған фондық процесс Rust бағдарламасында қайта жазылады.

Linux қонақ құралдарын (xe-guest-utilities) қайта өңдеу қажеттілігі бұлтты бағдарламалық қамтамасыз ету тобының бақылауындағы Xen жобасынан тыс код сапасы мен әзірлеуге қатысты мәселелерден туындайды, бұл пакеттерді пакеттеуді және дамуға қауымдастықтың әсерін қиындатады. Олар құралдар жинағының (xen-guest-agent) жаңа нұсқасын толығымен нөлден жасауды жоспарлап отыр, оны мүмкіндігінше қарапайым етіп, агент логикасын кітапханалардан бөледі. Метрикаларды (rrdd) жинауға арналған фондық процесті қайта өңдеу туралы шешім қабылданды, өйткені ол ықшам және бөлек, бұл әзірлеу кезінде жаңа тілді пайдалану эксперименттерін жеңілдетеді.

Келесі жылы Rust-та xenopsd-ng компонентін әзірлеу бойынша жұмыс басталуы мүмкін, ол бағдарламалық жасақтама стекінің архитектурасын оңтайландырады. Негізгі идея - төменгі деңгейлі API интерфейстерімен жұмысты бір құрамдас бөлікке шоғырландыру және ол арқылы стектің басқа компоненттеріне барлық жоғары деңгейлі API интерфейстерін қамтамасыз етуді ұйымдастыру.

Ағымдағы Xen стек архитектурасы:

Rust ішіндегі Xen гипервизорының құралдар жинағын қайта өңдеу бастамасы

xenopsd-ng негізіндегі ұсынылған Xen стек архитектурасы:

Rust ішіндегі Xen гипервизорының құралдар жинағын қайта өңдеу бастамасы


Ақпарат көзі: opennet.ru

пікір қалдыру