VMs, Unikernels and Containers: Experiences on the Performance of - - PowerPoint PPT Presentation

vms unikernels and containers experiences on the
SMART_READER_LITE
LIVE PREVIEW

VMs, Unikernels and Containers: Experiences on the Performance of - - PowerPoint PPT Presentation

VMs, Unikernels and Containers: Experiences on the Performance of Virtualiza=on Technologies Felipe Huici, Filipe Manco, Jose Mendes, Simon Kuenzer NEC Europe Ltd. (Heidelberg) In the Beginning VM In the Beginning Tinyfied VMs


slide-1
SLIDE 1

VMs, Unikernels and Containers: Experiences on the Performance of Virtualiza=on Technologies

Felipe Huici, Filipe Manco, Jose Mendes, Simon Kuenzer NEC Europe Ltd. (Heidelberg)

slide-2
SLIDE 2

In the Beginning…

VM

slide-3
SLIDE 3

In the Beginning…

VM

“Tinyfied VMs”

slide-4
SLIDE 4

In the Beginning…

VM

“Tinyfied VMs” unikernels

slide-5
SLIDE 5

In the Beginning…

VM

“Tinyfied VMs” unikernels containers

slide-6
SLIDE 6

In the Beginning…

VM

“Tinyfied VMs” unikernels containers

slide-7
SLIDE 7
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

slide-8
SLIDE 8
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead
slide-9
SLIDE 9
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead
slide-10
SLIDE 10
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead
slide-11
SLIDE 11
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead
slide-12
SLIDE 12
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead
slide-13
SLIDE 13
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead

?

slide-14
SLIDE 14
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead
slide-15
SLIDE 15
  • Virt. Technology Benchmarking
  • Metrics:

– VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

higher

  • verhead

lower

  • verhead

?

slide-16
SLIDE 16

Virtualiza=on Technology Benchmarking

  • Metrics:

– VM image and memory consump=on: ls, top, xl – VM crea=on =me: SYN flood + RST detec=on – Throughput: iperf, guest to host (TCP traffic) – RTT: ping flood

  • VM-based tests run on both Xen and KVM
  • Hardware: x86_64 server with an Intel Xeon E5-1630

v3 3.7GHz CPU (4 cores), 32GB RAM.

slide-17
SLIDE 17

Virtualiza=on Technologies

  • “Standard” VM

– Standard Debian-based Linux VM

  • “Tinyfied” VM

– Tinyx, based on Linux kernel/busybox

  • Unikernel

– On Xen: MiniOS + miniperf – On KVM: OSv + iperf

  • Containers

– Docker

slide-18
SLIDE 18

Virtualiza=on Technologies

  • “Standard” VM

– Standard Debian-based Linux VM

  • “Tinyfied” VM

– Tinyx, based on Linux kernel/busybox

  • Unikernel

– On Xen: MiniOS + miniperf – On KVM: OSv + iperf

  • Containers

– Docker

slide-19
SLIDE 19

Standard VM: Applica=on on Top of Distro

Kernel Services Libraries User Applica5on 3rd Party Applica5ons

slide-20
SLIDE 20

Most of the VM not Used…

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-21
SLIDE 21

Tinyx: Keep Only What’s Needed

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-22
SLIDE 22

Tinyx: Taylor-made Distro

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-23
SLIDE 23

Tinyx: Taylor-made Distro

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-24
SLIDE 24

Tinyx: Taylor-made Distro

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-25
SLIDE 25

Tinyx: Taylor-made Distro

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-26
SLIDE 26

Tinyx: Taylor-made Distro

▌ Keep only the necessary bits and pieces

l Specialized kernel build containing only the necessary modules l Root filesystem populated with

  • nly necessary

services, libraries and 3rd party applications

Nginx

Kernel Services Libraries User Applica5on

memcached

bash 3rd Party Applica5ons libc libssl ssh init ext4 netfront blkfront

slide-27
SLIDE 27

Virtualiza=on Technologies

  • “Standard” VM

– Standard Debian-based Linux VM

  • “Tinyfied” VM

– Tinyx, based on Linux kernel/busybox

  • Unikernel

– On Xen: MiniOS + miniperf – On KVM: OSv + iperf

  • Containers

