Lecture 018

Different Scalability

  1. load scalability (How easy to add more concurrent users?)
  2. content scalability (How easy to add content? aka “data scalability”)
  3. geographic scalability (Tolerance for high-latency WANs?)
  4. functional scalability (How easy to add new capabilities?)
  5. evolutionary scalability (How easy to add new hardware/software?)
  6. administrative scalability (How hard to manage?)

Virtual Machine

Virtual Machine: abstraction of OS-visible hardware

Virtual Machine Monitor (VMM, hypervisor): implements VM abstraction

Reasons for Virtualization

Reasons for Virtualization

Purpose:

History

Hardware Virtualization

Legacy World Can Easily Depend on New Innovation

Legacy World Can Easily Depend on New Innovation

Hardware virtualization: easier to implement than software processes virtualization

System Virtualization

Types of System Virtualization

Types of System Virtualization

Types of System Virtualization

CPU Virtualization

Difference Between Trap and Interrupt

Difference Between Trap and Interrupt

Privileged instructions (e.g., IO requests, Update CPU state, Manipulate page table):

Non-privileged instructions (e.g., Load from mem):

Memory Virtualization

// TODO??

Memory Virtualization: OS assumes that it has full control over memory //TODO

I/O Virtualization

I/O Virtualization:

Live Migration: When cycle of steps 4 and 5 become very short, source VMM freezes guest, sends VCPU’s final state, sends final dirty pages and tells target to start running the guest

Live Migration: When cycle of steps 4 and 5 become very short, source VMM freezes guest, sends VCPU’s final state, sends final dirty pages and tells target to start running the guest

Live migration: migrate OS to a different place without guest OS notice

Container Virtualization

Monolithic

Monolithic

microservices

microservices

Containers:

Table of Content