Lecture 18: Cloud operating systems

Previous lecture Next lecture

Exam

From virtualization to the Cloud and its OS approaches

Important questions:

Cloud computing

Hardware virtualization

Cloud service models

Discussion: Cloud disadvantages

Provisioning models

Comparison of provisioning models

Application example / Requirements

General architecture of a cloud OS

Strategic decisions

Example: OpenStack

Relevance and use of virtualization

Container base virtualization

or simply containers

Example: Linux container support

Hardware virtualization

CPU virtualization (1)

FAST/SLOW: with/without code optimization

static int foo(int i) {
 return(i+1);
} int main(void) {
 … <start timer>
 for(i=0; i<100000000; i++)
 t += foo(i);
 … <stop timer>
}

Conclusion: avoid CPU emulation where possible

CPU virtualization (2)

Memory virtualization (1)

Guest operating systems assume that they have complete control over the hardware. They use arbitrary page frames. Without the additional mapping layer, conflicts with other guest OSes could occur!

Memory virtualization (2)

Shadow page tables are expensive. Lower costs are possible using paravirtualization or hardware support

Memory virtualization (3)

Memory virtualization (4)

More approaches...

I/O virtualization (1)

I/O emulation is expensive. Lower costs are (again) possible using paravirtualization or hardware support

I/O virtualization (2)

I/O virtualization (3)

Conclusion