ืืื ืื
ืคืจืืืงื ืืฉืืชืฃ
Cloud Hypervisor ืืชืืงืืช ืืืคืขืืช ืืคืฆืืช ืืื ืืงืก ืืืืจื ืืืช ืชืื ืฉืืืืฉ ืืืืฉืืจืื ืคืจ-ืืืจืืืืืืื ืืืืกืกื ืืืจืืืืื. ืืื ืืืขืืื ืืืจืืืืื ืฉืืืืืจื ืื: ืืืขื ืืช ืืืืื, ืฆืจืืืช ืืืืจืื ื ืืืื, ืืืฆืืขืื ืืืืืื, ืชืฆืืจื ืคืฉืืื ืืืคืืชืช ืืงืืืจื ืชืงืืคื ืืคืฉืจืืื.
ืชืืืืช ืืืืืืฆืื ื ืฉืืจืช ืืืื ืืืื ืืืืชืืงืืืช ืืื ืืคืจื ืืืจืืืืืืืฆืื. ื ืืื ืืขืืฉืื ืจืง ืืขืจืืืช x86_64 ื ืชืืืืช, ืืื ืชืืืื ื- AArch64 ืืชืืื ื ืช. ืขืืืจ ืืขืจืืืช ืืืจืืืช, ืจืง ืื ืืืช 64 ืกืืืืืช ืฉื ืืื ืืงืก ื ืชืืืืช ืืขืช. ืืืขืื, ืืืืืจืื, ื-PCI ืื-NVDIMM ืืืืืจืื ืืฉืื ืืืจืืื. ืืคืฉืจ ืืืขืืืจ ืืืื ืืช ืืืจืืืืืืืช ืืื ืฉืจืชืื.
ืืืจืกื ืืืืฉื:
- ืืขืืืื ื ืืฉืื ืขื ืืขืืจืช I/O ืคืจืืืจืืืืืืืฆืื ืืชืืืืืื ื ืคืจืืื. ืืืืืืช ืืืฉืชืืฉ ื-backends ื ืืกืคื ืืืื ืืจืืงืฆืื ืขื ืืืฉืืจื ืืกืืื
vhost-user-blk . ืืฉืื ืื ืืืคืฉืจ ืืืืจ ืืชืงื ื ืืืืง ืืืืืกืกืื ืขื ืืืืื vhost-user ื-Cloud Hypervisor, ืืืืSPDK , ืืืืงืื ืืืืจืืื ืืืืกืื ืคืจืืืจืืืืืืืฆืื; - ืชืืืื ืืืขืืจืช ืคืขืืืืช ืจืฉืช ื-backends, ืืืฆืื ืืืืืืจื ืืืืจืื ื
vhost-user-net , ืืืจืื ืขื ืงืฆื ืืืืจื ืืืฉ ืืืืืกืก ืขื ืื ืื ืืชืงื ืจืฉืช ืืืจืืืืืTAP . ืืงืฆื ืืืืืจื ืืชืื ื-Rust ืืืฉืืฉ ืืขืช ื-Cloud Hypervisor ืืืจืืืืงืืืจืช ืืจืฉืช ืืคืืจื-ืืืจืืืืืืช ืืจืืฉืืช; - ืืื ืืืืืืจ ืืช ืืืขืืืืช ืืืืืืื ืฉื ืืชืงืฉืืจืช ืืื ืืกืืืื ืืืืจืืช ืืืขืจืืช ืืืืจืืช, ืืืฆืข ืืืฉืื ืืืืจืืื ืฉื ืฉืงืขืื ืขื ืืชืืืช AF_VSOCK (ืฉืงืขื ืจืฉืช ืืืจืืืืืืื), ืืคืืขืืื ืืืืฆืขืืช virtio. ืืืืฉืื ืืืืกืก ืขื ืืชืคืชืืืืืช ืฉื ืืคืจืืืงื
ืืืื , ืฉืคืืชืื ืขื ืืื ืืืืื. VSOCK ืืืคืฉืจ ืื ืืืฉืชืืฉ ื-POSIX Sockets API ืืกืื ืืจืื ืืืื ืืจืืงืฆืื ืืื ืืืฉืืืื ืืฆื ืืืืจื ืืืืืจื, ืื ืฉืืงื ืขื ืืชืืืช ืชืืื ืืืช ืจืฉืช ืจืืืืืช ืืืื ืืจืืงืฆืื ืืื ืืืืืฉื ืืช ืืืื ืืจืืงืฆืื ืฉื ืืกืคืจ ืชืืื ืืช ืืงืื ืขื ืืคืืืงืฆืืืช ืฉืจืช ืืืช; - ืกืืคืง ืชืืืื ืจืืฉืื ืืช ืขืืืจ ืืืฉืง API ืื ืืืื ืืืืฆืขืืช ืคืจืืืืงืื HTTP. ืืขืชืื, API ืื ืืืคืฉืจ ืืืืื ืคืขืืืืช ืืกืื ืืจืื ืืืช ืืืขืจืืืช ืืืจืืืช, ืืืื ืืืืืจ ืื ืืืฉืืืื ืืกืืืืืช ืืืืจื;
- ื ืืกืคื ืฉืืื ืขื ืืืืืฉ ืชืขืืืจื ืืืืืกืก ืขื virtio MMIO (Memory mapd virtio), ืฉื ืืชื ืืืฉืชืืฉ ืื ืืืฆืืจืช ืืขืจืืืช ืืืจืืืช ืืื ืืืืืกืืืืช ืฉืืื ื ืืืจืฉืืช ืืืืืฆืืืช ืืืืืืืก PCI;
- ืืืืง ืืืืืืื ืืืจืืืช ืืชืืืื ืืืคืขืืช ืืขืจืืืช ืืืจืืื ืืงืื ื ืืช, Cloud Hypervisor ืืืกืืคื ืืช ืืืืืืช ืืืขืืืจ ืืชืงื ื IOMMU ืืืืจืืืืืืื ืืืืฆืขืืช virtio, ืื ืฉืืฉืคืจ ืืช ืืืืืื ืฉื ืืขืืจื ืืงืื ื ืช ืืืฉืืจื ืฉื ืืืฉืืจืื.
- ืกืืคืง ืชืืืื ืขืืืจ ืืืืื ืื 19.10;
- ื ืืกืคื ืืช ืืืืืืช ืืืคืขืื ืืขืจืืืช ืืืจืืืช ืขื ืืืชืจ ื-64 ื'ืืื-ืืืื ืฉื ืืืืจืื RAM.
ืื ืืกืฃ, ื ืืชื ืืฆืืื
ืืคืืืคืืจืื ื ืืขืื ืืืคืขืื ืืืื ืืช ืืืจืืืืืืืช ืขื ืชืงืืจื ืืื ืืืืืช ืืืกืคืงืช ืืืื ืืืฆืืจื ืื ืืืื ืฉื ืกืืืืืช ืืฉืืจืืชืื ืืืืืืื ืฉื ืื ื ืืืืฆืขืืช ืืืื ืคืืชืื ืืื ืฉืจืช (ืคืื ืงืฆืื ืืฉืืจืืช). Firecracker ืืฆืืขื ืืืื ืืช ืืืจืืืืืืืช ืงืืืช ืืฉืงื, ืื ืงืจืืืช microVMs, ืืืฉืชืืฉืืช ืืืื ืืืืืืืช ืืืจืืืืืืืฆืื ืฉื ืืืืจื ืืื ืืกืคืง ืืืืื ืืื ืชืื ืืกืคืงืช ืืืืฆืืขืื ืืืืืืฉืืช ืฉื ืงืื ืืืื ืจืื ืืกืืจืชืืื. ืืืืืื, ืืขืช ืฉืืืืฉ ื-Firecracker, ืืืื ืืจืืข ืืฉืงืช microVM ืืขื ืืชืืืืช ืืคืขืืช ืืืคืืืงืฆืื ืืื ื ืขืืื ืขื 125ms, ืื ืฉืืืคืฉืจ ืืืฉืืง ืืืื ืืช ืืืจืืืืืืืช ืืืฉืืช ืืขืืฆืื ืฉื ืขื 150 ืกืืืืืช ืืฉื ืืื.
ืืืืืืจื ืืืืฉื ืฉื Firecracker ืืืกืืคื ืืฆื ืคืขืืื ืืืื ืืืคืขืื ืืช ืืืืคื ื-API ("-no-api"), ืืืืืืื ืืช ืืกืืืื ืจืง ืืืืืจืืช ืืืงืืืืืช ืืงืืืฅ ืืชืฆืืจื. ืืชืฆืืจื ืืกืืืืช ืืืืืจืช ืืืืฆืขืืช ืืืคืฉืจืืช "--config-file" ืืืืืืจืช ืืคืืจืื JSON. ืืืคืฉืจืืืืช ืฉืืจืช ืืคืงืืื, ื ืืกืคื ืื ืชืืืื ืืืคืจืื "โ", ืฉืืืืืื ืฉืฆืืื ื ืืืืจ ืืื ืืืขืืจืื ืืืืจื ืืฉืจืฉืจืช ืืื ืขืืืื.
ืื ืืืืื, ืืืคืชืืช Firecracker
ืื ืืืืื
ืืงืืจ: OpenNet.ru