Imudojuiwọn fun Intel Cloud Hypervisor 0.3 ati Amazon Firecracker 0.19 ti a kọ sinu ipata

Intel atejade titun ti ikede hypervisor Awọsanma Hypervisor 0.3. Awọn hypervisor wa ni itumọ ti lori irinše
isẹpo ise agbese Ipata-VMM, ninu eyiti, ni afikun si Intel, Alibaba, Amazon, Google ati Red Hat tun kopa. Rust-VMM jẹ kikọ ni ede Rust ati gba ọ laaye lati ṣẹda awọn hypervisors pato-ṣiṣe. Awọsanma Hypervisor jẹ ọkan iru hypervisor ti o pese ibojuwo ẹrọ ti o ga julọ (VMM) ti n ṣiṣẹ lori oke KVM ati iṣapeye fun awọn iṣẹ-ṣiṣe abinibi-awọsanma. koodu ise agbese wa iwe-aṣẹ labẹ Apache 2.0.

Awọsanma Hypervisor wa ni idojukọ lori ṣiṣiṣẹ awọn pinpin Lainos ode oni nipa lilo awọn ẹrọ paravirtualized ti o da lori virtio. Lara awọn ibi-afẹde bọtini ti a mẹnuba ni: idahun giga, agbara iranti kekere, iṣẹ ṣiṣe giga, iṣeto ni irọrun ati idinku ti awọn ipakolu ikọlu ti o ṣeeṣe.

Atilẹyin emulation jẹ o kere ju ati pe idojukọ wa lori paravirtualization. Lọwọlọwọ awọn ọna ṣiṣe x86_64 nikan ni atilẹyin, ṣugbọn atilẹyin AArch64 ti gbero. Fun awọn ọna ṣiṣe alejo, awọn ipilẹ 64-bit ti Linux nikan ni atilẹyin lọwọlọwọ. Sipiyu, iranti, PCI ati NVDIMM ti wa ni tunto ni ipele ijọ. O ti wa ni ṣee ṣe lati jade foju ero laarin awọn olupin.

Ninu ẹya tuntun:

  • Iṣẹ tẹsiwaju lori gbigbe I/O paravirtualized lati ya awọn ilana lọtọ. Agbara lati lo awọn ẹhin ẹhin ni a ti ṣafikun lati ṣe ajọṣepọ pẹlu awọn ẹrọ dina vhost-olumulo-blk. Iyipada naa ngbanilaaye lati sopọ awọn ẹrọ idena ti o da lori module olumulo vhost si Cloud Hypervisor, bii SPDK, bi backends fun paravirtualized ipamọ;
  • Atilẹyin fun gbigbe awọn iṣẹ nẹtiwọọki si awọn ẹhin, ti a ṣafihan ni idasilẹ kẹhin vhost-olumulo-net, ti fẹ pẹlu ẹhin tuntun ti o da lori awakọ nẹtiwọọki foju kan Tẹ ni kia kia. Awọn backend ti wa ni kikọ ni Rust ati ki o ti wa ni bayi lo ninu Cloud Hypervisor bi awọn ifilelẹ ti awọn para-virtualized nẹtiwọki faaji;
  • Lati mu iṣẹ ṣiṣe ati aabo awọn ibaraẹnisọrọ pọ si laarin agbegbe agbalejo ati eto alejo, imuse arabara ti awọn iho pẹlu AF_VSOCK adirẹsi (awọn sockets nẹtiwọki foju), ṣiṣẹ nipasẹ virtio, ni imọran. Imudara da lori awọn idagbasoke ti ise agbese na Apanirunu, ni idagbasoke nipasẹ Amazon. VSOCK gba ọ laaye lati lo boṣewa POSIX Sockets API fun ibaraenisepo laarin awọn ohun elo lori alejo ati awọn ẹgbẹ agbalejo, eyiti o jẹ ki o rọrun lati ṣe adaṣe awọn eto nẹtiwọọki lasan fun iru ibaraenisepo ati imuse ibaraenisepo ti awọn eto alabara pupọ pẹlu ohun elo olupin kan;
  • Ti pese atilẹyin ibẹrẹ fun API iṣakoso ni lilo ilana HTTP. Ni ojo iwaju, API yii yoo jẹ ki o ṣee ṣe lati bẹrẹ awọn iṣẹ asynchronous lori awọn ọna ṣiṣe alejo, gẹgẹbi awọn ohun elo fifin-gbona ati awọn agbegbe gbigbe;
  • Fi kun kan Layer pẹlu kan irinna imuse da lori virtio MMIO (Memory ya aworan virtio), eyi ti o le ṣee lo lati ṣẹda minimalistic alejo awọn ọna šiše ti ko beere PCI akero emulation;
  • Gẹgẹbi apakan ti ipilẹṣẹ lati faagun atilẹyin fun ṣiṣiṣẹ awọn ọna ṣiṣe alejo itẹle, Cloud Hypervisor ti ṣafikun agbara lati firanṣẹ awọn ẹrọ IOMMU paravirtualized nipasẹ virtio, eyiti o mu aabo ti itẹ-ẹiyẹ ati firanšẹ siwaju awọn ẹrọ.
  • Ti pese atilẹyin fun Ubuntu 19.10;
  • Ṣe afikun agbara lati ṣiṣe awọn ọna ṣiṣe alejo pẹlu diẹ sii ju 64 GB ti Ramu.

