In a previous blog post, I wrote about server hardware, specifically in regards to disk storage. I then wrote briefly about RAM and how it plays into the equation, and today, tax day here in the states, I want to talk about CPU’s and Logical CPU’s (LCPU’s).
A lot of server software is based on the number of processors (either cores or logical CPU’s) in how it is priced. It seems that each vendor has a different perspective on how they should charge. This is where the rubber meets the road so to speak and it seems that the price you pay for the software is solely predicated on the number of cores in that server and nothing else for a lot of vendors.
From my research and experiences, Microsoft charges based on the number of sockets that you have a processor installed in. They don’t charge by the core or logical CPU. This holds true for SQL Server and their BI stack.
From discussions with clients, (I can’t verify the authenticity of this), it seems that SPSS charges by the core count and not by logical cores. I need to get more information on how SPSS is licensed before I can say with any certainty if this is true. Perhaps an SPSS Sales Rep will comment?
SAS and WPS charge by Logical CPU’s for their server software. This can pretty expensive if you don’t watch out and shop for the server that you need. One difference between WPS and SAS is that SAS charges you for all the LCPU’s on the machine whether you use them or not. In other words, if you have 16 LCPU’s and have a SAS virtual machine that only uses eight of them, you still pay SAS for all the LCPU’s. So SAS is priced for the entire server. WPS only charges for the LCPU’s that the VM uses. So, you could only pay for eight LCPU’s on a 16 core Windows Server.
When I spec out a server, I always take into consideration the cost of the software before the cost of the hardware. Disk I/O is probably more important to quality SAS and WPS processing than the number of LCPU’s. After numerous discussions with other consultants (and this is my own observation as well) we’ve determined that the number of simultaneous users on a Windows Server running SAS or WPS is 2*LCPU’s. That is, two users for every logical CPU. Anything more than that, and processing become too slow for my comfort.
In benchmarks that I did earlier using the Open Source Software R, I could easily get six R sessions running simultaneously. As the CPU”s tended towards 100% utilization (on a four LCPU processor), the number of R sessions that I could run became more difficult. Only a few times was I able to get eight sessions running on my Quad-Core Server.
Here’s one dirty little secret that isn’t talked about very often. A logical CPU (i.e. a thread) is not as efficient in processing data as a single dedicated core. I can only speak to Intel’s HyperThreading technology but if you Google "HyperThreading performance" you will see that gains due to threading are in the 20 to 40% range. That’s not a lot of gain when you’re being charged the same as if it was a full blown core. So, if you have a Quad-core processor with HyperThreading, such as the newer Intel Nehalem processors (Core i7), there are eight LCPU’s that you pay for but only get the performance of perhaps five non-threaded CPU’s.
Here’s another thing to consider. Does the BI software you plan on using make use of multiple LCPU’s? SAS does for some of their PROCS but your mileage may vary in how efficient it is. I can easily out run SAS’s PROC SORT which is thread enabled with WPS which is not.
So what’s the bottom line on specing out a server and LCPU’s?
1. Take an inventory of your needs for the next three years and base your decisions on that. If you are going to have less than five simultaneous users, go with a fast dual-core CPU. If your needs are less than eight simultaneous users, then go with a non-threaded Quad-Core CPU.
2. Don’t buy a server with the idea that you are going to grow into it. You will overpay for a lot of BI software if that is the position you take.
3. If you already have a server that you want to use and it has eight or more LCPU’s, than do your math with WPS and SAS and consider how you can use a VM to reduce your license cost.
4. Remember, only pay for the capacity that your really need. After all, it is tax day and who wants to over pay on the CPU tax?