VT on chip question

haggggler

Gawd
Joined
Nov 17, 2005
Messages
667
Please help me settle this debate. Are VT and cache worth the extra change for home or soho server?

A friend has always stated that a CPU with VT support doesn't add anything to the game unless your running something other than VMware e.g. VirtualPC, Xen, VitualBox etc. After playing with Google for the last hour I'm just going to ask here because I''ve been playing with VMs for the last year and I'd like to have this confirmed/refuted before my next CPU purchase.

Is there any advantage to having a CPU that supports VT?
Where would I see an advantage with more cache on the CPU?
Is the VMs particular work directly related to the above answers, in other words would advantages only be seen when VMs are used for real server work like active databases and other intensive work loads?

I do understand my questions are rather abstract, so how does the example below apply to the earlier questions?

Q6600(VT) vs. Q8200(no VT)
XP 64-bit as the Host OS
Untangle as a VM (think IPsence, WatchGuard, SmoothWall etc.)
Maybe another light VM or two, I am looking at trying to get Boxee, XBMC or MythTV running. Regular home or really small SMB (1-5 employees) traffic and IO.

Thank you all in advance,

haggggler
 

Thuleman

Supreme [H]ardness
Joined
Apr 13, 2004
Messages
5,833
All I know is that ESX(i) will not run unless there's VT support enabled, at least that's true for the boxes I have tried this on. VMware Workstation doesn't require VT, but it does if you want to run ESX(i) within it. No idea on VMware server or Hyper-V etc.
 

bholstege

[H]ard|Gawd
Joined
Dec 31, 2007
Messages
1,054
With VT:
Passmark CPU: 820.9
Passmark Memory: 499.2

No VT:
Passmark CPU: 730.8
Passmark Memory: 657

So it looks like it improves CPU performance but hurts memory?
 

kompulsive

Limp Gawd
Joined
Oct 11, 2008
Messages
355
More information on this question would be great. It has raised my curiosity. I think it is a pretty important question.
 

oDii

Limp Gawd
Joined
Apr 18, 2006
Messages
169
Paging lopoetve to the thread!

There's an awful lot of "noninformation" about VT around at the moment, making it sound like you cannot run VMs or that they'll perform poorly without it. I point you to Intel's demo. All of what they talk about there is possible without VT - as all they describe in the example is a type 2 hypervisor running an OS with threat detection software installed, acting as a gateway for the physical machine.

My understanding of VT is that it essentially offloads tasks that would normally (without VT) be emulated by a hypervisor, allowing them to be run with the benefit of hardware acceleration (or near native performance). An example of this would be running a 64bit guest from a type 2 hypervisor installed on a 32bit operating system. With VT, the hypervisor has direct access to the memory controller, making this possible. Without VT, because the hypervisor cannot communicate directly with the memory controller, it has to use the 32bit OS to service requests, making 64bit operation impossible (or impracticle without another layer of translation).

Another example would be a technology that VMware demonstrated at VMworld last year (I believe), where using a form of VT technology they were able to essentially dedicate a NIC to a virtual machine. This is useful when dealing with 10gbit NICs, as dealing with that much raw bandwidth without a dedicated co-processor (ie. the one on the NIC that is designed to do it) could slow the entire host down. I forget the name of the technology but I believe it is actually available in VMware ESX currently.
 

Blue Fox

[H]F Junkie
Joined
Jun 9, 2004
Messages
11,784
Another example would be a technology that VMware demonstrated at VMworld last year (I believe), where using a form of VT technology they were able to essentially dedicate a NIC to a virtual machine. This is useful when dealing with 10gbit NICs, as dealing with that much raw bandwidth without a dedicated co-processor (ie. the one on the NIC that is designed to do it) could slow the entire host down. I forget the name of the technology but I believe it is actually available in VMware ESX currently.
Intel already has some NICs that are optimized for virtualization. You can read up on it here: http://www.intel.com/network/connectivity/solutions/virtualization.htm
 

Arceon

Weaksauce
Joined
Sep 25, 2006
Messages
85
I know this isn't exactley related to the question your asking, but just thought i'd let you know.

