[plug] Interesting VM trick

Brad Campbell brad at fnarfbargle.com
Mon May 26 09:42:35 UTC 2014


On 26/05/14 15:29, Russell Steicke wrote:
> On 26 May 2014 14:26, Brad Campbell <brad at fnarfbargle.com
> <mailto:brad at fnarfbargle.com>> wrote:
>
>     Then it occurred to me that QEMU does not know if I pass a full raw
>     disk or a partition. It looks the same, just smaller. So I
>     partitioned the drive into two, and restored the respective
>     MBR/partition tables at the start of each drive partition. kpartx
>     then looked at each partition as a partitioned disk and set up
>     /dev/mapper instances for me to restore the VM's to.
>
>     Now I can select either partition to pass to qemu (or both and run
>     two machines side by side) and I get raw disk performance, but
>     perfect separation of the machines. No more switching, and backups
>     can be performed as previously, but with an added kpartx step.
>     Windows can manage its own partition tables and file systems without
>     interference.
>
>
> Do you find that you need to use host block devices for performance?  I
> generally use files as the guest block devices, set up with libvirt's
> virt-manager, for my limited home VM use.  I haven't done speed testing
> to see what the difference would be.

The best answer is 'it depends'. Most of my VM's are managed with 
libvirt and live in qcow2 files on a RAID10 of 6 SSD's, and are "fast 
enough". They live on a single CPU AMD steamroller machine though.

For 3D CAD I can often have 24-28G of ram in use on a 32G machine, which 
means it tends to evict pages pretty rapidly and I felt a significant 
performance increase going from the filesystem to a raw block device.

Having said that, the host machine is an i7 3770K overclocked to 4.6Ghz, 
and I really am looking to get the absolute peak performance out of it. 
It can take up to 15 minutes to load and update all the model files, but 
it was about 17-19 minutes using file based storage.

In addition, I have a couple of thousand lines of AutoLISP that I run 
batch to take the 3D stuff and convert it to usable Autocad base models. 
That sees about a 25% increase in speed moving to raw block devices. 
When you go back to the bad old days of starting a task and waiting half 
an hour for it to complete, 25% represents a significant increase in 
productivity.

If I could justify the increase, I'd have a BOC LN2 tank outside and be 
overclocking to 6G. One day Autodesk will get the hang of 
multi-threading, but even their newest stuff (Navis & Revit) still 
relies very heavily on one thread, so raw performance matters.




More information about the plug mailing list