vms unikernels and containers experiences on the
play

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


  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)

  2. In the Beginning… VM

  3. In the Beginning… “Tinyfied VMs” VM

  4. In the Beginning… “Tinyfied VMs” VM unikernels

  5. In the Beginning… “Tinyfied VMs” containers VM unikernels

  6. In the Beginning… “Tinyfied VMs” containers VM unikernels

  7. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput

  8. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput lower higher overhead overhead

  9. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput lower higher overhead overhead

  10. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput lower higher overhead overhead

  11. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput lower higher overhead overhead

  12. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput lower higher overhead overhead

  13. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay ? – Throughput lower higher overhead overhead

  14. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput lower higher overhead overhead

  15. Virt. Technology Benchmarking • Metrics: – VM Image and memory consump=on – VM crea=on =me – Delay – Throughput ? lower higher overhead overhead

  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.

  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

  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

  19. Standard VM: Applica=on on Top of Distro User Applica5on 3 rd Party Applica5ons Libraries Services Kernel

  20. Most of the VM not Used… Nginx User Applica5on bash 3 rd Party Applica5ons memcached libssl Libraries libc ssh init Services netfront ext4 blkfront Kernel

  21. Tinyx: Keep Only What’s Needed Nginx User Applica5on bash 3 rd Party Applica5ons memcached libssl Libraries libc ssh init Services netfront ext4 blkfront Kernel

  22. Tinyx: Taylor-made Distro Nginx User Applica5on memcached bash 3 rd Party Applica5ons libssl Libraries libc ssh init Services netfront blkfront Kernel ext4

  23. Tinyx: Taylor-made Distro Nginx User Applica5on memcached bash 3 rd Party Applica5ons libssl Libraries libc ssh init Services netfront blkfront Kernel ext4

  24. Tinyx: Taylor-made Distro Nginx User Applica5on memcached bash 3 rd Party Applica5ons libssl Libraries libc ssh init Services netfront blkfront Kernel ext4

  25. Tinyx: Taylor-made Distro Nginx User Applica5on memcached bash 3 rd Party Applica5ons libssl Libraries libc ssh init Services netfront blkfront Kernel ext4

  26. Tinyx: Taylor-made Distro ▌ Keep only the Nginx User Applica5on necessary bits and pieces memcached l Specialized bash 3 rd Party Applica5ons kernel build containing only the necessary modules libssl Libraries l Root filesystem populated with libc only necessary services, libraries ssh and 3 rd party init Services applications netfront blkfront Kernel ext4

  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

  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

  29. What’s a Unikernel? • Specialized VM: single applica=on + minimalis=c OS • Single address space, co-opera=ve scheduler so low overheads

  30. What’s a Unikernel? • Specialized VM: single applica=on + minimalis=c OS USER SPACE app 1 app 2 app N • Single address space, co-opera=ve scheduler so low overheads KERNEL SPACE driver1 driver2 driverN GENERAL-PURPOSE OPERATING SYSTEM (e.g., Linux, FreeBSD)

  31. What’s a Unikernel? • Specialized VM: single applica=on + minimalis=c OS USER SPACE app 1 app 2 app N • Single address space, co-opera=ve scheduler so low overheads KERNEL SPACE app SINGLE ADDRESS Vdriver1 SPACE vdriver2 driver1 driver2 driverN GENERAL-PURPOSE MINIMALISTIC OPERATING SYSTEM OPERATING SYSTEM (e.g., Linux, FreeBSD) (e.g., MiniOS, OSv)

  32. Unikernels for Benchmarking apps On Xen guest OS Xen

  33. Unikernels for Benchmarking apps iperf On Xen guest mini OS OS Xen Xen

  34. Unikernels for Benchmarking apps iperf On Xen guest mini OS OS Xen Xen apps On KVM guest OS KVM

  35. Unikernels for Benchmarking apps iperf On Xen guest mini OS OS Xen Xen apps iperf On KVM guest OSv OS KVM KVM

  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…

  37. RESULTS

  38. Image Size, Memory Usage (log scale) 1000 913 913 img size mem usage 100 112 82 61 MB 52 31 30 10 12 8 3.8 3.7 3.5 2 1

  39. Boot Times (log scale) 10000 6500 2988 1000 1711 Boot Time (ms) 1081 431 330 100 31 10 1

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

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

  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

  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

  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

Recommend


More recommend