VMware

This Question is Answered

11 Replies Last post: Jan 2, 2009 7:45 AM by tom howarth  

CPU - 2 Core or 4 Core posted: Dec 27, 2008 2:21 PM

Click to view rcflyer2005's profile Novice 25 posts since
Dec 27, 2008

When choosing a CPU for free ESX3i, should I go with a slower 4-core or a faster 2-core? For example:

1) The Q6600 at 2.4 GHz, L2 Cache - 2 x 4MB.

2) The E8600 at 3.33Ghz, L2 Cache - 6MB.

Think I would have 4-5 OS loaded

1. Linux- optimized for LAMP.

2. Linux - for applications

3. Windows XP Pro - for applications

4. Windows 2000 - Sandbox to try new software

5. Maybe the latest Fedora or SUSE linux.

I would anticipate having two OSs running at the same time.

Thanks much.

Cheers!

Re: CPU - 2 Core or 4 Core

1. Dec 27, 2008 4:13 PM in response to: rcflyer2005
Click to view Gabrie's profile Master vExpert 902 posts since
Jun 6, 2005
If those realy are your only choises, go for more cores. No doubt :-)

http://www.GabesVirtualWorld.com

Re: CPU - 2 Core or 4 Core

2. Dec 27, 2008 5:33 PM in response to: rcflyer2005
Click to view IT_Architect's profile Hot Shot 173 posts since
Sep 11, 2008

When choosing a CPU for free ESX3i, should I go with a slower 4-core or a faster 2-core?

Interesting question. I'm here to resolve the same thing. Consider the follwing:
  • 4 cores would reduce contention and thus allow you to run more processes with more CPUs. WIth a single dual-core, your vms could only have 1 processor assigned.
  • Microsoft often limits their products to 1 physical processor, regardless of the number of cores. However, if the processor is virtualized, then each core is a logical processor. So then, have we basically cut down on the performance that we can get out of a licence? If the answer is yes, then fast cores is what we want, but then we still come out behind with vmware vs. native. If the answer is no, MS can still determine that the 4 or 2 cores are from the same physical processor, then the 4 cores are the way to go, and we don't come out behind using vmware.

It would be good to hear from someone who can PROVE or DISPROVE that MS still sees these cores as separate processors. Answers such as "It would be impossible in a virtualization environment...", or "There is no way that...", etc. simply serves to identify the source as a BSer. This is one of those questions that you don't want to hear the answer from an indian, you want to hear it from a chief. A chief is one that is employed full-time by and gets a weekly paycheck from VMware. The answer impacts the entire layout plan for the datacenter.

Re: CPU - 2 Core or 4 Core

3. Dec 27, 2008 8:33 PM in response to: rcflyer2005
Click to view weinstein5's profile Guru VMware Employees vExpert 6,888 posts since
Nov 19, 2005
Definitely more cores - more cores will give the vmkernel more slots to schedule the virtual cpus

If you find this or any other answer useful please consider awarding points by marking the answer correct or helpful

Re: CPU - 2 Core or 4 Core

4. Dec 28, 2008 9:07 AM in response to: weinstein5
Click to view Texiwill's profile Guru User Moderators vExpert 10,338 posts since
Jan 13, 2004
Hello,

Go for more cores. Performance or virtualization will be based on the # of simultaneous vCPUs that you can run. More cores implies more simultaneous vCPUs. If you keep to 1 and 2 vCPU VMs then that also implies more VMs.


Best regards,
Edward L. Haletky
VMware Communities User Moderator
====
Author of the book 'VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers', Copyright 2008 Pearson Education.
Blue Gears and SearchVMware Pro Blogs: http://www.astroarch.com/wiki/index.php/Blog_Roll
Top Virtualization Security Links: http://www.astroarch.com/wiki/index.php/Top_Virtualization_Security_Links

Re: CPU - 2 Core or 4 Core

5. Dec 28, 2008 9:50 AM in response to: Texiwill
Click to view IT_Architect's profile Hot Shot 173 posts since
Sep 11, 2008
Go for more cores<

Unless you have an app that is restricted to a single physical CPU, like many of the MS Server programs, in which case each core is a virtual CPU, which MAY be what that app sees as the physical CPU, in which case the one with the fastest core will outperform a lot of slower cores, because it will only use one of the cores for the app.

Re: CPU - 2 Core or 4 Core

6. Dec 28, 2008 10:54 AM in response to: IT_Architect
Click to view RParker's profile Champion vExpert 5,619 posts since
Dec 6, 2006
Unless you have an app that is restricted to a single physical CPU, like many of the MS Server programs

Sorry, I don't agree. EXACTLY which MS Apps are you referring to that SPECIFICALLY limit CPU? many isn't accurate, very FEW, and I know only one that prohibits more than 1 CPU, otherwise some of the MS Apps may not be optimized , but even then I am not seeing this in ANY application that MS makes at the moment. If the processors are there, the apps will utilize the CPU.

ALL the OS since Win95 can (and do) utilize Dual CPU/Core. All the Office apps can use Multi-core. All Development apps can use multi-core.

SQL Express is the only app that I am aware of that is strictly limited to only 1 CPU. ALL other apps will utilize multi core. So elaborate on which apps you think are limited to CPU in scope, because it's just not true.

CPU = Core for purposes of this explanation.

Re: CPU - 2 Core or 4 Core