You don't say if your using a "proper" server or a desktop, and ESXi won't run on anything thats not in its list of "Compatible Servers". A desktop will not run it (been there tried that), so make sure your using a bonefide server (HP Proliant ML115 G5's are cheap, but get the Intel one)

Also, im not sure about the use of Untangle as a VM, is this something you have setup at the moment and operational? I was under the impression that Untangle had to physically interrupt the traffic entering and leaving the building (as we have it set up). If you do have it running in a VM mind, i might have a play with that later!

Also slightly more on topic, just last week i was tasked with setting up a VM server, and i went through Hyper-V, ESXi, Debian Etch with VMWare server 2 and finally settled on Xen Server Enterprise (now free). Hyper-V ran DOG slow unless VT was turned on (20 mins to login screen), ESXi would not install unless VT was turned on (even then it didnt install because of my SATA controller) and Xen just runs faster with it on, like a lot faster (in VMs).

Just my 2 penneth.
 

Thuleman

Supreme [H]ardness
Joined
Apr 13, 2004
Messages
5,833
You don't say if your using a "proper" server or a desktop, and ESXi won't run on anything thats not in its list of "Compatible Servers". A desktop will not run it (been there tried that)
That's incorrect.
I am running ESXi on a LanParty P35 motherboard with an Q6600 chip in it. I also have ESX installed on two white-box servers which are not listed on the "Compatible Servers" list, and they too work just fine.

ESXi will not run on RAID cards not listed in the HCL, and it won't run on fakeraid, but you can install it on a single SATA HDD on many of the more recent motherboards. If VT is enabled in the BIOS (which it is often NOT by default) and your chip supports it, then it will work just fine.

When in doubt though, just try it out since all it takes to find out for sure is to download and burn. ;)
 

Arceon

Weaksauce
Joined
Sep 25, 2006
Messages
85
That's incorrect.
I am running ESXi on a LanParty P35 motherboard with an Q6600 chip in it. I also have ESX installed on two white-box servers which are not listed on the "Compatible Servers" list, and they too work just fine.
Ah maybe it was just me jumping to conclusions then. I never made a note of the errors it gave me on the 2 desktop PC's i tried, but the server error was something to do with my SATA controller not being supported so i must of just been unlucky :rolleyes:
 

sabregen

FDE is my God. I worship at it's alter.
Joined
Jun 6, 2005
Messages
19,436
ESXi requires VT to install. ESXi also has a more stringent HCL than ESX (which is part of what you pay for when you buy ESX...amongst other things). VT is required if you want to do an "environment in a box" like I did, where I was virtualizing the ESX(i) hosts, themselves. AMD's Pacifica or Intel's EMT64 are required to virtualize any OS's that require the CPU information to be directly available to them, and not to be abstracted from the VM's OS.

bholstege posted some numbers, but not the context in which they were obtained. Was is a 64bit host OS, with a 32bit guest? Type 1 or Type 2 hypervisor? What virtualization product, and what was the guest OS? this information would be helpful. If I had to guess, his numbers are based on a 64bit host, and 32bit guest, in which case the CPU is doing page-mode switching on-die for the 32bit and the 64bit memory pages, which then hit CPU cache, and impacts memory throughput, directly. I could be wrong though.

In regards to the OPs post, the benefits from having a VT enabled CPU would be if you wanted to virtualize the ESX(i) hosts, themselves, or expose the CPU architecture to the VMs (for software testing purposes, dev work, etc). Beyond that, ESXi won't install with hardware VT support on the CPU. On newer CPUs, the VT support is included...all the way back to Socket 940 Opteron Rev F chips, or S775 Intel E6300's, both of which are cheap to build on (for a total solution). I don't really see an argument to consider a non-VT chip, at this point.
 

lopoetve

Imhotep
Joined
Oct 11, 2001
Messages
29,470
Paging lopoetve to the thread!
LOL. I'm best at storage.
There's an awful lot of "noninformation" about VT around at the moment, making it sound like you cannot run VMs or that they'll perform poorly without it. I point you to Intel's demo. All of what they talk about there is possible without VT - as all they describe in the example is a type 2 hypervisor running an OS with threat detection software installed, acting as a gateway for the physical machine.

My understanding of VT is that it essentially offloads tasks that would normally (without VT) be emulated by a hypervisor, allowing them to be run with the benefit of hardware acceleration (or near native performance). An example of this would be running a 64bit guest from a type 2 hypervisor installed on a 32bit operating system. With VT, the hypervisor has direct access to the memory controller, making this possible. Without VT, because the hypervisor cannot communicate directly with the memory controller, it has to use the 32bit OS to service requests, making 64bit operation impossible (or impracticle without another layer of translation).