Ni afikun, o le ṣe akiyesi titun oro nitosi ni idagbasoke foju ẹrọ atẹle Apanirunu, tun kọ ni Rust, da lori Rust-VMM ati ṣiṣe lori oke KVM. Firecracker ni a orita ti ise agbese CrossVM, Google lo lati ṣe ifilọlẹ awọn ohun elo Linux и Android ninu ChromeOS. Firecracker ti wa ni idagbasoke nipasẹ Awọn iṣẹ wẹẹbu Amazon lati mu iṣẹ ṣiṣe ati ṣiṣe ti AWS Lambda ati AWS Fargate awọn iru ẹrọ ṣe.

A ṣe apẹrẹ pẹpẹ lati ṣiṣẹ awọn ẹrọ foju pẹlu oke ti o kere ju ati pese awọn irinṣẹ fun ṣiṣẹda ati iṣakoso awọn agbegbe ti o ya sọtọ ati awọn iṣẹ ti a ṣe nipa lilo awoṣe idagbasoke olupin (iṣẹ bi iṣẹ kan). Firecracker nfunni ni awọn ẹrọ foju iwuwo fẹẹrẹ, ti a pe ni microVMs, ti o lo awọn imọ-ẹrọ ohun elo ohun elo lati pese ipinya pipe lakoko jiṣẹ iṣẹ ati irọrun ti awọn apoti ibile. Fun apẹẹrẹ, nigba lilo Firecracker, akoko lati akoko ti a ṣe ifilọlẹ microVM si ibẹrẹ ti ipaniyan ohun elo ko kọja 125ms, eyiti o fun ọ laaye lati ṣe ifilọlẹ awọn ẹrọ foju tuntun pẹlu kikankikan ti awọn agbegbe 150 fun iṣẹju kan.

Itusilẹ tuntun ti Firecracker ṣe afikun ipo iṣẹ laisi ifilọlẹ oluṣakoso API (“—no-api”), diwọn agbegbe nikan si awọn eto ti o ni koodu lile ni faili iṣeto. Iṣeto aimi jẹ pato nipasẹ aṣayan “-config-file” ati pe o jẹ asọye ni ọna kika JSON. Lati awọn aṣayan laini aṣẹ, atilẹyin fun oluyatọ “—” tun ti ṣafikun, awọn asia ti o wa ni pato lẹhin eyiti o kọja lẹgbẹẹ pq laisi sisẹ.

Amazon, ti o ndagba Firecracker, tun kede lori ipese onigbowo si awọn olupilẹṣẹ ti ede siseto Rust. O ṣe akiyesi pe Rust ti wa ni lilo siwaju sii ni awọn iṣẹ akanṣe ti ile-iṣẹ ati awọn idagbasoke lori rẹ ti a ti ṣe imuse ni awọn iṣẹ bii Lambda, EC2 ati S3. Amazon ti pese iṣẹ akanṣe Rust pẹlu awọn amayederun lati tọju awọn idasilẹ ati kọ ni S3, ṣiṣe awọn idanwo ifaseyin ni EC2, ati ṣetọju aaye docs.rs kan pẹlu iwe fun gbogbo awọn idii lati ibi ipamọ crates.io.

Amazon tun ṣafihan eto AWS igbega Credit, nibiti awọn iṣẹ akanṣe ṣiṣii le gba iraye si ọfẹ si awọn iṣẹ AWS ti o le ṣee lo fun ibi ipamọ awọn orisun, kọ, iṣọpọ lemọlemọ, ati idanwo. Lara awọn iṣẹ akanṣe ti a fọwọsi tẹlẹ fun ikopa ninu eto naa, ni afikun si Rust, AdoptOpenJDK, Maven Central, Kubernetes, Prometheus, Envoy ati Julia ni a ṣe akiyesi. Awọn ifisilẹ jẹ gbigba lati eyikeyi iṣẹ orisun ṣiṣi ti a firanṣẹ labẹ awọn iwe-aṣẹ ti OSI fọwọsi.

orisun: opennet.ru

Fi ọrọìwòye kun