8. Dec 28, 2008 1:29 PM in response to: RParker
Click to view IT_Architect's profile Hot Shot 173 posts since
Sep 11, 2008

SQL Express is the only
app that I am aware of that is strictly limited to only 1 CPU<

For the free versions the MSSQL 7 and 2000 based versions were limited to 2 physical CPUs, 2 gigs, had a resource governor, and allowed some pretty sophisticated replication. Starting with 2005, the express versions expanded the database limit to 4 gigs, no governor, crippled replication, and 1 physical CPU. In fact let's use the term SOCKETS because that is what MS uses now for clarity. In this case only one socket sees the load no matter how many you have.

ALL
other apps will utilize multi core.<

All OTHER apps? Microsoft licenses by the socket, including MSSQL. Express sees only one socket but sees multi-cores fine.

So elaborate on which apps you think are limited to CPU in scope, because it's just not true.<

How about every operating system in the Portable OS/2 Lan Manger line? That would be Portable OS/2 Lan Manager, Windows NT 3.0, Windows NT 3.5, Windows NT 3.51, Windows 2000, Windows XP, Windows 2003, Windows 2008.

Other:
This entire thread is about how applications see VMware virtual processors, and the effect of licensing, which is done by SOCKETs. It doesn't matter if we are talking about a one, two, or four socket version of an app or operating system, it would be the same problem. As a simple example: You buy a version of something licensed for 4 SOCKETS, and you put it in a box that has 4 quad cores in it. If you run it natively, all 16 cores would be available it. If you use it under VMware, and IF the app cannot determine that the virtual processors are from the same SOCKET, then each core counts as a SOCKET, and you would only be able to leverage 4 of the 16 cores for that application or operating system and the other 12 are doing very little. That's like pulling 6 of the 8 spark plug wires off your engine and running on two of the 8 cylinders. Keep in mind that this is an assumption. Everyone that has commented here doesn't really know and has not tried tried it. That's the answer I'm after.

If people simply have a pile of servers that aren't hardly doing anything, and want to consolidate them, than anything will do, including just consolidating apps on servers with same OS. If we're talking about a data center where you need to balance loads, migrate, etc., if you had to run 3/4 more instances, then VMware could cost you money even if they gave you the whole shebang and set it up for you for free. I've been down the virtualization road several times. The reason it has grown so slowly is because the price and performance of hardware keeps going down. The electricity savings proposition is about as valid as corn gas. My interest in it is not to save money, but break somewhere near even, and have more flexibility. Nothing is easier to grow or migrate than a virtual environment.

Re: CPU - 2 Core or 4 Core

9. Dec 29, 2008 8:25 PM in response to: IT_Architect
Click to view IT_Architect's profile Hot Shot 173 posts since
Sep 11, 2008
BTW, Microsoft is just an example. Oracle and many others also license by the socket. Sybase does it by the core.

I spoke with sales today who didn't know or understand, but I got to speak with a sales engineer. He understood exactly where I was going, but didn't know. He said he would e-mail me back and took my address. I haven't heard back, but then it's been less than a day as well. Hopefully the answer is what I want to hear instead of what I'm afraid I'll hear.

Licensing for the virtual environment is all over the map even at MS. I see no coherent plan. You see virtual environments addressed in their licenses, but they are all over the map from making the software wildly impractical to use in a virtual environment to astounding values that would put open source out of business. If I were MS, Oracle, etc, I'd put in a performance governor on software where practical. Then they wouldn't have to count sockets, cores, or anything else. That way the customer would be paying based on use, which is how the current scheme used to work, but no longer does because of virtualization, multicores, and huge differences in CPU throughput. The governor scheme would not "ding" people using virtual environments because while they may use more resources to virtualize, the performance would remain essentially unchanged because the performance would be controlled at the application level. It also wouldn't matter then if you had 32 500 MHZ CPUs or 1 500 GHZ CPU.

Re: CPU - 2 Core or 4 Core

10. Jan 2, 2009 7:38 AM in response to: IT_Architect
Click to view Bazman's profile Enthusiast 21 posts since
Oct 11, 2005

Each MS product and version may have different licensing policies, but here is the info for Windows 2008:

If you buy a windows 2008 server enterprise license, you can run up to 4 virtual 2008 servers with that license

If you the datacenter version, you can run an unlimited number of windows servers. The datacenter version is licensed per socket of the host physical machine

http://www.microsoft.com/windowsserver2008/en/us/licensing-faq.aspx#virt

http://www.microsoft.com/windowsserver2008/en/us/licensing-datacenter.aspx


Re: CPU - 2 Core or 4 Core

11. Jan 2, 2009 7:45 AM in response to: Bazman
Click to view tom howarth's profile Guru User Moderators vExpert 7,394 posts since
Jul 25, 2005
that is the same licesning strategy that was in place for Server 2003 as well

If you found this or any other answer useful please consider the use of the Helpful or correct buttons to award points

Tom Howarth
VMware Communities User Moderator
Blog: www.planetvm.net

VMware Beta Programs

Want to be Considered for Future Beta Programs?

Learn More

VMware Developer

Download SDKs, APIs, videos,
training, and more in the Developer community.

Learn More

Developer
Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld
Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

Only VMware ... Delivers Nexus 1000V

Ensure consistent, policy-based network capabilities to virtual machines across your data center.

Learn More

Communities