HyperTracing
Tracing Through Virtualization Layers
Abderrahmane Benbachir
Linux Plumbers Conference, September, 2017 École Polytechnique de Montréal Laboratoire DORSAL
HyperTracing Tracing Through Virtualization Layers Abderrahmane - - PowerPoint PPT Presentation
HyperTracing Tracing Through Virtualization Layers Abderrahmane Benbachir Linux Plumbers Conference, September, 2017 cole Polytechnique de Montral Laboratoire DORSAL What is hypertracing? Hy Hypertra racing cing = Offloading traces from
Abderrahmane Benbachir
Linux Plumbers Conference, September, 2017 École Polytechnique de Montréal Laboratoire DORSAL
What is hypertracing?
Hy Hypertra racing cing = Offloading traces from virtual machine to host
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)
Host
Qemu
Virtual Machine L0 L1
Guest kernel
App Hypervisor
tracer
App
probes
Qemu
Nested Virtual Machine
Guest kernel
App
probes
L2
probes buffer
async sync
tracer tracer
Trace Synchronization
data data data
Communication Channels
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)
Hypercall Socket (Virtio-serial) Shared Memory Network TCP/IP
Host
Qemu
Virtual Machine
kernel
tracer
probes buffer
async sync
data
consumer
How to do hypertracing ?
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)
Nested Virtualization
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)
Hardware Host Hypervisor
Qemu (not involved)
VM #1 VM #2 VM #3 VM #n-1 ... VM #n ... ... Single level Two levels Three levels L0 L1 L2 L3 Ln-1 Ln Remove Exit Multiplication
Patch
Micro-Benchmarks
Hypercall Overhead
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)
Exit-handling code in the hypervisor is slower when run in L1 or L2 than the same code running in L0 Transition between L1, L2, ... Ln involve an exit to L0 and then an entry.
Hardware : Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz (x86_64) EPT-on-EPT-on-EPT x33 x33
[+ patch] [+ patch]
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)
abderrahmane.benbachir@polymtl.ca https://github.com/abenbachir
POLYTECHNIQUE MONTREAL – Abderrahmane Benbachir (Abder)