No Hype Virtualized Cloud Infrastructure without the Virtualization

  • Slides: 41
Download presentation
No. Hype: Virtualized Cloud Infrastructure without the Virtualization Eric Keller, Jakub Szefer, Jennifer Rexford,

No. Hype: Virtualized Cloud Infrastructure without the Virtualization Eric Keller, Jakub Szefer, Jennifer Rexford, Ruby Lee Princeton University ISCA 2010

Virtualized Cloud Infrastructure • Run virtual machines on a hosted infrastructure • Benefits… –

Virtualized Cloud Infrastructure • Run virtual machines on a hosted infrastructure • Benefits… – Economies of scale – Dynamically scale (pay for what you use)

Without the Virtualization • Virtualization used to share servers – Software layer running under

Without the Virtualization • Virtualization used to share servers – Software layer running under each virtual machine Guest VM 1 Guest VM 2 servers Apps OS OS Hypervisor Physical Hardware 3

Without the Virtualization • Virtualization used to share servers – Software layer running under

Without the Virtualization • Virtualization used to share servers – Software layer running under each virtual machine • Malicious software can run on the same server – Attack hypervisor – Access/Obstruct other VMs servers Guest VM 1 Guest VM 2 Apps OS OS Hypervisor Physical Hardware 4

Are these vulnerabilities imagined? • No headlines… doesn’t mean it’s not real – Not

Are these vulnerabilities imagined? • No headlines… doesn’t mean it’s not real – Not enticing enough to hackers yet? (small market size, lack of confidential data) • Virtualization layer huge and growing – 100 Thousand lines of code in hypervisor – 1 Million lines in privileged virtual machine • Derived from existing operating systems – Which have security holes 5

No. Hype • No. Hype removes the hypervisor – There’s nothing to attack –

No. Hype • No. Hype removes the hypervisor – There’s nothing to attack – Complete systems solution – Still retains the needs of a virtualized cloud infrastructure Guest VM 1 Guest VM 2 Apps OS OS No hypervisor Physical Hardware 6

Virtualization in the Cloud • Why does a cloud infrastructure use virtualization? – To

Virtualization in the Cloud • Why does a cloud infrastructure use virtualization? – To support dynamically starting/stopping VMs – To allow servers to be shared (multi-tenancy) • Do not need full power of modern hypervisors – Emulating diverse (potentially older) hardware – Maximizing server consolidation 7

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory:

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory: Managing memory – I/O: Emulating I/O devices • Networking • Managing virtual machines 8

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory:

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory: Managing memory – I/O: Emulating I/O devices Push to HW / Pre-allocation • Networking • Managing virtual machines 9

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory:

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory: Managing memory – I/O: Emulating I/O devices • Networking Push to HW / Pre-allocation Remove • Managing virtual machines 10

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory:

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory: Managing memory – I/O: Emulating I/O devices Push to HW / Pre-allocation • Networking Remove • Managing virtual machines Push to side 11

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory:

Roles of the Hypervisor • Isolating/Emulating resources – CPU: Scheduling virtual machines – Memory: Managing memory – I/O: Emulating I/O devices Push to HW / Pre-allocation • Networking Remove • Managing virtual machines Push to side No. Hype has a double meaning… “no hype” 12