– Docker

slide-28
SLIDE 28

Virtualiza=on Technologies

  • “Standard” VM

– Standard Debian-based Linux VM

  • “Tinyfied” VM

– Tinyx, based on Linux kernel/busybox

  • Unikernel

– On Xen: MiniOS + miniperf – On KVM: OSv + iperf

  • Containers

– Docker

slide-29
SLIDE 29

What’s a Unikernel?

  • Specialized VM: single

applica=on + minimalis=c OS

  • Single address space,

co-opera=ve scheduler so low overheads

slide-30
SLIDE 30

What’s a Unikernel?

  • Specialized VM: single

applica=on + minimalis=c OS

  • Single address space,

co-opera=ve scheduler so low overheads

driver1 driver2

app 1

GENERAL-PURPOSE OPERATING SYSTEM (e.g., Linux, FreeBSD) KERNEL SPACE USER SPACE

app 2 app N

driverN

slide-31
SLIDE 31

What’s a Unikernel?

  • Specialized VM: single

applica=on + minimalis=c OS

  • Single address space,

co-opera=ve scheduler so low overheads

driver1 driver2

app 1

GENERAL-PURPOSE OPERATING SYSTEM (e.g., Linux, FreeBSD) KERNEL SPACE USER SPACE

app 2 app N

driverN Vdriver1

vdriver2

app

MINIMALISTIC OPERATING SYSTEM (e.g., MiniOS, OSv) SINGLE ADDRESS SPACE

slide-32
SLIDE 32

Unikernels for Benchmarking

Xen apps

guest OS

On Xen

slide-33
SLIDE 33

Unikernels for Benchmarking

Xen apps

guest OS

Xen iperf

mini OS

On Xen

slide-34
SLIDE 34

Unikernels for Benchmarking

Xen apps

guest OS

Xen iperf

mini OS

On Xen

KVM apps

guest OS

On KVM

slide-35
SLIDE 35

Unikernels for Benchmarking

Xen apps

guest OS

Xen iperf

mini OS

On Xen

KVM iperf

OSv

KVM apps

guest OS

On KVM

slide-36
SLIDE 36

Nota Bene…

  • Our unikernel numbers include op=miza=ons

to the underlying virtualiza=on plamorms (Xen, KVM)

– Toolstacks – Back-end stores – Hotplug scripts – Network drivers (on Xen Tx)

  • No =me to go over these…
slide-37
SLIDE 37

RESULTS

slide-38
SLIDE 38

Image Size, Memory Usage (log scale)

913 913 61 12 3.7 3.5 2 112 82 3.8 52 31 30 8 1 10 100 1000 MB img size mem usage

slide-39
SLIDE 39

Boot Times (log scale)

6500 2988 1711 1081 431 330 31 1 10 100 1000 10000 Boot Time (ms)

slide-40
SLIDE 40

RTT

34 19 18 15 9 5 4 5 10 15 20 25 30 35 40 RTT (ms)

slide-41
SLIDE 41

Throughput

10 20 30 40 50 60 Throughput (Gb/s) Tx Rx

slide-42
SLIDE 42

Conclusions

  • Common lore: VMs provide good isola=on but

are heavyweight

– Results with standard VMs confirm this

  • Containers provide lighter-weight

virtualiza=on

– But =nyfied VMs and especially unikernels yield comparable performance

slide-43
SLIDE 43

Conclusions

  • Common lore: VMs provide good isola=on but

are heavyweight

– Results with standard VMs confirm this

  • Containers provide lighter-weight

virtualiza=on

– But =nyfied VMs and especially unikernels yield comparable performance

slide-44
SLIDE 44

Poten5al Contribu5ons to draT-natarajan-nfvrg-containers-for-nfv-01

2.1.1 Challenges

  • VNF provisioning =me
  • Run=me performance (throughput, scaling up/down)
  • 3. Benefits of Containers
  • Service agility vs VMs
  • Containers have beoer run=me performance
  • Auto-scaling of VNFs
  • Cross-VNF compa=bility: container unikernel/minimalis=c distro
  • Overall performance: VMs -25% throughput vs containers
  • 5. Conclusion
  • Containers have significant advantages vs hypervisor-based solu=ons