27
Aug
2015

The Cost of Virtualization

I’ve been wondering – does running an OS virtualized impact performance in any meaningful way? A bit of background:

Virtualization is the process of running an entire OS inside another. Doing this allows you to run many OS’s in one machine. You can configure each OS to use a certain amount of resources from the host computer. I am running a six-core machine with 8GB of RAM, and I could configure an OS to have 4 cores with 2GB of RAM if I wanted, or two OS’s with three cores each. It depends on what you want to use these virtualized OS’s for.

I use xubuntu as my main OS, but sometimes I need to use a Windows program that doesn’t behave well with Wine. Many times I need to use a Linux program and a Windows program at the same time, and you can’t do this with a dual-boot system. So, I use VirtualBox to virtualize Windows 8:

Screenshot_2015-08-26_23-33-28

I give it access to all six cores and 3GB of RAM. My question is – how much performance do I get?

To test this I am going to run theĀ Blender benchmark (you can get the benchmark blend file here). I ran the benchmark by opening the file and pressing F12. The times are below:

  • Ubuntu 15.04 64bit (normal boot): 6 mins, 49 secs
  • Ubuntu 15.04 64bit (normal boot, CUDA GTX 750Ti): 3 mins, 30secs
  • Windows 8 64bit (virtualised): 20mins, 10secs
  • Windows 7 64bit (normal boot): 11mins, 58secs
  • Windows 7 64bit (CUDA GTX 750Ti): 3mins, 19secs

Already we can see that the CPU performance of Blender on Ubuntu vastly outstrips that of the Windows versions (CUDA was about the same). The real test is to compare Windows virtualized vs Windows normally booted.

So it seems that running Windows 8 virtualized has a big negative impact on rendering performance in Blender, almost taking twice as long compared to running Windows normally. I don’t do any rendering normally, so let’s think of another test… Stay tuned!

blenderoutput

Counting down the days
PowerLine Networking: Good house wiring matters! (Ft. TP-Link AV500)

{2 Responses to “The Cost of Virtualization”}

  1. There are certain applications where virtualization is not the best solution (such as render farms, high performance computing or latency sensitive applications.). Virtualization has the most impact when used for general file servers, web servers, terminal servers (RDP farms), and certain application servers (apps that aren’t latency sensitive or compute heavy).

    Chris
    • This is true, though people still seem to be using them for rendering every so often. I’m going to be looking at less CPU intensive stuff and looking at IO characteristics soon!

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.