Nowadays there is significant diversity in Infrastructure
as a Service (IaaS) clouds. The differences span from
virtualization technology and hypervisors, through storage
and network configuration, to the cloud management
APIs. These differences make migration of a VM (or
a set of VMs) from a private cloud into a public cloud,
or between different public clouds, complicated or even
impractical for many use-cases.
HVX is a virtualization platform that enables complete
abstraction of underlying cloud infrastructure from the
application virtual machines. HVX allows deployment
of existing VMs into the cloud without any modifications,
mobility between the clouds and easy duplication
of the entire deployment.
HVX can be deployed on almost any existing IaaS
cloud. Each instance of the HVX deployment packs in
a nested hypervisor, virtual hardware, network and storage
configuration.
Combined with image store and management APIs,
the HVX can be used for the creation of a virtual cloud
that utilizes existing cloud provider infrastructure as the
hardware rather than using physical servers, switches and
storage.
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Â
HVX: Virtualizing the Cloud
1. HVX: Virtualizing The Cloud
Alex Fishman, Mike Rapoport, Evgeny Budilovsky, Izik Eidus
Ravello Systems
2. Virtual cloud on top of existing public clouds
â Nested hypervisor
â Overlay network on top of existing cloud providerâs
network
â Storage abstraction layer
â APIs for VM, network and storage provisioning
3. Virtual cloud
3
Public Cloud BPublic Cloud A
L2 guest VM
HW/net/stor
age
abstraction
L1 Cloud VM
public network
L2 overlay network
L2 guest VM
HW/net/stor
age
abstraction
L1 Cloud VM
L2 guest VM
HW/net/stor
age
abstraction
L1 Cloud VM
4. Motivation
â Migration of unmodified multi-VM applications
between different private and public clouds
âș Prevent single provider lock-in
â Easy to build hybrid clouds
âș Elasticity: using a public cloud provides infinite amount
of compute resources on-demand
âș High availability
âș Cost optimizations
4
5. Challenges of using public cloud
â Incompatible APIs
âș EC2, OpenStack flavors, Azure
â Different virtualization technologies
âș PV vs HVM
âș Virtual HW exposed to VM
â Network topology
âș Vary from provider to provider
âș Often rigid and inflexible
â Storage
âș Incompatible solutions
5
6. Solution: virtual private cloud on top of a public cloud
â Overlay private network on top of a cloud providerâs
network
â Virtualize cloud providerâs storage solutions
â Nested virtualization atop of cloud instances
6
7. Nested virtualization
â Nested virtualization is implemented by major
hypervisors
âș Requires newer CPU models
âș Intel VT-x/AMD-V extensions must be visible to L1 guest
VM
âș Depends on particular host system configuration
âș Experimental technology and not ready for the prime time
7
8. Public clouds do not support nested virtualization
â Huge existing install base
âș Not easy to make changes
â Heterogeneous hardware and hypervisors
âș Mix of older and newer hardware
âș Different hypervisor versions
8
ButâŠ
9. HVX hypervisor
â HVX is a high performance
nested hypervisor
âș Can run on top of any hypervisor
âș Runs unmodified guest VMs
âș Supports PV and HVM for bottom
virtualization layer
âș Runs on top of Linux
HVX architecture
9
Unmodified guest
VM
Guest VM
hardware
HVX hypervisor
Linux
Cloud VM
hardware
Cloud VM
10. HVX highlights
â Implements its own set of virtual hardware
âș Compatible with KVM, ESX, XEN
â Resource overcommit
âș CPU and RAM overcommit can lower the costs of using
public cloud infrastructure for lite workloads
â Live migration
âș HVX allows live VM migration between different public
cloud operators
10
11. Dynamic binary translation
â Translates guest binary code
into platform compatible code
âș 32bit guest into 64 bit host
âș Replaces privileged instructions
âș CPU registers are shadowed
â HVX reads and compiles a
guest basic block and then
executes it
â At the end of each translated
code section there is a jump
back to HVX and the process
repeats
1111
Instruction
Instruction
Instruction
âŠ.
Jump to next
Tc Instruction
Tc Instruction
Tc Instruction
âŠ.
Jump to HVX
Original guest code Translated guest code
Next:
Instruction
Instruction
Instruction
âŠ.
Instruction
Next TC:
Tc Instruction
Tc Instruction
Tc Instruction
âŠ.
Jump to HVX
HVX compiles next
code section
12. â Performance optimizations
âș Translated code is cached and chained
âș Fast shadow MMU implementation
âș Direct execution or user space code (Ring 3)
âș PV device implementation for fast IO
âș Fast context switching between guest and host kernel
âș Uses Linux for guest CPU scheduling and memory management
â Memory protection and data isolation
âș Each guest runs in its own context and cannot access HVX or host
memory
âș Guest resource usage (CPU/IO) can be throttled if needed
12
HVX implementation cont.
13. Network Layer
â Secure L2 overlay
network over cloud
operatorâs L3 network
âș UDP as a transport layer
âș Can span across multiple
clouds
â Provides additional
services: DHCP, DNS and
Routing
âș The services are fully
distributed: no single
point of failure
13
14. Image Store
â Supports multiple back-ends
âș Amazon S3
âș RackSpace CloudFiles
âș NFS attached volumes
â Contains read-only snapshot images
âș A VM image is a chain of snapshots
âș The top snapshot contains differences from the base
snapshot
âș Changes are written to the top snapshot stored locally on a
VM
âș The top snapshot can be written back to the store
14
15. Guest VM storage
â HVX adds an abstraction layer above the physical
storage in the cloud
â Logical volumes are attached to guest VMs as local
block devices
15
18. Conclusions and future work
â HVX is a versatile platform for the creation of a
virtual cloud spanning across public and private
clouds
â Future work
âș Integration with OpenStack
âș Run OpenStack compute nodes in a public cloud
âș Connecting hSwitch to OpenStack Quantum component
âș Create a hybrid OpenStack cloud by creating a bridge between
local data center and a public cloud
18