Using SMT to accelerate nested virtualization

Lluís Vilanova, Nadav Amit, Yoav Etsion

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

IaaS datacenters offer virtual machines (VMs) to their clients, who in turn sometimes deploy their own virtualized environments, thereby running a VM inside a VM. This is known as nested virtualization. VMs are intrinsically slower than bare-metal execution, as they often trap into their hypervisor to perform tasks like operating virtual I/O devices. Each VM trap requires loading and storing dozens of registers to switch between the VM and hypervisor contexts, thereby incurring costly runtime overheads. Nested virtualization further magnifies these overheads, as every VM trap in a traditional virtualized environment triggers at least twice as many traps. We propose to leverage the replicated thread execution resources in simultaneous multithreaded (SMT) cores to alleviate the overheads of VM traps in nested virtualization. Our proposed architecture introduces a simple mechanism to colocate different VMs and hypervisors on separate hardware threads of a core, and replaces the costly context switches of VM traps with simple thread stall and resume events. More concretely, as each thread in an SMT core has its own register set, trapping between VMs and hypervisors does not involve costly context switches, but simply requires the core to fetch instructions from a different hardware thread. Furthermore, our inter-thread communication mechanism allows a hypervisor to directly access and manipulate the registers of its subordinate VMs, given that they both share the same in-core physical register file. A model of our architecture shows up to 2.3× and 2.6× better I/O latency and bandwidth, respectively. We also show a software-only prototype of the system using existing SMT architectures, with up to 1.3× and 1.5× better I/O latency and bandwidth, respectively, and 1.2 - 2.2× speedups on various real-world applications.

Original languageEnglish
Title of host publicationISCA 2019 - Proceedings of the 2019 46th International Symposium on Computer Architecture
Pages750-761
Number of pages12
ISBN (Electronic)9781450366694
DOIs
StatePublished - 22 Jun 2019
Event46th International Symposium on Computer Architecture, ISCA 2019 - Phoenix, United States
Duration: 22 Jun 201926 Jun 2019

Publication series

NameProceedings - International Symposium on Computer Architecture

Conference

Conference46th International Symposium on Computer Architecture, ISCA 2019
Country/TerritoryUnited States
CityPhoenix
Period22/06/1926/06/19

Keywords

  • Computer architecture
  • Nested virtualization
  • Virtualization

All Science Journal Classification (ASJC) codes

  • Hardware and Architecture

Fingerprint

Dive into the research topics of 'Using SMT to accelerate nested virtualization'. Together they form a unique fingerprint.

Cite this