Faʻafou ile Intel Cloud Hypervisor 0.3 ma Amazon Firecracker 0.19 hypervisors tusia ile Rust

Intel lomia lomiga fou o le hypervisor Cloud Hypervisor 0.3. O le hypervisor e fausia i luga o vaega
galuega fa'atasi Ele-VMM, lea, e faaopoopo atu i Intel, Alibaba, Amazon, Google ma Red Hat e auai foi. Ua tusia le Rust-VMM i le gagana Rust ma fa'atagaina oe e faia ni fa'atonuga fa'apitoa mo galuega. Cloud Hypervisor o se tasi lea hypervisor e maua ai se mata'itū masini mata'itū maualuga (VMM) o lo'o tamo'e ile pito i luga ole KVM ma fa'amalieina mo galuega fa'aao. Poloketi code avanoa laiseneina i lalo ole Apache 2.0.

O loʻo taulaʻi le Cloud Hypervisor i le faʻaogaina o faʻasalalauga Linux faʻaonaponei e faʻaaoga ai masini faʻapipiʻi virtio. Faatasi ai ma sini autu o loʻo taʻua e: maualuga le tali atu, maualalo le faʻaogaina o le mafaufau, maualuga le faʻatinoga, faʻafaigofie le faʻatulagaina ma le faʻaitiitia o osofaʻiga osofaʻi.

E fa'atumauina le lagolago fa'ata'ita'iga ma fa'atatau i le fa'ata'ita'iga. I le taimi nei na'o le x86_64 faiga e lagolagoina, ae o le AArch64 lagolago ua fuafuaina. Mo faiga fa'apitoa, na'o le 64-bit fausia o Linux o lo'o lagolagoina nei. O le PPU, manatua, PCI ma le NVDIMM o loʻo faʻatulagaina i le tulaga faʻapotopotoga. E mafai ona femalaga'i masini va'aia i le va o 'au'aunaga.

I le lomiga fou:

  • Sa fa'aauau pea galuega ile fa'agaoioi ole I/O fa'aparavirtualized e tu'ueseese faiga. Le mafai ona faʻaoga pito i tua ua faʻaopoopoina e fegalegaleai ma masini poloka vhost-user-blk. O le suiga e mafai ai ona e faʻafesoʻotaʻi poloka poloka e faʻavae i luga o le vhost-user module i Cloud Hypervisor, pei ole SPDK, e fai ma pito i tua mo le teuina o paravirtualized;
  • Lagolago mo le fesiitaiga o fesoʻotaʻiga fesoʻotaʻiga i tua, faʻalauiloaina i le faʻasalalauga mulimuli vhost-user-net, faʻalauteleina ma se backend fou e faʻavae i luga o se avetaʻavale fesoʻotaiga vavave paipa. O le pito i tua o loʻo tusia i le Rust ma o loʻo faʻaaogaina nei i le Cloud Hypervisor e avea ma ata autu o fesoʻotaʻiga para-virtualized;
  • Ina ia faʻateleina le lelei ma le saogalemu o fesoʻotaʻiga i le va o le siʻosiʻomaga talimalo ma le faiga faʻapitoa, o le faʻaogaina o le faʻaogaina o sockets ma le AF_VSOCK addressing (virtual network sockets), galue e ala i virtio, ua faʻatulagaina. O le faʻatinoga e faʻavae i luga o atinaʻe o le poloketi Faifau, atiina ae e Amazon. VSOCK e faʻatagaina oe e faʻaogaina le POSIX Sockets API mo fegalegaleaiga i le va o talosaga i luga o le malo ma le talimalo itu, lea e faigofie ai ona faʻafetaui polokalame fesoʻotaʻiga masani mo ia fegalegaleaiga ma faʻatino le fegalegaleaiga o le tele o polokalama o tagata faʻatau ma le tasi le talosaga server;
  • Tuuina atu le lagolago muamua mo le API pulega e faʻaaoga ai le HTTP protocol. I le lumanaʻi, o lenei API o le a mafai ai ona amata faʻagaioiga asynchronous i luga o faiga faʻapitoa, e pei o punaoa vevela-plugging ma siosiomaga femalagaaʻi;
  • Faʻaopoopoina se laulau faʻatasi ai ma se faʻatinoga o felauaiga e faʻavae i luga o virtio MMIO (Memory mapped virtio), lea e mafai ona faʻaaogaina e fatuina ai faiga faʻapitoa faʻapitoa e le manaʻomia ai le faʻataʻitaʻiina o pasi PCI;
  • I le avea ai o se vaega o le fuafuaga e faʻalauteleina le lagolago mo le faʻaogaina o faiga faʻapitoa faʻapitoa, ua faʻaopoopoina e Cloud Hypervisor le tomai e faʻasalalau atu ai masini IOMMU e ala i virtio, lea e faʻaleleia ai le saogalemu o le faʻaogaina ma tuusaʻo o masini.
  • Tuuina atu le lagolago mo Ubuntu 19.10;
  • Faʻaopoopo le gafatia e faʻatautaia ai faiga faʻapitoa ma sili atu i le 64 GB o le RAM.

