Gabriel Girard
Benoit des Ligneris, Ph. D.
bdl@RevolutionLinux.com
Comparative study of
Open Source virtualization & contextualization
technologies
© Révolution Linux 2008. Ce document est confidentiel.
Context (1)
Introduction
Why virtualize the server infrastructure
Virtualization technologies
The experiments
Explanations & anomalies
Which technology is best for ... you ?
Hardware emulation
●
Classic virtualization
●
● Para-virtualization
● Para-virtualization Xen
Linux-VServer
● OS-level virtualization
(contextualization/
containers) OpenVZ
virtualization != emulation
QEMU is an emulator
Virtualization technologies
2 types of experiments:
Host -- 2.6.22-14-server --
Test bed:
Chosen OSs:
Intel Core 2 Duo 6300, 1.86GHz
(x86_64 / VT-x)
Host: Ubuntu 7.10
4G Memory
VMs: Ubuntu 6.06
Hard drive SATA 80G
© Révolution Linux 2008. Ce document est confidentiel.
The experiment (4)
Methodology :
4 execution sets
results = the average of the 3 last sets normalized by
the result obtained by the Linux host
0.9
Li nux-VServer
Xen
0.8
OpenVZ
KVM
Virtual Box (-hwvirtex off)
0.7 KQEMU
Virtual Box (-hwvirtex on)
QEMU
0.6
Nomalized time
(kernel vanilla)
0.5
0.4
0.3
0.2
0.1
Bzip2
cd /var/tmp
cp /home/fernando/Iso/ubuntu-6.06.1-server-i386.iso .
date +%s.%N && bzip2 -9 ubuntu-6.06.1-server-i386.iso && date +%s.%N 4x
rm ubuntu-6.06.1-server-i386.iso.bz2
...
Bzip2
1.00
0.90
0.80 Xen
Li nux-VServer
VirtualBox (-hwvirtex on)
Vir tual Box (-hwvirtex off)
0.70
KVM
KQEMU
OpenVZ
0.60 QEMU
Normalized time
(kernel vanilla)
0.50
0.40
0.30
0.20
0.10
0.00
Dbench
Dbench
1.20
Normalizes throughput
(kernel vanilla) 1.00
Linux-VServer
0.80
Xen
OpenVZ
KVM
0.60 KQEMU
QEMU
0.40
0.20
0.00
dd
Application for low level (bit by bit) data copy
Mesures the performance of the I/O system (hard drive
access)
2 tests:
copy of a single big file
Metric : throughput
...
dd if=/opt/iso/ubuntu-6.06.1-server-i386.iso of=/var/tmp/out.iso
...
dd if=/dev/zero of=/dev/null count=117187560 # 117187560 = 60G
...
rm -fr /var/tmp/* # between execution sets
...
1.4
1.2
1.0
Li nux-VServer
Xen
KVM
OpenVZ
Normalized throughput
0.8
(kernel vanilla)
0.6
0.4
0.2
0.0
0.9
0.8
0.7
Li nux-VServer
KVM
OpenVZ
0.6 Xen
Normalized throughput
0.5
(kernel vanilla)
0.4
0.3
0.2
0.1
Netperf
KQEMU
KQEMU (-kernel-kqemu)
KVM
(kernel vanilla)
0.6
0.4
0.2
Rsync
1.2
1.0 OpenVZ
Virtual Box (-hwvirtex on)
VirtualBox (-hwvirtex off)
Li nux-VServer
Xen
QEMU
KQEMU (-kernel-kqemu)
0.8
KQEMU
KVM
Normalized time
(kernel vanilla)
0.6
0.4
0.2
0.0
1.2
OpenVZ
Virtual Box (-hwvirtex on)
1.0
KQEMU
VirtualBox (-hwvirtex off)
Li nux-VServer
KQEMU (-kernel-kqemu)
Xen
QEMU
0.8
KVM
Normalized time
(kernel vanilla)
0.6
0.4
0.2
0.0
On-Line Transaction
T Processing
P
OLTP test statistics:
queries performed:
read: 140000
write: 50000
other: 20000
total: 210000
transactions: 10000 (376.70 per sec.)
deadlocks: 0 (0.00 per sec.)
read/write requests: 190000 (7157.28 per sec.)
other operations: 20000 (753.40 per sec.)
Sysbench
1
0.9
Normalized throughput
0.8 Linux-VServer
Xen
0.7 KVM
(kernel vanilla)
OpenVZ
0.6 VirtualBox (-hwvirtex on)
VirtualBox (-hwvirtex off)
0.5 KQEMU
KQEMU (-kernel-kqemu)
0.4 QEMU
0.3
0.2
0.1
Conclusion :
Conclusion (cont) :
Methodology:
350
300
250 Linux-VServer
Xen
200 KVM
OpenVZ
VirtualBox
150
KQEMU
100
50
0
10
11
12
13
16
17
18
19
20
21
22
23
25
26
27
28
29
30
31
32
33
14
15
24
1
2
3
4
5
6
7
8
9
600
500
Linux-VServer
400 Xen
KVM
OpenVZ
300
VirtualBox
KQEMU
200
100
0
10
11
12
13
14
15
16
18
20
21
23
25
27
28
29
30
31
32
33
17
19
22
24
26
1
2
3
4
5
6
7
8
9
7000
6000
time (seconds)
5000
Host
4000 Vserver
Xen
3000
2000
1000
0
1 2 4 8 16 32
20
Kernel / Hours
15
Host
Vserver
10
Xen
0
1 2 4 8 16 32
Number of VM
Conclusion :
Since last OLS, key players like IBM, Intel, and Google
are working hard to include a container based
technology in the Linux kernel
Lots of patches from OpenVZ gets integrated into the
kernel recently and everyone expects that we will
have Really Soon Now a contextualization in the linux
kernel without the need for any kernel hacking
We strongly believe that the integration of a
contextualization/container solution is the best way to
go for Linux-on-Linux virtualization needs
It will offer VMWare a very strong and completely
open-source competition