Mmelite na Intel Cloud Hypervisor 0.3 na Amazon Firecracker 0.19 hypervisors nke edere na Rust

Intel bipụtara ụdị hypervisor ọhụrụ Igwe ojii Hypervisor 0.3. Ewubere hypervisor na akụrụngwa
nkwonkwo oru ngo Nchara-VMM, nke, na mgbakwunye na Intel, Alibaba, Amazon, Google na Red Hat na-esonye. Edere Rust-VMM n'asụsụ Rust ma na-enye gị ohere ịmepụta hypervisors akọwapụtara ọrụ. Cloud Hypervisor bụ otu hypervisor dị otú ahụ nke na-enye ihe nleba anya igwe mebere igwe dị elu (VMM) na-agba ọsọ n'elu KVM ma kachasị maka ọrụ igwe ojii. Koodu oru ngo dị nyere ikike n'okpuru Apache 2.0.

Cloud Hypervisor lekwasịrị anya na iji ngwaọrụ paravirtualized dabere na virtio nkesa nkesa Linux ọgbara ọhụrụ. N'ime ebumnuche ndị bụ isi a kpọtụrụ aha bụ: nzaghachi dị elu, obere nchekwa nchekwa, arụmọrụ dị elu, nhazi dị mfe na mbelata ihe ndị nwere ike ịwakpo.

A na-edobe nkwado emulation na opekempe yana a na-elekwasị anya na paravirtualization. Ugbu a ọ bụ naanị sistemụ x86_64 ka akwadoro, mana akwadoro AArch64. Maka sistemụ ndị ọbịa, naanị 64-bit wuru Linux ka a na-akwado ugbu a. A na-ahazi CPU, ebe nchekwa, PCI na NVDIMM na ọkwa mgbakọ. Ọ ga-ekwe omume ịkwaga igwe mebere n'etiti sava.

Na ụdị ọhụrụ:

  • Ọrụ gara n'ihu na-ebugharị I/O paravirtualized iji kewaa usoro. Agbakwunyela ikike iji azụ azụ iji soro ngwaọrụ ngọngọ na-emekọrịta ihe vhost-onye ọrụ-blk. Mgbanwe ahụ na-enye gị ohere ijikọ ngwaọrụ ngọngọ dabere na modul onye ọrụ vhost na Cloud Hypervisor, dị ka SPDK, dị ka backend maka paravirtualized nchekwa;
  • Nkwado maka ịkwaga arụmọrụ netwọkụ na azụ azụ, ewepụtara na mwepụta ikpeazụ vhost-onye ọrụ-net, gbasaa site na azụ azụ ọhụrụ dabere na ọkwọ ụgbọala netwọk mebere mgbata. Edere azụ azụ na Rust ma jiri ya ugbu a na Cloud Hypervisor dị ka isi ụlọ ọrụ netwọk para-virtualized;
  • Iji mee ka arụmọrụ na nchekwa nke nkwukọrịta dị n'etiti gburugburu ebe obibi na usoro ndị ọbịa, a na-atụ aro mmejuputa ngwakọ nke sockets na AF_VSOCK na-agwa okwu (sockets netwọk mebere), na-arụ ọrụ site na virtio. Mmejuputa a dabere na mmepe nke oru ngo Ọgba ọkụ, nke Amazon mepụtara. VSOCK na-enye gị ohere iji ọkọlọtọ POSIX Sockets API maka mmekọrịta dị n'etiti ngwa ndị ọbịa na ndị ọbịa, nke na-eme ka ọ dị mfe ịmegharị mmemme netwọk nkịtị maka mmekọrịta dị otú ahụ ma mejuputa mmekọrịta nke ọtụtụ mmemme ndị ahịa na otu ngwa nkesa;
  • Enyere nkwado izizi maka API njikwa site na iji protocol HTTP. N'ọdịnihu, API a ga-eme ka o kwe omume ịmalite ọrụ asynchronous na sistemu ndị ọbịa, dị ka akụrụngwa na-ekpo ọkụ na ebe ndị na-akwaga;
  • Agbakwunyere oyi akwa nwere mmejuputa njem njem dabere na virtio MMIO (Memory mapped virtio), nke enwere ike iji mepụta sistemụ ndị ọbịa minimalistic nke na-achọghị emulation ụgbọ ala PCI;
  • Dịka akụkụ nke atụmatụ ịgbasa nkwado maka sistemụ ndị ọbịa na-agba ọsọ, Cloud Hypervisor agbakwunyela ikike ibugharị ngwaọrụ IOMMU paravirtualized site na virtio, nke na-eme ka nchekwa nke akwụ ụgwọ na mbugharị ngwaọrụ.
  • Enyere nkwado maka Ubuntu 19.10;
  • Agbakwunyere ikike iji sistemụ ndị ọbịa na-agba ọsọ karịa 64 GB nke RAM.