Another example would be a technology that VMware demonstrated at VMworld last year (I believe), where using a form of VT technology they were able to essentially dedicate a NIC to a virtual machine. This is useful when dealing with 10gbit NICs, as dealing with that much raw bandwidth without a dedicated co-processor (ie. the one on the NIC that is designed to do it) could slow the entire host down. I forget the name of the technology but I believe it is actually available in VMware ESX currently.
Pretty close to dead on. VT allows direct access to certain registers within the CPU. VT-D does it for devices on the PCI bus - this allows you to run some things at closer to realtime performance, since they can get access to the cpu itself. (Or for VT-D, you may eventually be able to do a passthrough to your actual video card, or your network card). For some few things, it may decrease performance, but those are few and far between.

If you're going to run a bunch of virtual machines, you'll get better performance with VT than without, but you certainly don't ~NEED~ it to run VMs - any hypervisor can virtualize the entire processing stack.
 

lopoetve

Imhotep
Joined
Oct 11, 2001
Messages
29,470
I know this isn't exactley related to the question your asking, but just thought i'd let you know.

You don't say if your using a "proper" server or a desktop, and ESXi won't run on anything thats not in its list of "Compatible Servers". A desktop will not run it (been there tried that), so make sure your using a bonefide server (HP Proliant ML115 G5's are cheap, but get the Intel one)

Also, im not sure about the use of Untangle as a VM, is this something you have setup at the moment and operational? I was under the impression that Untangle had to physically interrupt the traffic entering and leaving the building (as we have it set up). If you do have it running in a VM mind, i might have a play with that later!

Also slightly more on topic, just last week i was tasked with setting up a VM server, and i went through Hyper-V, ESXi, Debian Etch with VMWare server 2 and finally settled on Xen Server Enterprise (now free). Hyper-V ran DOG slow unless VT was turned on (20 mins to login screen), ESXi would not install unless VT was turned on (even then it didnt install because of my SATA controller) and Xen just runs faster with it on, like a lot faster (in VMs).

Just my 2 penneth.
Untangle can run as a VM. :)
 

lopoetve

Imhotep
Joined
Oct 11, 2001
Messages
29,470
ESXi requires VT to install. ESXi also has a more stringent HCL than ESX (which is part of what you pay for when you buy ESX...amongst other things). VT is required if you want to do an "environment in a box" like I did, where I was virtualizing the ESX(i) hosts, themselves. AMD's Pacifica or Intel's EMT64 are required to virtualize any OS's that require the CPU information to be directly available to them, and not to be abstracted from the VM's OS.

bholstege posted some numbers, but not the context in which they were obtained. Was is a 64bit host OS, with a 32bit guest? Type 1 or Type 2 hypervisor? What virtualization product, and what was the guest OS? this information would be helpful. If I had to guess, his numbers are based on a 64bit host, and 32bit guest, in which case the CPU is doing page-mode switching on-die for the 32bit and the 64bit memory pages, which then hit CPU cache, and impacts memory throughput, directly. I could be wrong though.

In regards to the OPs post, the benefits from having a VT enabled CPU would be if you wanted to virtualize the ESX(i) hosts, themselves, or expose the CPU architecture to the VMs (for software testing purposes, dev work, etc). Beyond that, ESXi won't install with hardware VT support on the CPU. On newer CPUs, the VT support is included...all the way back to Socket 940 Opteron Rev F chips, or S775 Intel E6300's, both of which are cheap to build on (for a total solution). I don't really see an argument to consider a non-VT chip, at this point.
I think you mean without hardware VT for your last paragraph, instead of with. :)
 

sabregen

FDE is my God. I worship at it's alter.
Joined
Jun 6, 2005
Messages
19,436
I think you mean without hardware VT for your last paragraph, instead of with. :)

Yep, you/re right. I am typing today with a brace on, because my carpal tunnel is flaring up today. Good catch
 

Ranma_Sao

2[H]4U
Joined
Mar 15, 2002
Messages
2,592
The other interesting fact about VT enabled Hypervisors is they are much harder to detect inside the VM.

I can detect non hypervisor VM's with one assembly instruction.

In the world of malware analysis, this is invaluable. ;)

This posting is provided "AS IS" with no warranties, and confers no rights.
 
Top