Chapter 2: Infrastructure as a Service (IaaS) Flashcards
What is a Hypervisor?
- is a program that allows multiple OS systems to share a single hardware host, each OS appears to have the host’s resources ie: processore, memeory, nic etc all to itself
Name and explain Type 1 Hypervisor
Runs directly on hardware
- More secure and more available
- Offers better performance to the guests it supports
- Requires special device drivers
Name and explain Type 2 Hypervisor
Runs on top of an OS
- Leverages the OS drivers
- Often used for desktop development and testing
- More overhead
What are the Challenges for IaaS Providers?
- Rapid provisioning
- Elasticity
- Isolation of different consumers
- Performance
Definition of Virtualization
Virtualization is the simulation of the software and/or hardware upon which other software runs. This simulated environment is called a virtual machine (VM).
What is the challenge of Elasticity for a Cloud?
- Create illusion of infinite resources
- manage data center in a cost-efficient manner
What is the challenge Rapid Provisioning for a Cloud?
- Resources must be available to the consumer quickly
- No human interaction during provisioning
Taxonomy of Virtualization
- Process Virtualization
- OS Virtualization
- System Virtualization
What is the VMM?
Virtual machine monitor
aka Hypervisor
Name the three types of processor instructions.
- Privileged instruction
- Sensitive instructions
- Unprivileged instructions
What is the necessary condition to the processor instructions for efficient virtualization (Popek and Goldberg-Theorem)?
Set of sensitive instructions is a subset of the set of privileged instructions. (=Condition satisfied)
What are the three Hardware Virtualization techniques?
- Full Virtualization
- Paravirtualization (OS-Assisted)
- Hardware-Assisted Virtualization
Define Full Virtualization.
Full Virtualization is virtualization in which the guest operating system is unaware that it is in a virtualized environment, and therefore hardware is virtualized by the host operating system.
Define Paravirtualisation.
Software Assisted Virtualization (Paravirtualization) is virtualization in which the guest operating system is aware that it is a guest. Therefore the guest source code is modified so that it avoids assistance of the VMM as far as possible.
Define Hardware-Assisted Virtualization.
Hardware Assisted Virtualization has special instructions to aid the virtualization of hardware. The guest can execute privileged instructions directly on the processor without affecting the host.
Explain Full Virtualization using Binary Translation
- Find critical instructions and replace them
- Run unprivileged instructions directly on CPU
- Trap and emulate privileged and sensitive instructions
- Find critical instructions and replace with exception
- Problem: Replacement must be done at runtime
What is the MMU
Memory management unit (MMU) translates logical to physical memory addresses
by lookup the page table (logical page ←→ physical page)
What are Shadow Pages?
Shadow page tables solves the problem of additional memory access required to resolve address at full virtualisation. By mapping the logical pages of a process in the VM directly to the physical address.
What are the classes of I/O devices
- Dedicated devices (e.g. display, keyboard, mouse, …)
Not shared among VMs on a very long time scale - Partitioned devices (e.g.disks)
Partitions made available to VMs as dedicated devices - Shared devices (e.g. network adapters)
Shared among VMs on very fine-grained time scale - Spooled devices (e.g.printers)
Shared among VMs but with time higher granularity - Non existent physical devices e.g.virtualNICs)
Virtual devices without physical counterpart
What is the idea for Paravirtualization (OS-Assisted)?
Idea of Paravirtualization:
- Make guest OS aware that it is running in a VM
- Modify the guest source code so that it avoids assistance of the VMM as far as possible
How does Physical Memory Management with XEN work?
Domain gets fraction of phys. memory at creation time
- Static partitioning among domains
- No guarantee partition is contiguous
- Hypervisor knows which domain „owns“ which pages
- Each guest (Domain) needs which Blocks to use
How does Virtual Memory Management with XEN work?
Command Batching:
- Xen collects Requests and submits them with one hypercall
- > Requests are not immediately processed
- > Requires only one entry to hypervisor
How does I/O Virtualization with XEN work?
- XEN itself contains specific device drivers
- I/O data transferred from guests via XEN using shared-memory, async. buffer ring
Explain how Binary Translation works
- Separate instruction sequence in translation units
- Check unit for critical instructions and modify code
- Modified code is stored in translation cache