Nûvekirina Intel Cloud Hypervisor 0.3 û Amazon Firecracker 0.19 hypervisorên ku bi Rust hatine nivîsandin

Intel weşandin guhertoya nû ya hypervisor Cloud Hypervisor 0.3. Hîpervisor li ser pêkhateyan hatiye avakirin
projeya hevbeş Rust-VMM, ku ji bilî Intel, Alibaba, Amazon, Google û Red Hat jî beşdar dibin. Rust-VMM bi zimanê Rust hatî nivîsandin û dihêle hûn hîpervisorên taybetî yên peywirê biafirînin. Cloud Hypervisor yek hîpervisorek wusa ye ku çavdêriya makîneya virtual ya astek bilind (VMM) peyda dike ku li ser KVM-ê dimeşîne û ji bo karên xwemalî cloud-ê xweşbînkirî peyda dike. Koda projeyê berdeste lîsansa di bin Apache 2.0.

Cloud Hypervisor balê dikişîne ser meşandina belavkirinên nûjen ên Linux-ê ku bi karanîna amûrên paravirtualized-based virtio-yê bikar tîne. Di nav armancên sereke yên ku hatine destnîşan kirin de ev in: bersivdana bilind, vexwarina bîranînê ya kêm, performansa bilind, veavakirina hêsan û kêmkirina vektorên êrîşê yên gengaz.

Piştgiriya emûlasyonê herî kêm tête girtin û balê li ser paravirtualîzasyonê ye. Heya niha tenê pergalên x86_64 têne piştgirî kirin, lê piştgiriya AArch64 tête plan kirin. Ji bo pergalên mêvan, tenê avahiyên 64-bit ên Linux-ê niha têne piştgirî kirin. CPU, bîranîn, PCI û NVDIMM di qonaxa kombûnê de têne mîheng kirin. Mimkûn e ku meriv makîneyên virtual di navbera serveran de koç bike.

Di guhertoya nû de:

  • Xebat li ser veguheztina I/O ya paravirtualîzekirî ji bo pêvajoyên veqetandî berdewam kir. Kapasîteya karanîna paşnavan hate zêdekirin da ku bi amûrên blokê re têkilî daynin vhost-user-blk. Guhertin dihêle hûn amûrên blokê yên li ser bingeha modula vhost-bikarhêner bi Cloud Hypervisor ve girêdin, wek mînak SPDK, wekî paşnavên ji bo hilanîna paravirtualized;
  • Piştgiriya ji bo veguheztina operasyonên torê ber bi paşîn ve, ku di berdana paşîn de hatî destnîşan kirin vhost-bikarhêner-net, bi paşnavek nû ya li ser bingeha ajokerek torê ya virtual ve hatî berfireh kirin DÎK. Paşnav bi Rust hatî nivîsandin û naha di Cloud Hypervisor de wekî mîmariya torê ya para-virtualkirî ya sereke tê bikar anîn;
  • Ji bo zêdekirina karîgerî û ewlehiya ragihandinê di navbera hawîrdora mêvandar û pergala mêvan de, pêkanîna hîbrîd a soketan bi navnîşana AF_VSOCK (pêlên torê yên virtual), ku bi virtio ve dixebitin, tê pêşniyar kirin. Pêkanîn li gorî pêşveçûnên projeyê ye firecracker, ji hêla Amazon ve hatî pêşve xistin. VSOCK destûrê dide te ku hûn API-ya standard POSIX Sockets bikar bînin ji bo danûstendina di navbera serîlêdanên li aliyên mêvan û mêvandar de, ku ji bo danûstendinek weha veguheztina bernameyên torê yên normal hêsan dike û pêwendiya çend bernameyên xerîdar bi yek serîlêdana serverê re bicîh tîne;
  • Piştgiriya destpêkê ji bo rêveberiya API-ê bi karanîna protokola HTTP peyda kir. Di pêşerojê de, ev API dê gengaz bike ku li ser pergalên mêvanan operasyonên asynchronous bide destpêkirin, wek çavkaniyên germ-girêdan û hawîrdorên koçber;
  • Qatek bi pêkanîna veguheztinê li ser bingeha virtio MMIO (Virtio ya nexşeya bîranînê) lê zêde kir, ku dikare were bikar anîn da ku pergalên mêvanên mînîmalîst ên ku hewcedarê emûlasyona otobusê PCI ne biafirîne;
  • Wekî beşek ji înîsiyatîfê ji bo berfirehkirina piştgiriyê ji bo xebitandina pergalên mêvanên hêlîn, Cloud Hypervisor şiyana şandina cîhazên IOMMU paravirtualîzekirî bi navgîniya virtio zêde kiriye, ku ewlehiya şandina hêlîn û rasterast a cîhazan baştir dike.
  • Ji bo Ubuntu 19.10 piştgirî peyda kir;
  • Kapasîteya xebitandina pergalên mêvan bi zêdetirî 64 GB RAM zêde kir.

