This document summarizes a presentation comparing the virtualization technologies Xen and KVM. It describes the current use of Xen in production systems and outlines KVM as a potential future option. Benchmarks are reported for CPU, network, and disk performance between Xen, KVM, and physical systems to evaluate the overhead of virtualization with each technology. The results show KVM provides good stability and CPU performance, though disk I/O remains its most problematic aspect, while Xen currently has the best overall performance.
This document summarizes a presentation comparing the virtualization technologies Xen and KVM. It describes the current use of Xen in production systems and outlines KVM as a potential future option. Benchmarks are reported for CPU, network, and disk performance between Xen, KVM, and physical systems to evaluate the overhead of virtualization with each technology. The results show KVM provides good stability and CPU performance, though disk I/O remains its most problematic aspect, while Xen currently has the best overall performance.
This document summarizes a presentation comparing the virtualization technologies Xen and KVM. It describes the current use of Xen in production systems and outlines KVM as a potential future option. Benchmarks are reported for CPU, network, and disk performance between Xen, KVM, and physical systems to evaluate the overhead of virtualization with each technology. The results show KVM provides good stability and CPU performance, though disk I/O remains its most problematic aspect, while Xen currently has the best overall performance.
comparison between them Riccardo Veraldi Andrea Chierici INFN - CNAF HEPiX Spring 2009
Outline xen kvm Test description Benchmarks Conclusions Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 2 What we have now: Xen Open source industry standard for virtualization Included in all recent linux distributions Supports para and hvm approaches Widely used in HEP community Wont go into details during presentation Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 3 What could be the future: KVM Kernel-based Virtual Machine Open source included in latest linux kernels: implemented as a module A user space program uses /dev/kvm interface to set up VMs (qemu-kvm) Supports hvm approach Rather new to HEP community Qumranet now owned by Red Hat Foreseen boost in development Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 4 KVM virtio Direct access to hardware Hard disk (/dev/vdx) Ethernet interface Support from kernel 2.6.25 Supported since RHEL 5.3 (virtio backport) kernel 2.6.18-128.1.1 Virtio drivers must be on the VM, not on the host EGEE sw cant currently benefit from this
Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 5 KVM seen by system admin rpms: basically the kernel module and a modified version of qemu (qemu-kvm) Network configuration to be done by hand in order to get public IP bridge-utils and tunctl rpms were used to set-up tap interface Script developed to automate the process A modified init.d script to configure software bridge has been developed at CNAF No VM configuration file direct support VMs are launched via a standard UNIX command + command line options libvirt
Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 6 KVM seen by system admin No direct interface to manage VMs by command line (e.g. xm) Libvirt support Virt-manager working Monitor interface Very powerful, lots of options available qemu already well documented, support available on-line Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 7 KVM introduced at CNAF We use quattor to configure and install grid nodes and virtual machines Profiles describe machine configuration Network boot for installation working Keeps booting from network, need to restart with -boot c No need for any modification, just like xen- hvm Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 8 Qualitative test CNAF is running LHCb tier2 site entirely on xen VMs (2 CEs, 1 SE) Changed one Computing Element with a KVM machine Has been working for more that 3 weeks flawlessly Quattor machine profile unmodified, no effort for sysadmin CMS secondary squid server installed on the same host with same result (2 weeks ago) Running a KVM in production since 2 months for INFN-CA backups. Works flawlessly KVM executed (and live migrated!) a win7 VM Hardware used: 1 node, dual E5420, 16GB ram, sata disks via Areca controller
Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 9 Quantitative test: description Need some measures to understand what is the best solution Tested 3 classic parameters CPU hep-spec06 (v1.1), PI test for cpu distribution Network iperf (v2.0.4) Disk access bonnie++ (v1.94) Compared Xen (para-virtualized and hvm) with KVM, using non virtualized machine as a baseline Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 10 Quantitative test: description Hardware used: 1 blade, dual E5420, 16GB ram, 10k sas disk via LSI logic raid controller (raid0) Xen-para VM specs: 1 vcpu, 2 GB ram, disk on a file Xen-hvm VM specs: 1 vcpu, 2GB ram, disk on a file, netfront network driver KVM VM specs: 1 vcpu, 2GB ram, disk on a file, e1000 network driver emulation (non-virtio tests) Host OS: SL 5.2 x86_64, kernel 2.6.18-92.1.22.el5 VM OS: SLC 4.5 i386, kernel 2.6.9-67.0.15.EL.cern VM OS: SLC 5.3 x86_64, kernel 2.6.18-128.1.1 for kvm virtio tests KVM version: 83 Xen version: 3.2.1 Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 11 Benchmarks: HEP-Spec06 Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 7.5 8 8.5 9 9.5 10 10.5 11 1 4 7 8 H E P - S p e c 0 6
Number of concurrent VMs XEN vs. KVM on dual Intel E5420, single performance measure Xen-hvm Xen-para KVM E5420 12 Benchmarks: HEP-Spec06 Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 10 20 30 40 50 60 70 1vm 4vm 7vm 8vm H E P - S p e c 0 6
VMs vs. CPU kvm xen-hvm xen-para E5420 13 Benchmarks: HEP-Spec06 Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 10 20 30 40 50 60 70 E5410 E5420 E5420kvm E5420xen-hvm E5420xen-para E5430 H E P - S p e c 0 6
8VMs aggregate vs. CPUs 14 Benchmarks: HEP-Spec06 Virtualization Technology % loss from non emulated CPU (E5420, 8vm) E5420kvm 3,42 E5420xen-hvm 4,55 E5420xen-para 2,02 E5410 vs. E5420 4,07 Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 15 Benchmarks: PI test System tools to measure CPU usage are not reliable enough Calculating PI with n arbitrary ciphers Algorithm based on Numerical Recipes Written in C Compiled with options gcc -O3 -ffast-math -finline-limit=1000 Returns the number of CPU cycles An external function included into the code calculates the number of CPU cycles, using rdtsc IA32 registry
Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 16 Benchmarks: PI test Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 2.1E+12 2.2E+12 2.3E+12 2.4E+12 2.5E+12 2.6E+12 2.7E+12 2.8E+12 2.9E+12 3E+12 3.1E+12 host guest C P U
c y c l e s
KVM host vs. guest difference < 2% 17 Benchmarks: PI test Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 8 core Balanced Performance Every guest uses one core at 100% 2.1E+12 2.2E+12 2.3E+12 2.4E+12 2.5E+12 2.6E+12 2.7E+12 2.8E+12 2.9E+12 3E+12 3.1E+12 guest singolo guest1 guest2 guest3 guest4 guest5 guest6 guest7 guest8 C P U
c y c l e s
8 concurrent guest 18 Benchmarks: PI test Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea Good balancing on guest Max difference 14%, average ~5%
1E+12 2E+12 3E+12 4E+12 5E+12 6E+12 7E+12 C P U
c y c l e s
17 concurrent guests 19 Benchmarks: Iperf Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 100 200 300 400 500 600 700 800 900 1000 1vm 2vm 4vm 8vm host M b i t s / s e c
iperf -w256k -P 5 -t 900 KVM Network Performance, e1000 in out 20 Benchmarks: Iperf Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 100 200 300 400 500 600 700 800 900 1000 kvm e1000 kvm virtio xen-para xen-hvm pv M b i t s / s e c
iperf -w256k -P5 -t 900 KVM vs XEN, 1vm, network performance in out 21 Benchmarks: bonnie++, file vs lvm Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 20000 40000 60000 80000 100000 120000 140000 160000 Host 1 kvm file 1 kvm lvm 1 xen-para file 1 xen-para lvm 1 xen-hvm file 1 xen-hvm lvm K / s e c
bonnie++ on a single VM 2GB Ram, 4GB data set, 1vm comparison seq out block seq out rewrite seq in block 22 Benchmarks: bonnie++ Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 20000 40000 60000 80000 100000 120000 1 kvm vm 4 kvm vm 8 kvm vm 1 xen-para 4 xen-para 8 xen-para 1 xen-hvm 4 xen-hvm 8 xen-hvm 2GB ram, 4GB data set, single seq out block seq out rewrite seq in block 23 Benchmarks: bonnie++, kvm virtio Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 20000 40000 60000 80000 100000 120000 140000 Host hdb vdb K / s e c
Bonnie++ on a single vm 32GB data set, lvm partition, single seq out block seq out rewrite seq in block 24 Benchmarks: bonnie++ Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 0 20000 40000 60000 80000 100000 120000 K / s e c
seq output block seq output rewrite seq input block 2GB ram, 4GB data set, 8vm aggregate 25 Conclusions KVM proved good stability and reliability No problems on running production machines for more than 4 weeks CPU performances are extremely good Modern CPU virtualization technologies help! Network performances are fair with e1000, good with virtio Disk I/O seems the most problematic aspect Other solutions have problems too Requires sysadmins only a small effort Even if looking promising, right now xen is the most performing solution Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 26 Future work qemu snapshot features Backup and cloning of nodes
high-level VM managers Ovirt, enomalism, ganeti Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 27 Bibliography and links Xen Xen repository KVM Kvm repository Quattor HEP-SPEC Numerical Recipes: second edition in C Computer Systems: A Programmer's Perspective
Riccardo.Veraldi@cnaf.infn.it - HEPiX Spring 2009 Umea 28