Whakahou mo Intel Cloud Hypervisor 0.3 me Amazon Firecracker 0.19 kua tuhia ki Rust

Intel whakaputaina putanga hou o te hypervisor Cloud Hypervisor 0.3. Ka hangaia te hypervisor i runga i nga waahanga
kaupapa tahi Waiwai-VMM, i roto i nei, i tua atu ki Intel, Alibaba, Amazon, Google me Red Hat hoki whai wāhi. Kua tuhia te Rust-VMM ki te reo Rust ka taea e koe te hanga i nga kaitirotiro mahi motuhake. Ko te Cloud Hypervisor tetahi o nga kaitorotoro e whakarato ana i te kaitirotiro miihini mariko taumata-tiketike (VMM) e rere ana i runga ake o KVM me te arotau mo nga mahi-kapua. Waehere kaupapa waatea kua raihanatia i raro i te Apache 2.0.

Ko te Cloud Hypervisor e arotahi ana ki te whakahaere i nga tohatoha Linux hou ma te whakamahi i nga taputapu paravirtualized-virtio. I roto i nga kaupapa matua kua whakahuahia ko: te whakautu nui, te iti o te kohi mahara, te mahi nui, te whirihoranga ngawari me te whakaheke i nga vectors whakaeke ka taea.

He iti noa te tautoko o te tauira me te arotahi ki te paravirtualization. I tenei wa ko nga punaha x86_64 anake e tautokohia ana, engari kua whakamaheretia te tautoko AArch64. Mo nga punaha manuhiri, ko te hanga 64-bit anake o Linux e tautokohia ana i tenei wa. Ko te PTM, te mahara, te PCI me te NVDIMM kua whirihorahia i te waahi huihuinga. Ka taea te heke mihini mariko i waenga i nga kaitoro.

I roto i te putanga hou:

  • I haere tonu te mahi ki te neke I/O paravirtualized ki te wehe i nga tukanga. Ko te kaha ki te whakamahi i nga tuara kua taapirihia ki te taunekeneke me nga taputapu poraka vhost-kaiwhakamahi-blk. Ko te huringa ka taea e koe te hono i nga taputapu poraka i runga i te waahanga vhost-kaiwhakamahi ki Cloud Hypervisor, penei SPDK, hei tuara mo te rokiroki paravirtualized;
  • Tautoko mo te neke i nga mahi whatunga ki nga tuara, i whakauruhia i te tukunga whakamutunga vhost-kaiwhakamahi-kupenga, i whakawhänuihia me te tuara hou i runga i te taraiwa whatunga mariko TAP. Kua tuhia te tuara ki Rust ka whakamahia inaianei ki Cloud Hypervisor hei hoahoanga whatunga para-virtualized matua;
  • Hei whakanui ake i te pai me te haumarutanga o nga whakawhitiwhitinga korero i waenga i te taiao manaaki me te punaha manuhiri, ka whakaarohia he whakatinanatanga ranu o nga turanga me te AF_VSOCK korero (turanga whatunga mariko), e mahi ana i roto i te virtio. Ko te whakatinanatanga i runga i nga whanaketanga o te kaupapa Te Kaipahou ahi, i whakawhanakehia e Amazon. Ma te VSOCK ka taea e koe te whakamahi i te POSIX Sockets API mo te taunekeneke i waenga i nga tono i runga i te manuhiri me nga taha manaaki, he mea ngawari ki te urutau i nga kaupapa whatunga noa mo taua taunekeneke me te whakatinana i te taunekeneke o te maha o nga kaupapa kiritaki me te tono tūmau kotahi;
  • He tautoko tuatahi mo te API whakahaere ma te whakamahi i te kawa HTTP. I te wa kei te heke mai, ka taea e tenei API te timata i nga mahi tukutahi i runga i nga punaha manuhiri, penei i nga rauemi wera-wera me nga taiao heke;
  • Kua taapirihia he paparanga me te whakatinanatanga waka i runga i te virtio MMIO (Memory mapped virtio), ka taea te whakamahi ki te hanga i nga punaha manuhiri iti e kore e hiahiatia te peehi pahi PCI;
  • Hei waahanga o te kaupapa ki te whakawhānui ake i te tautoko mo te whakahaere i nga punaha manuhiri kohanga, kua taapirihia e Cloud Hypervisor te kaha ki te tuku i nga taputapu IOMMU paravirtualized na roto i te virtio, e whakapai ake ana i te haumarutanga o te kohanga me te tuku whakamua tika o nga taputapu.
  • He tautoko mo te Ubuntu 19.10;
  • Kua taapirihia te kaha ki te whakahaere i nga punaha manuhiri neke atu i te 64 GB o RAM.

