Process, Virtualisation, Client, Server

202401301229
Status: #idea
Tags: DC

Process, Virtualisation, Client, Server

Process, Threads

Client- and Server-side Threading

Client-side threading

Server-side threading

Virtualisation

TODO: image from slide 9
Hypervisor -> Also called VMM (Virtual Machine Monitor)

Benefits

VMs vs Containers

TODO image from slide 11

Hypervisor (VMM)

Binary Translation

Note

A block is a set of instrucitons, where if the control enters it, it will for sure execute
Eg. Jump and branch instructions will end a block

More efficient code: VMWare's Trick

Overheads of Full Virtualisation

Paravirtualization

Hardware Assistance for Virtualization

Attention

Compute intensive workloads have similar performance in both hardware virtualisation and BT (because most calls are identity translated)
Memory operations are much faster with hardware virtualization
IO is significantly worse with full virtualization. It requires hardware-assisted IO virtualisation (like SR-IOV)

Intel VTx: VM Entry & Exit

Need for Ongoing Dynamic VM Placement

TODO: Image from slide 39 (8/2/24)

Scenario 1: New VMs

Scenario 2: Consolidation

Scenario 3: Load balancing

Containers

Attention

As containers are directly dependant on the underlying OS, their migration in heterogeneous environment is far from trivial, to simply impractical, just as process migration is.

Stateless Server


References