Ọzọkwa, enwere ike ịdeba ya ọhụrụ ntọhapụ n'akụkụ mepụtara igwe nleba anya Ọgba ọkụ, edekwara ya na Rust, dabere na Rust-VMM ma na-agba ọsọ n'elu KVM. Firecracker bụ ndụdụ nke ọrụ ahụ CrosVM, nke Google ji malite ngwa Linux и android na ChromeOS. Amazon Web Services na-emepụta Firecracker iji melite arụmọrụ na arụmọrụ nke AWS Lambda na AWS Fargate nyiwe.

Emebere ikpo okwu ka ọ na-arụ ọrụ igwe mebere na obere ihe na-ebufe ma na-enye ngwaọrụ maka imepụta na ijikwa gburugburu na ọrụ ndị dịpụrụ adịpụ wuru site na iji ụdị mmepe enweghị nkesa (ọrụ dị ka ọrụ). Firecracker na-enye igwe mebere igwe dị fechaa, nke a na-akpọ microVMs, nke na-eji teknụzụ virtualization ngwaike na-eweta ikewapụ kpam kpam ma na-ebuga arụmọrụ na mgbanwe nke arịa ọdịnala. Dịka ọmụmaatụ, mgbe ị na-eji Firecracker, oge site na oge a malitere microVM ruo mmalite nke ngwa ngwa anaghị agafe 125ms, nke na-enye gị ohere ịmepụta igwe ọhụrụ mebere nke nwere ike ruru 150 gburugburu kwa nkeji.

Mwepụta ọhụrụ nke Firecracker na-agbakwụnye ụdị ọrụ na-enweghị ịmalite onye njikwa API ("-no-api"), na-amachi gburugburu naanị na ntọala siri ike na faịlụ nhazi. A na-akọwapụta nhazi static site na nhọrọ "-config-file" ma kọwaa ya n'ụdị JSON. Site na nhọrọ ahịrị iwu, agbakwunyela nkwado maka “—” nkesa, ọkọlọtọ ndị akọwapụtara mgbe nke a gachara gafere n'agbụ na-enweghị nhazi.

Amazon, nke na-emepụta Firecracker, kwa mara ọkwa na inye nkwado maka ndị mmepe asụsụ mmemme Rust. A na-achọpụta na Rust na-arịwanye elu na-arụ ọrụ nke ụlọ ọrụ na mmepe na ya emejuputalarị na ọrụ ndị dị ka Lambda, EC2 na S3. Amazon enyela Rust oru ngo na akụrụngwa na-echekwa ntọhapụ na-ewu na S3, na-agba ọsọ regression ule na EC2, na-edebe docs.rs saịtị na akwụkwọ maka niile ngwugwu si crates.io repository.

Amazon kwa webatara ihe omume ahụ Ebe E Si Nweta nkwalite AWS, Ebe ọrụ mepere emepe nwere ike ịnweta ọrụ AWS n'efu nke enwere ike iji maka nchekwa akụ, wuo, ntinye aka na-aga n'ihu, na nnwale. N'ime ọrụ ndị a kwadoro maka itinye aka na mmemme ahụ, na mgbakwunye na Rust, AdopOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy na Julia bụ ndị a kpọtụrụ aha. A na-anabata ntinye akwụkwọ site na oru ngo mepere emepe ewepụtara n'okpuru ikikere nkwado OSI.

isi: opennet.ru

Tinye a comment