Wekî din, ew dikare were destnîşan kirin serbestberdana nû berde pêşxistin çavdêriya makîneya virtual firecracker, di Rust de jî hatî nivîsandin, li ser bingeha Rust-VMM û li ser KVM-ê dimeşe. Firecracker pişkek projeyê ye CrosVM, ji hêla Google ve ji bo destpêkirina sepanan tê bikar anîn Linux и Android di ChromeOS de. Firecracker ji hêla Karûbarên Webê yên Amazon ve hatî pêşve xistin da ku performans û karbidestiya platformên AWS Lambda û AWS Fargate baştir bike.

Platform ji bo xebitandina makîneyên virtual bi sermaya hindiktirîn ve hatî sêwirandin û ji bo afirandina û rêvebirina jîngeh û karûbarên veqetandî yên ku bi karanîna modela pêşkeftina bê server hatine çêkirin (fonksiyona wekî karûbar) hatine çêkirin, peyda dike. Firecracker makîneyên virtual sivik, bi navê microVM, pêşkêşî dike, ku teknolojiyên virtualîzasyona hardware bikar tînin da ku îzolasyonek bêkêmasî peyda bikin di heman demê de ku performans û nermbûna konteynerên kevneşopî peyda dikin. Mînakî, dema ku Firecracker bikar tîne, wextê ji gava ku microVM tê destpêkirin heya destpêkirina pêkanîna serîlêdanê ji 125ms derbas nabe, ku dihêle hûn makîneyên nû yên virtual bi tundî heya 150 hawîrdoran di çirkeyê de bidin destpêkirin.

Daxuyaniya nû ya Firecracker bêyî destpêkirina rêvebirê API-yê ("-no-api") modek xebitandinê zêde dike, jîngehê tenê bi mîhengên ku di pelê vesazkirinê de bi kod-kodkirî têne sînor kirin. Veavakirina statîk bi vebijarka "--config-file" ve tête diyar kirin û di forma JSON de tête diyar kirin. Ji vebijarkên rêza fermanê, piştgirî ji bo veqetandina "-" jî hatiye zêdekirin, alayên ku piştî wan hatine destnîşan kirin bêyî pêvajoyê li ser zincîrê têne derbas kirin.

Amazon, ku Firecracker pêşve dike, jî ragihand li ser peydakirina sponsorgeriyê ji pêşdebirên zimanê bernameya Rust re. Tê destnîşan kirin ku Rust di projeyên pargîdaniyê de zêde tê bikar anîn û pêşkeftinên li ser wê berê di karûbarên wekî Lambda, EC2 û S3 de hatine bicîh kirin. Amazon projeya Rust bi binesaziyê peyda kiriye da ku serbestberdan û çêkirinên li S3 hilîne, ceribandinên regresyonê di EC2 de bimeşîne, û malperek docs.rs bi belgeyên ji bo hemî pakêtan ji depoya crates.io biparêze.

Amazon jî danasîn bername Krediya Pêşveçûn a AWS, ku projeyên çavkaniya vekirî dikarin belaş gihîştina karûbarên AWS-ê yên ku dikarin ji bo hilanîna çavkaniyê, avakirin, yekbûna domdar, û ceribandinê bikar bînin, bistînin. Di nav projeyên ku berê ji bo tevlêbûna bernameyê hatine pejirandin, ji bilî Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy û Julia hatine destnîşan kirin. Serlêdan ji her projeya çavkaniya vekirî ya ku di bin lîsansên pejirandî yên OSI de hatî radest kirin têne pejirandin.

Source: opennet.ru

Add a comment