Hloov tshiab rau Intel Cloud Hypervisor 0.3 thiab Amazon Firecracker 0.19 hypervisors sau hauv Rust

Intel luam tawm tshiab version ntawm hypervisor Huab Hypervisor 0.3. Lub hypervisor yog tsim los ntawm cov khoom
kev sib koom tes project Rust-VMM, uas, ntxiv rau Intel, Alibaba, Amazon, Google thiab Red Hat kuj koom nrog. Rust-VMM tau sau ua lus Rust thiab tso cai rau koj los tsim cov haujlwm tshwj xeeb hypervisors. Cloud Hypervisor yog ib qho hypervisor uas muab lub siab-theem virtual tshuab saib (VMM) khiav saum KVM thiab ua kom zoo rau huab-native ua haujlwm. Qhov project code muaj muaj ntawv tso cai nyob rau hauv Apache 2.0.

Huab Hypervisor yog tsom rau kev khiav lag luam niaj hnub Linux faib siv cov khoom siv virtio-based paravirtualized. Ntawm cov hom phiaj tseem ceeb uas tau hais tseg yog: kev ua haujlwm siab, kev siv lub cim xeeb tsawg, kev ua haujlwm siab, kev teeb tsa yooj yim thiab txo qis ntawm qhov tuaj yeem tawm tsam vectors.

Kev txhawb nqa emulation tau khaws cia kom tsawg kawg thiab qhov tsom mus rau paravirtualization. Tam sim no tsuas yog x86_64 systems tau txais kev txhawb nqa, tab sis kev txhawb nqa AArch64 tau npaj. Rau cov tshuab qhua, tsuas yog 64-ntsis tsim ntawm Linux tam sim no tau txais kev txhawb nqa. CPU, nco, PCI thiab NVDIMM tau teeb tsa ntawm theem sib dhos. Nws muaj peev xwm migrate virtual machines ntawm servers.

Hauv qhov tshiab version:

  • Ua haujlwm txuas ntxiv mus rau kev txav mus rau paravirtualized I / O kom cais cov txheej txheem. Lub peev xwm siv cov backends tau ntxiv los cuam tshuam nrog cov khoom siv thaiv vhost-user-blk. Qhov kev hloov pauv tso cai rau koj los txuas cov cuab yeej thaiv raws li vhost-neeg siv module rau Cloud Hypervisor, xws li SPDK, raws li backends rau paravirtualized cia;
  • Kev them nyiaj yug rau kev hloov pauv kev ua haujlwm hauv network mus rau backends, qhia hauv qhov kev tso tawm kawg vhost-user-net, nthuav dav nrog lub backend tshiab raws li tus tsav tsheb virtual TAP. Lub backend yog sau nyob rau hauv Rust thiab tam sim no siv nyob rau hauv Cloud Hypervisor raws li lub ntsiab para-virtualized network architecture;
  • Txhawm rau txhim kho kev ua tau zoo thiab kev ruaj ntseg ntawm kev sib txuas lus ntawm ib puag ncig tus tswv thiab cov qhua, kev siv cov khoom siv sib xyaw nrog AF_VSOCK qhov chaw nyob (sockets virtual), ua haujlwm los ntawm virtio, tau thov. Kev nqis tes ua yog nyob ntawm qhov kev txhim kho ntawm qhov project Tub Tua Dab, tsim los ntawm Amazon. VSOCK tso cai rau koj siv tus qauv POSIX Sockets API rau kev sib cuam tshuam ntawm cov ntawv thov ntawm cov qhua thiab tus tswv tsev, uas ua rau nws yooj yim los hloov cov kev pab cuam network zoo tib yam rau kev sib cuam tshuam thiab siv kev sib cuam tshuam ntawm ntau tus neeg siv cov kev pab cuam nrog ib daim ntawv thov server;
  • Muab kev txhawb nqa thawj zaug rau kev tswj hwm API siv HTTP raws tu qauv. Nyob rau hauv lub neej yav tom ntej, qhov API no yuav ua rau nws muaj peev xwm pib ua haujlwm asynchronous ntawm cov qhua, xws li cov khoom siv hluav taws xob kub thiab cov chaw tsiv teb tsaws chaw;
  • Ntxiv ib txheej nrog kev thauj mus los raws li virtio MMIO (Memory mapped virtio), uas tuaj yeem siv los tsim cov qhua minimalistic uas tsis tas yuav PCI tsheb npav emulation;
  • Raws li ib feem ntawm txoj kev pib nthuav dav kev txhawb nqa rau kev khiav nested qhua systems, Cloud Hypervisor tau ntxiv lub peev xwm xa mus rau paravirtualized IOMMU cov khoom siv los ntawm virtio, uas txhim kho kev ruaj ntseg ntawm nested thiab xa ncaj qha ntawm cov khoom siv.
  • Muab kev txhawb nqa rau Ubuntu 19.10;
  • Ntxiv lub peev xwm los khiav cov tshuab qhua nrog ntau dua 64 GB ntawm RAM.

