Part 6: Quad-Core Workstations for Desktop Virtualization Projects - Performance
By natiku on Dec 17, 2009
For our virtualization projects like JeOS Prototype / Virtual Appliances / VM Templates we need to have Desktop hardware with latest Hardware Accelerated Virtualization support, currently this mean AMD = AMD-V and Intel = VT-x platforms.
Today is avaiable next (SECOND) generation of Hardware Accelerated Virtualization support focused onto improve memory performance AMD = RVI (Rapid Virtualization Technology) with Phenom CPU platform and Intel EPT (Extended Page Table) with Core i7 CPU platform.
This entry is part of HW for Virtualization Workshop
This hardware was used to create OpenSolaris 200906 JeOS Prototype VM images in 10+ Virtualization formats - Download
HW Performance Tuning and HW Virtualization Stability
We will tine Hardware for close to max performance (in most cases memory perfornace can be safely tuned), of course without HARD over-clocking and after we will make a final check for HW Virtualization Support and Stability by using real Virtualization products.
Final HW Virtualization Support and Stability
I Choose a Windows XP 64bit for final HW Virtualization 'Intel VT-x/EPT or AMD-V/RVI' support test and I will make a real install of 64-bit system info to most popular Windows Virtualization products:
- VMware Workstation 6.5.2
- Sun xVM VirtualBox 3.0.12
VMware Workstation 6.5.2
From VMware Workstation discussions about latest processors support:Workstation 6.5 supports AMD nested paging (a.k.a. Rapid Virtualization Indexing). It will be used by default in configurations where it is expected to be of benefit. If you want to ensure that your guest uses 'Intel VT-x/EPT' or 'AMD-V/RVI', select the 'processors tab' in the hardware configuration menu and change the preferred 'execution mode' from 'Automatic' to 'Intel VT-x/EPT or AMD-V/RVI.'
Check in VMware Workstation 6.5.2 logs then both HW acceleration options are really enabled
cat vmware.log | grep hardware Apr 03 16:34:39.093: vmx| DICT monitor.virtual_mmu = hardware Apr 03 16:34:39.093: vmx| DICT monitor.virtual_exec = hardware Apr 03 16:34:39.093: vmx| HV Settings: virtual exec = 'hardware'; virtual mmu = 'hardware'
Sun xVM VirtualBox 3.0.12
From Vbox discussions about latest processors support:Vbox 3.0.12 supports AMD nested paging (a.k.a. Rapid Virtualization Indexing). It is not used by default. If you want configure Vbox that your guest uses Intel VT-x/EPT or AMD-V/RVI, select the 'General' tab in the VM overview screen, on it 'Advanced' and select 'Nested Pages' option. Note: HW acceleration is on Automatically if it is supported and it is forced if you select 64 bit OS.
Check in Sun xVM VirtualBox 3.0.12 logs then both HW acceleration options are really enabled
cat VBox.log | grep HWACCM | egrep "64-bit|nested" 00:00:02.155 HWACCM: 32-bit and 64-bit guests supported. 00:00:02.155 HWACCM: Enabled nested paging
Intel Core i7 Tuning
Needed option "Enabled Virtualization in BIOS", don't work BIOS update to F3 was needed"
AMD Phenom II Tuning
HW Virtualization enabled in BIOS and looks ok, but I see instability in HW Virtualization without enabled "nested pages" in initial VirtualBox 3.0.x relases, but this was fully resolved in Vbox 3.0.12
- AMD Unganged - Gangeged
It is AMD's version of Nvidia's Locked vs unlocked architecture. Basically allowing you to use your ram in dual channel vs single channel.
- Ganged = Dual channel mode for ram. All cores get access to 100% of the ram.
- Unganged = Single channel. Each core gets access to a stick of ram.
Ganged and Unganged are both dual channel memory modes, as long as you are using pairs of RAM. Ganged means you will run one large 128bit dual channel bus, and unganged means you will use 2x64bit dual channel bus. Which is better depends on what apps you use. Heavy multitasking will benefit from nonganged. How multi threaded apps handle ganged or nonganged I'm not sure, but I would guess better performance from nonganged, unless the app requires maximum memory write.