E le gata i lea, e mafai ona matauina mataupu fou tuaoi atiina ae mata'itu masini virtual Faifau, tusia foi i Rust, faʻavae i luga o Rust-VMM ma tamoʻe i luga ole KVM. O le mea fa'apipi'i o se tui o le poloketi CrosVM, fa'aaoga e Google e fa'alauiloa ai talosaga Linux и Android i le ChromeOS. O lo'o atia'e le Firecracker e Amazon Web Services e fa'aleleia ai le fa'atinoga ma le lelei o fa'avae AWS Lambda ma AWS Fargate.

O le faʻavae ua mamanuina e faʻatautaia ai masini faʻapitoa e laʻititi laʻititi ma tuʻuina atu meafaigaluega mo le fatuina ma le puleaina o siosiomaga tuʻufua ma auaunaga e fausia e faʻaaoga ai se faʻataʻitaʻiga e leai se server (galuega o se auaunaga). O le Firecracker e ofoina atu masini mama mama, e taʻua o microVMs, o loʻo faʻaogaina masini faʻaogaina tekinolosi e tuʻuina atu ai le faʻaesea atoatoa aʻo tuʻuina atu le faʻatinoga ma le fetuutuunai o pusa masani. Mo se faʻataʻitaʻiga, pe a faʻaaogaina Firecracker, o le taimi mai le taimi e faʻalauiloa ai le microVM i le amataga o le faʻatinoina o le talosaga e le sili atu i le 125ms, lea e mafai ai ona e faʻalauiloa masini fou ma se malosi e oʻo atu i le 150 siosiomaga i le sekone.

O le faʻasalalauga fou o Firecracker e faʻaopoopoina ai se faiga faʻaoga e aunoa ma le faʻalauiloaina o le API faʻatautaia ("—no-api"), faʻatapulaʻaina le siosiomaga i naʻo faʻatonuga faʻamaonia i le faila faʻatulagaina. O le faʻatulagaina faʻamautu e faʻamaonia e ala i le "--config-file" filifiliga ma faʻamatalaina i le JSON format. Mai le faʻatonuga o filifiliga, lagolago mo le "-" separator ua faʻaopoopoina foi, o fuʻa faʻamaonia pe a maeʻa ona pasia i luga o le filifili e aunoa ma se gaioiga.

Amazon, lea e atiina ae Firecracker, foi faasilasila i le tu'uina atu o le lagolago i le au atia'e o le gagana polokalame Rust. O loʻo maitauina o le Rust ua faʻateleina le faʻaaogaina i galuega a le kamupani ma atinaʻe i luga ua uma ona faʻatinoina i auaunaga e pei o Lambda, EC2 ma S3. Ua saunia e Amazon le poloketi Rust ma mea tetele e teu ai faʻasalalauga ma fausia i le S3, faʻataʻitaʻiina suʻega faʻasolosolo i le EC2, ma tausia se docs.rs site ma faʻamaumauga mo afifi uma mai le crates.io repository.

Amazon foi faʻalauiloa le polokalama AWS Promotional Credit, lea e mafai ai e poloketi faʻapitoa ona maua avanoa avanoa i auaunaga AWS e mafai ona faʻaogaina mo le teuina o punaoa, fausiaina, faʻaauau le tuʻufaʻatasia, ma suʻega. Faatasi ai ma poloketi ua uma ona faʻamaonia mo le auai i le polokalame, faʻaopoopo i le Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy ma Julia na matauina. E talia fa'amatalaga mai so'o se galuega fa'alauiloa e tu'uina atu i lalo ole laisene fa'atagaina e le OSI.

puna: opennet.ru

Faaopoopo i ai se faamatalaga