Tsis tas li ntawd, nws tuaj yeem raug sau tseg qhov teeb meem tshiab nyob sib ze tsim tawm virtual tshuab saib Tub Tua Dab, kuj sau rau hauv Rust, raws li Rust-VMM thiab khiav saum KVM. Firecracker yog rab rawg ntawm qhov project CrosVM, siv los ntawm Google los tso cov ntawv thov Linux ΠΈ Android hauv ChromeOS. Firecracker yog tsim los ntawm Amazon Web Services los txhim kho kev ua tau zoo thiab kev ua haujlwm ntawm AWS Lambda thiab AWS Fargate platforms.

Lub platform yog tsim los khiav cov tshuab virtual nrog tsawg kawg nkaus nyiaj siv ua haujlwm thiab muab cov cuab yeej tsim thiab tswj cov chaw nyob ib puag ncig thiab cov kev pabcuam tsim los siv cov qauv kev tsim kho serverless (ua haujlwm raws li kev pabcuam). Firecracker muaj lub teeb yuag virtual tshuab, hu ua microVMs, uas siv hardware virtualization technologies los muab kev sib cais ua tiav thaum xa cov kev ua tau zoo thiab hloov pauv ntawm cov ntim khoom ib txwm muaj. Piv txwv li, thaum siv Firecracker, lub sij hawm txij li lub sij hawm microVM tau pib mus rau qhov pib ntawm daim ntawv thov kev ua tiav tsis pub dhau 125ms, uas tso cai rau koj los tsim cov tshuab virtual tshiab nrog kev siv zog txog li 150 ib puag ncig ib ob.

Qhov kev tso tawm tshiab ntawm Firecracker ntxiv hom kev ua haujlwm yam tsis tau tso tawm API tus tuav ("-tsis yog-api"), txwv ib puag ncig tsuas yog rau cov teeb tsa nyuaj-coded hauv cov ntaub ntawv teeb tsa. Qhov kev teeb tsa zoo li qub tau teev tseg ntawm "--config-file" kev xaiv thiab tau txhais hauv JSON hom. Los ntawm cov kev xaiv kab hais kom ua, kev txhawb nqa rau "-" cais kuj tau ntxiv, cov chij tau teev tseg tom qab uas tau dhau los ntawm cov saw hlau yam tsis tau ua.

Amazon, uas tsim Firecracker, thiab tshaj tawm ntawm kev muab kev txhawb nqa rau cov neeg tsim khoom ntawm Rust programming lus. Nws tau sau tseg tias Rust tau siv ntau ntxiv hauv lub tuam txhab cov haujlwm thiab kev txhim kho ntawm nws twb tau ua tiav hauv cov kev pabcuam xws li Lambda, EC2 thiab S3. Amazon tau muab txoj haujlwm Rust nrog cov txheej txheem los khaws cov kev tshaj tawm thiab tsim hauv S3, khiav cov kev xeem rov qab hauv EC2, thiab tuav lub vev xaib docs.rs nrog cov ntaub ntawv rau txhua pob khoom los ntawm crates.io repository.

Amazon kuj tswvcuab qhov kev pab cuam AWS Promotional Credit, qhov chaw qhib qhov project tuaj yeem tau txais kev nkag dawb rau AWS cov kev pabcuam uas tuaj yeem siv rau kev khaws ntaub ntawv, tsim, kev koom ua ke txuas ntxiv, thiab kev sim. Ntawm cov haujlwm uas twb tau pom zoo rau kev koom tes hauv txoj haujlwm, ntxiv rau Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy thiab Julia tau sau tseg. Cov ntawv xa tuaj raug lees txais los ntawm ib qho kev qhib qhov project xa tawm raws li OSI-pom zoo ntawv tso cai.

Tau qhov twg los: opennet.ru

Ntxiv ib saib