Assigning processors

  • I have a 4 CPU Server with very high traffic.  I read somewhere that the OS will assign the highest numbered processor to manage ethernet traffic. 

    Can anyone verify this?  Or rather does anyone have any ideas on how best to utilize CPU's in a SQL Server environment with high ethernet traffic?

    Thanks in advance

    --Frank

  • Frank,

    We use simular server as you describe but I never heard the highest CPU number is used for the OS....

    SQL uses the assigned memory very flexable.

    On dedicated servers we use 80-20 pct and SQL servers containing the application 60-40 pct . We do not withdraw any CPU ( not even in hyperthreading ) and our heavely used servers are working fine.

    Spread the parallism on all CPU's !

    GKramer

    The Netherlands

  • Hi Frank,

    In order to make sure that you ask SQL Server to use all the CPUs you have on the server, follow the steps below:

    1. open enterprise manager

    2. go to the database server

    3. select the database server and right click. go to the option "properties"

    4. In this dialogbox, go to the tab that says "processor"

    5. In this tab, there is place that will show you all the CPUs on your database server. if all of them are not selected then go ahead and select them.

    6. also on the same tab, there is a radio button that says "use all available processors" under the section "parallelism". go ahead and select this radio button.

    this should help you what you want to achieve.

    hope this answers your question.

    -- Parag

  • It's possible to set the processor affinity mask to bind a CPU to handle the interrupt requests for an ethernet card.

    I believe you can do it from Taskman.

    However, it's probably more efficient to have the IO load spread across the CPUs, and also allow the SQL Server to make use of them. High network load probably means high SQL load also.

    One possible strategy is to set the affinity mask such that only SQL server and the Net Card can use one of the processors, and prevent the card from accessing any of the other CPUs.

    I'd strongly suggest testing this out, and finding the optimum balance before running it into a live system.

    Make sure you've got a good NIC in there that handles checksum offloading, etc. And also look into hardware TCP stack handlers.

    Make sure that your card only has the protocols you want to listen to bound, and make sure it's not got any 'auto' settings.

  • Frank,

    From BOL:

    Use the affinity mask option to increase performance on symmetric multiprocessor (SMP) systems (with more than four microprocessors) operating under heavy load.

    -----------------------------------------------------

    And yes it assign the Highest Processor Number to the NIC card. To verify it you can read also in BOL the "affinity mask option" section

    Here is the Relevant Part:

    ....

    Excluding SQL Server threads from running on particular processors helps evaluate the system's handling of processes specific to Windows NT 4.0 or Windows 2000. For example, you can use affinity mask to evaluate whether an additional network interface card (NIC) increases performance or assess NIC performance with increasing loads.

    ....

    Before you change the setting of affinity mask, keep in mind that Windows NT 4.0 assigns deferred process call (DPC) activity associated with NICs to the highest numbered processor in the system. In systems with more than one installed and active NIC, each additional card's activity is assigned to the next highest numbered processor. For example, an eight-processor system with two NICs has DPCs for each NIC assigned to processor 7 and to processor 6.

     

    I would recommend in your case to use them all for SQL Server

    HTH

     


    * Noel

  • Thanks for all the input.  if it's true that each NIC is assigned a processor then I can stop worrying about performance as this particular server has 3 NIC's  - so much for spare cpu's

    Thank All,

    --Frank

  • That is exactly why this recomendation is for a system with a LARGE amount of processors!

     


    * Noel

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

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