6. Because virtual machines work by time-sharing host
physical hardware, they cannot exactly duplicate the
timing activity of physical machines. VMware® virtual
machines use several techniques to minimize and
conceal differences in timing performance, but the
differences can still sometimes cause timekeeping
inaccuracies and other problems in software running
in a virtual machine.
Source: http://www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf
7. Because virtual machines work by time-sharing host
physical hardware, they cannot exactly
duplicate the timing activity of physical
machines. VMware® virtual machines use several
techniques to minimize and conceal differences in
timing performance, but the differences can still
sometimes cause timekeeping inaccuracies and other
problems in software running in a virtual machine.
8. Because virtual machines work by time-sharing host
physical hardware, they cannot exactly
duplicate the timing activity of physical
machines. VMware® virtual machines use several
techniques to minimize and conceal differences in
timing performance, but the differences can still
sometimes cause timekeeping inaccuracies
and other problems in software running in a virtual
machine.
10. KVM is to VMWare As FreeSWITCH is to Asterisk
• KVM (Kernal Virtual Machine) is the open-source
equivalent of VMWare.
• Released in 2007 as part of Linux 2.6.20
• KVM is playing “catch-up” to VMWare
• Almost full feature parity
• KVM doesn’t hold your hand as much
• VMWare is more abstracted
• Less customization to get VMWare boxes up
• Better abstraction in VMWare
• KVM is leaner than VMWare
11. Platform Differences
• KVM > VMWare for timing
• VMWare > KVM for ease of use
• VMWare is the most abstracted virtualization software
• Easy to use
• Lots of overhead (messes with timing)
• KVM is less abstracted
• Devices are not plug and play
• Can’t easily share devices/ports on the same box in
different VMs
• Lean, mean and fast!
12. A few quick notes on Hardware
Assisted Virtualization
• First Introduced by IBM in 1972 for use in the VM/370
• VMWare first got x86 chips for virtualization in 2006
• Hardware assisted virtualization is closer to native
• Lots of performance benefits (theoretically)
• Early Hardware virtualization was actually slower
• KVM got later access to virtualization hardware
13. Timing: Whose Fault is it?
• Is it the Host operating system?
• Or the Virtualization?
VMWare says it’s the host:
Many host operating systems do not provide a way for
the virtual machine to request a physical timer interrupt at
a precisely specified time.
14. What causes this?
Lost ticks
•Timing is kept in ticks
• Ticks have a known rate and are used for measuring time
•Virtual Machines cannot call the tick command, and try to “catch up”
when they miss ticks
•This phenomenon is called “lost ticks”
•The solution?
• In current VMware products, if the backlog of interrupts grows beyond
60 seconds, the virtual machine gives up on catching up, simply setting
its record of the backlog to zero.
15. In current VMware products, if the backlog of
interrupts grows beyond 60 seconds, the
virtual machine gives up on catching up,
simply setting its record of the
backlog to zero.
22. Latency
• Because of overhead
• Microsoft Introduced Latency
• Which delayed Carbon Neutrality but
saved $140,000.
Moral: Know the impact of your
overhead, in application and
operations