I tua atu, ka taea te tohu putanga hou pātata whakawhanakehia aroturuki miihini mariko Te Kaipahou ahi, i tuhia ano ki te Rust, i runga i te Rust-VMM me te rere ki runga o KVM. Ko te patu ahi he marau o te kaupapa CrosVM, whakamahia e Google ki te whakarewa tono Linux и Android i roto i te ChromeOS. Kei te whakawhanakehia te Firecracker e Amazon Web Services hei whakapai ake i te mahi me te pai o nga papaahi AWS Lambda me AWS Fargate.

I hoahoatia te papaaho ki te whakahaere i nga miihini mariko me te iti o runga ake me te whakarato taputapu mo te hanga me te whakahaere i nga taiao taratahi me nga ratonga i hangaia ma te whakamahi i te tauira whanaketanga kore-tumau (mahi hei ratonga). Ka tuku a Firecracker i nga mihini mariko mama, e kiia nei ko te microVMs, e whakamahi ana i nga hangarau mariko mariko hei whakarato i te tino wehe i te wa e tuku ana i nga mahi me te ngawari o nga ipu tuku iho. Hei tauira, i te wa e whakamahi ana i te Firecracker, ko te wa mai i te wa i whakarewahia ai te microVM ki te timatanga o te whakatinanatanga tono kaore e neke ake i te 125ms, ka taea e koe te whakarewa i nga miihini mariko hou me te kaha ki te 150 nga taiao mo ia hekona.

Ko te tukunga hou o Firecracker he taapiri i te aratau mahi me te kore e whakarewahia te kaihautu API ("—no-api"), ka whakawhäitihia te taiao ki nga tautuhinga kua tohua i roto i te konae whirihoranga. Ko te whirihoranga pateko kua tohua ma te "--config-file" kōwhiringa ka tautuhia ki te whakatakotoranga JSON. Mai i nga whiringa raina whakahau, kua taapirihia te tautoko mo te "-" wehewehe, ko nga haki kua tohua i muri mai ka tukuna ma te mekameka me te kore e tukatuka.

Amazon, e whakawhanake Firecracker, hoki ka panui i runga i te tuku tautoko ki nga kaiwhakawhanake i te reo hotaka Rust. Kei te tohuhia kei te kaha ake te whakamahi a Rust i roto i nga kaupapa a te kamupene me nga whanaketanga i runga i a ia kua whakatinanahia i roto i nga ratonga penei i Lambda, EC2 me S3. Kua whakaratohia e Amazon te kaupapa Rust me nga hanganga ki te rokiroki i nga tukunga me te hanga i roto i te S3, te whakahaere i nga whakamatautau regression i EC2, me te pupuri i tetahi pae docs.rs me nga tuhinga mo nga kohinga katoa mai i te putunga crates.io.

Amazon hoki whakaurua te hotaka AWS Whakatairanga Whiwhinga, ka taea e nga kaupapa puna tuwhera te uru noa ki nga ratonga AWS ka taea te whakamahi mo te rokiroki rauemi, te hanga, te whakauru tonu, me te whakamatautau. I roto i nga kaupapa kua whakaaetia mo te whakauru ki te kaupapa, i tua atu i a Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy me Julia i tuhia. Ka whakaaetia nga tukunga mai i tetahi kaupapa puna tuwhera ka tukuna i raro i nga raihana kua whakaaetia e OSI.

Source: opennet.ru

Tāpiri i te kōrero