Today Scheduling Virtual Machines • Scheduler called each time hypervisor runs (periodically, I/O events,

Today Scheduling Virtual Machines • Scheduler called each time hypervisor runs (periodically, I/O events, etc. ) – Chooses what to run next on given core – Balances load across cores switch timer switch I/O switch timer VMs hypervisor time 13

No. Hype Dedicate a core to a single VM • Ride the multi-core trend

No. Hype Dedicate a core to a single VM • Ride the multi-core trend – 1 core on 128 -core device is ~0. 8% of the processor • Cloud computing is pay-per-use – During high demand, spawn more VMs – During low demand, kill some VMs – Customer maximizing each VMs work, which minimizes opportunity for over-subscription 14

Today Managing Memory • Goal: system-wide optimal usage – i. e. , maximize server

Today Managing Memory • Goal: system-wide optimal usage – i. e. , maximize server consolidation 600 500 400 300 200 VM/app 3 (max 400) VM/app 2 (max 300) VM/app 1 (max 400) 100 0 • Hypervisor controls allocation of physical memory 15

No. Hype Pre-allocate Memory • In cloud computing: charged per unit – e. g.

No. Hype Pre-allocate Memory • In cloud computing: charged per unit – e. g. , VM with 2 GB memory • Pre-allocate a fixed amount of memory – Memory is fixed and guaranteed – Guest VM manages its own physical memory (deciding what pages to swap to disk) • Processor support for enforcing: – allocation and bus utilization 16

Today Emulate I/O Devices • Guest sees virtual devices – Access to a device’s

Today Emulate I/O Devices • Guest sees virtual devices – Access to a device’s memory range traps to hypervisor – Hypervisor handles interrupts – Privileged VM emulates devices and performs I/O Priv. VM Guest VM 1 Guest VM 2 Device Emulation Apps Real Drivers OS OS hypercall trap Hypervisor Physical Hardware 17

Today Emulate I/O Devices • Guest sees virtual devices – Access to a device’s

Today Emulate I/O Devices • Guest sees virtual devices – Access to a device’s memory range traps to hypervisor – Hypervisor handles interrupts – Privileged VM emulates devices and performs I/O Priv. VM Guest VM 1 Guest VM 2 Device Emulation Apps Real Drivers OS OS hypercall trap Hypervisor Physical Hardware 18

No. Hype Dedicate Devices to a VM • In cloud computing, only networking and

No. Hype Dedicate Devices to a VM • In cloud computing, only networking and storage • Static memory partitioning for enforcing access – Processor (for to device), IOMMU (for from device) Guest VM 1 Guest VM 2 Apps OS OS Physical Hardware 19

No. Hype Virtualize the Devices • Per-VM physical device doesn’t scale • Multiple queues

No. Hype Virtualize the Devices • Per-VM physical device doesn’t scale • Multiple queues on device – Multiple memory ranges mapping to different queues Peripheral bus Memory MAC/PHY Chipset MUX Processor Classify Network Card 20

Today Networking • Ethernet switches connect servers server 21

Today Networking • Ethernet switches connect servers server 21

Today Networking (in virtualized server) • Software Ethernet switches connect VMs Virtual server Software

Today Networking (in virtualized server) • Software Ethernet switches connect VMs Virtual server Software Virtual server Virtual switch 22

Today Networking (in virtualized server) • Software Ethernet switches connect VMs Guest VM 1

Today Networking (in virtualized server) • Software Ethernet switches connect VMs Guest VM 1 Guest VM 2 Apps OS OS Hypervisor hypervisor 23

Today Networking (in virtualized server) • Software Ethernet switches connect VMs Priv. VM Software

Today Networking (in virtualized server) • Software Ethernet switches connect VMs Priv. VM Software Switch Guest VM 1 Guest VM 2 Apps OS OS Hypervisor 24

No. Hype Do Networking in the Network • Co-located VMs communicate through software –

No. Hype Do Networking in the Network • Co-located VMs communicate through software – Performance penalty for not co-located VMs – Special case in cloud computing – Artifact of going through hypervisor anyway • Instead: utilize hardware switches in the network – Modification to support hairpin turnaround 25

Today Managing Virtual Machines • Allowing a customer to start and stop VMs Request:

Today Managing Virtual Machines • Allowing a customer to start and stop VMs Request: Start VM Wide Area Network Cloud Customer Cloud Provider 26

Today Managing Virtual Machines • Allowing a customer to start and stop VMs Servers

Today Managing Virtual Machines • Allowing a customer to start and stop VMs Servers Request: Start VM . . . Cloud Manager Wide Area Network Cloud Customer VM images Cloud Provider 27

Today Hypervisor’s Role in Management • Run as application in privileged VM Priv. VM

Today Hypervisor’s Role in Management • Run as application in privileged VM Priv. VM VM Mgmt. Hypervisor Physical Hardware 28

Today Hypervisor’s Role in Management • Receive request from cloud manager Priv. VM VM

Today Hypervisor’s Role in Management • Receive request from cloud manager Priv. VM VM Mgmt. Hypervisor Physical Hardware 29

Today Hypervisor’s Role in Management • Form request to hypervisor Priv. VM VM Mgmt.

Today Hypervisor’s Role in Management • Form request to hypervisor Priv. VM VM Mgmt. Hypervisor Physical Hardware 30

Today Hypervisor’s Role in Management • Launch VM Priv. VM VM Mgmt. Guest VM

Today Hypervisor’s Role in Management • Launch VM Priv. VM VM Mgmt. Guest VM 1 Apps OS Hypervisor Physical Hardware 31

No. Hype Decouple Management And Operation • System manager runs on its own core

No. Hype Decouple Management And Operation • System manager runs on its own core Core 0 Core 1 System Manager 32

No. Hype Decouple Management And Operation • System manager runs on its own core

No. Hype Decouple Management And Operation • System manager runs on its own core • Sends an IPI to start/stop a VM Core 0 System Manager Core 1 IPI 33

No. Hype Decouple Management And Operation • System manager runs on its own core

No. Hype Decouple Management And Operation • System manager runs on its own core • Sends an IPI to start/stop a VM • Core manager sets up core, launches VM – Not run again until VM is killed Core 0 Core 1 Guest VM 2 System Manager Apps IPI Core Manager OS 34

Removing the Hypervisor Summary • Scheduling virtual machines – One VM per core •

Removing the Hypervisor Summary • Scheduling virtual machines – One VM per core • Managing memory – Pre-allocate memory with processor support • Emulating I/O devices – Direct access to virtualized devices • Networking – Utilize hardware Ethernet switches • Managing virtual machines – Decouple the management from operation 35

Security Benefits • Confidentiality/Integrity of data • Availability • Side channels 36

Security Benefits • Confidentiality/Integrity of data • Availability • Side channels 36

Security Benefits • Confidentiality/Integrity of data • Availability • Side channels 37

Security Benefits • Confidentiality/Integrity of data • Availability • Side channels 37

Confidentiality/Integrity of Data Requires access to the data With hypervisor Registers upon VM exit

Confidentiality/Integrity of Data Requires access to the data With hypervisor Registers upon VM exit Packets sent through software switch No. Hype No scheduling No software switch Memory accessible by hypervisor No hypervisor • System manager can alter memory access rules – But, guest VMs do not interact with the system manager 38

No. Hype Double Meaning • Means no hypervisor, also means “no hype” • Multi-core

No. Hype Double Meaning • Means no hypervisor, also means “no hype” • Multi-core processors – Available now • Extended (Nested) Page Tables – Available now • SR-IOV and Directed I/O (VT-d) – Network cards now, Storage devices near future • Virtual Ethernet Port Aggregator (VEPA) – Next-generation switches 39

Conclusions and Future Work • Trend towards hosted and shared infrastructures • Significant security

Conclusions and Future Work • Trend towards hosted and shared infrastructures • Significant security issue threatens adoption • No. Hype solves this by removing the hypervisor • Performance improvement is a side benefit • Future work: – Implement on current hardware – Assess needs for future processors 40

Questions? Contact info: ekeller@princeton. edu http: //www. princeton. edu/~ekeller szefer@princeton. edu http: //www. princeton.

Questions? Contact info: ekeller@princeton. edu http: //www. princeton. edu/~ekeller szefer@princeton. edu http: //www. princeton. edu/~szefer 41