Hyperthreading v''s Multiple Processors

  • We have a Datawarehouse server which is to be retired from live to spend the rest of its useful life as good development box; therefore we need a new server. The retiring box has 8 processors @700MHz, 6Gb of memory, enough disk space and all the rest for what is needed.

    I have a question about the processors for the new box. Currently, on many occasions during the night and sometimes day all 8 processors are working flat out, so I want to upgrade a bit. I would want 8 processors @ around 3GHz. But I know I.T. will recommend 4 processors with Hyperthreading saying that it is equivalent to 8 processors. Alternatively they may say that 4 processors @ 3GHz would outperform 8 processors @700MHz.

    Could anyone help me with the counter arguments for both scenarios? A link to a website that compares HT processors against Multiple processors would be handy (I’ve Googled but to no avail)

    Cheers.

  • If Windows 2K then you will need physical CPU's, W2K doesn't really use "virtual CPU's" properly.  IF Windows 2K3 then "Virtual CPU's" will work just fine.  Just went through this here.  Went from 2 1.9 CPU's with Hyperthreading ON to 2 3Ghz CPU's and have gotten a LARGE performance increase.  Also, I would look at the L2 cache (the bigger the better for SQL)



    Good Hunting!

    AJ Ahrens


    webmaster@kritter.net

  • I'd also put forth the argument that there have been hyperthreading issues reported with SQL Server. Lower performance in some cases. I'd try for the 8 CPUs myself with that argument, perhaps in a 16 way box to have upgrade capability. Barring that, go for 4 CPUs in the 8 way box.

    Data loads only grow, not shrink and if they buy something that cannot grow as well, everyone will be unhappy.

  • Thanks for the link, the performance section has a good counter for 1 HT processor = 2 normal processors, and confirms Steve's advice.

    Looing at Steves last post do you think that 4 3Ghz CPU's could outperform 8 700Mhz? I know the math (in terms of Mhz) suggests so but what about the reduction of number of threads being processed and L2 cache?

  • From experience performance wise. 1HT CPU = 1.3 regular CPU.

    1 Dual core CPU =1.7 regular CPU.

     

    Dont listen to the IT folks, get as many physicals as you can, you might also want to turn off HT as you can end up with problems, and ther are still collisions on the front side bus that you have to concern yourselves with.



    Shamless self promotion - read my blog http://sirsql.net

  • The experience that I have had is that the 4 x 3 GHz CPU's will outperform the (4 year old) 8 x 700 MHz CPU's (Even if hyper threading is turned off).

    At some point you should be looking at moving to the 64 bit platform.  I'm not sure that this is the proper time.

    What are the cost savings by only purchasing 4 CPU's instead of 8?  Is your company saving a significant amount of money on licensing? 

    For capacity planning purposes your shouldn’t be looking at what your capacity requirements are today, but instead what your requirements are for the life expectancy of the server.  If you are just demoting your 8 x 700 server to development at this time then you must be on a 3 to 4 year cycle.

    Don’t fall into the trap of just meeting minimum requirements. 

    Remember also that the L2 cache and I-O capacity are probably more important that the CPU clock speed.  

     

     

     

  • My two cents.  Earlier in the thread I noticed that someone said something in regards to upgrading the server.  Make sure that your server can be expanded.  The L2 Cache is extremely important, but I have found that the more memory you have, the better off you will be.  Less Disk reads with more memory.  In one case, on a Win2K Server, I found that by disabling HT, the server responded quicker.  Not sure what the overhead was.  I would be interested to see if it performs better with Win2K3.

     

    Thanks

    Greg

Viewing 8 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic. Login to reply