Aloite Xen Hypervisorin uudistamiseksi Rustissa

Xen

Xen on hypervisor, joka tarjoaa turvallisen eristyksen, resurssien hallinnan, palvelun laadun takuut ja virtuaalikoneen siirron.

Los XCP-ng-alustan kehittäjät, joka on kehitetty Xen-projektin siiven alla, ovat julkaisseet suunnitelman Rust-korvikkeen luomiseksi ohjelmistopinon eri osia Xen.

Itse Xen-hypervisor on vielä käsittelemättä ja työ keskittyy pääasiassa työkalusarjan yksittäisten komponenttien uudelleenkäsittelyyn.

Alusta käyttää tällä hetkellä C-, Python-, OCaml- ja Go-komponentteja, Jotkut niistä ovat vanhentuneita ja aiheuttavat ylläpitoongelmia. On havaittu, että ruosteen käyttö ei johda yleiseen kasvuun mukana olevien kielten määrässä, koska Go:ssa on toteutettu vain yksi komponentti, joka on tarkoitus korvata ensiksi.

Älä tietenkään odota meidän kirjoittavan uudelleen Xen-hypervisoria ja kaikkea Rustissa ensimmäisenä yrityksenä. Itse asiassa tavoitteemme tässä on alkaa korvata joitain sen ympärillä olevia pienempiä komponentteja, jolloin voimme "kasvata" itse kieltä ja miettiä, kuinka korvata asiat lohko lohkolta koko alustalle.

Rust on valittu kieleksi, joka yhdistää korkean koodin suorituskyvyn Tuloksena turvalliset muistiominaisuudet, ei vaadi roskakeräimen käyttöä, soveltuu matalan ja korkean tason komponenttien kehittämiseen, tarjoaa lisäominaisuuksia mahdollisten virheiden vähentämiseksi, kuten muuttuva lainaaja (lainatarkistus). Ruoste on myös yleisempää kuin nykyinen XAPI-kieli OCaml, mikä helpottaa uusien kehittäjien houkuttelemista projektiin.

Ensimmäisessä vaiheessa aiotaan kehittää korvaavia eri komponentteja cprosessien ratkaisemiseksi ja pohjan valmistelemiseksi korvaamaan muut ohjelmistopinon osat. Erityisesti ensinnäkin Linuxin vierastyökalut kirjoitetaan uudelleen Rustilla, johon tällä hetkellä käytetään Go-kieltä, ja mittareiden keräämisen taustaprosessi kirjoitetaan OCamlilla.

Koska Rust on turvallinen ja nopea, mitä muuta tarvitsemme? Tarvitsemme myös ohjelmointikielen, joka pystyy toimimaan eri tasoilla (pinon ala- ja yläosassa). En luottaisi Goon tai Pythoniin käsittelemään niin matalan tason asioita, joita meillä voi olla XCP-ng:ssä, enkä myöskään C:een korkeamman tason asioita. Ruosteen käyttö tarjoaa mahdollisuuden olla en todas partes XCP-ng-pinossa'.

Lisäksi ruoste ei ole enää "niche"-kieli. Esimerkiksi vaikka se olisi hienoa, OCaml (käytetään XAPI:ssa) ei ole hyvin tunnettu, mikä vähentää mahdollisuuksiamme palkata helposti ihmisiä, joilla on kokemusta tällä kielellä. Tämä heikentää myös avoimen lähdekoodin yhteisön kykyä hankkia avustajia. Uskomme, että ruoste ei ole este sille (sekä palkkaamiseen että maksuihin), luultavasti jopa päinvastoin: kuljettaja houkuttelemaan lisää ihmisiä, koska se on "haluttu" tekniikka.

Uudelleensuunnittelun tarve työkalut Linuxin vierastyökalut (xe-guest-utilities) johtuu Xen-projektin ulkopuolisista kehitys- ja koodinlaatuongelmista Cloud Software Groupin hallinnassa, mikä vaikeuttaa pakkaamista ja yhteisön vaikuttamista kehitykseen. Työkalujoukosta on tarkoitus luoda uusi variantti ( xen-guest-agent ) kokonaan tyhjästä pitäen se mahdollisimman yksinkertaisena ja erottaen agenttilogiikka kirjastoista. Päätimme muokata mittareiden keräämisen taustaprosessia ( rrdd ), koska se on kompakti ja erillinen, joten uuden kielen käyttöä on helppo kokeilla kehityksen aikana.

Kehitystyö alkaa todennäköisesti ensi vuonna xenopsd-ng-komponentin Rustissa, jonka avulla voimme optimoida ohjelmistopinon arkkitehtuurin. Pääideana on keskittää työ matalan tason API:lla yhteen komponenttiin ja organisoida sen kautta kaikkien korkean tason API:iden toimittaminen muulle pinolle.

Lopuksi, jos haluat tietää enemmän siitä, voit tutustua yksityiskohtiin Seuraavassa linkissä.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.