Re: Use all available processors ?
- From: "Anthony Thomas" <ALThomas@xxxxxxxxx>
- Date: Mon, 22 Jan 2007 08:08:08 -0600
There are a couple of issues here.
Processor Affinity of the DBMS.
Parallelism of a single query execution in the DBMS.
Processor Affinity for IO in the OS Kernel.
Kevin hinted at a problem with older platforms hard-coding IO to CPU 0 and
Network IO to CPU N (the highest processor available). Since Windows 2000
and later, this is no longer the case. However, it can still be a problem.
Although these functions are no longer dedicated specific processors, they
are dedicated to one. You can still observe this behavior by looking at the
perfmon counters Processor:Interrupt Requests per Second(*) and
Processor:DPC per Second(*). You will see that, typically CPU 0, executes
the majority of these kernel mode threads. There is a boot parameter that
overrides this behavior and equally distributes the requests across all
available processors (or any other affinity that you configure).
http://download.microsoft.com/download/5/D/6/5D6EAF2B-7DDF-476B-93DC-7CF0072878E6/NDIS_RSS.doc
In SQL Server 2000 SP4, there were trace flags introduced to support NUMA
awareness in the DBMS and directly affects memory optimization and processor
affinity.
http://support.microsoft.com/kb/921928
In SQL Server 2005, the core DB engine provided for full NUMA integration
and configuration.
http://www.microsoft.com/sql/technologies/performance/default.mspx
http://download.microsoft.com/download/e/3/5/e35ecac9-203d-4f98-b2dc-7df0be1b0a03/DSS_Improvements.doc
For the DBMS, processor affinity dictates which processors available could
be used for query execution, but it says nothing about which processors to
use for any particular query.
For the degree of parallelism, this is on a per-query execution, and states
how many concurrent execution contexts a SINGLE query could consume
simultaneously. Keep in mind that the DBMS must satisfy queries from
multiple clients as well as maximize the throughput of any single execution.
Sincerely,
Anthony Thomas
--
"Kevin3NF" <kevin@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:e7BBlt8OHHA.1240@xxxxxxxxxxxxxxxxxxxxxxx
I may have my wires crossed, MAXDOP and processor affinity are not thesame
thing.or
I believe MAXDOP is telling queries to only use x processors, but it does
not say which and differnt queries can use different ones.
The MCDBA study materials actually point out that on certain systems (more
than 4 cpus, more functions than SQL Server), you might want to NOT use
processor 0 (I/O requests go here), or the last CPUS (NIC requests go
through these...one per nic). This may or may not be relevant to Win2K3
SQL 2005
--
Kevin Hill
3NF Consulting
http://www.3nf-inc.com/NewsGroups.htm
Real-world stuff I run across with SQL Server:
http://kevin3nf.blogspot.com
"Manoj Kumar" <ManojKumar@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:05E814D8-454E-4F61-A36D-E60DFD29BCAE@xxxxxxxxxxxxxxxx
Thanks for the reply.
I notice that the processor utilization is almost uniform[across all 4
processors, via Perfmon and Task manager] even though the "max degree of
parallelism", "config_value and run_value are set to "1".
All of the available processors are selected in the "Processor" tab. It
appears that this overrides the "max degree of parallelism" values and
uses
all of the available processors.
--
Manoj Kumar
"Linchi Shea" wrote:
We always use all the processors. No issues there whatsoever.
Linchi
"Manoj Kumar" wrote:
Hi There,
Any known issues in using all available processors in the DB server?
[SQL
2000 Enterprize+sp4]
Right now it is configured to use just 1 processor.
TIA
--
Manoj Kumar
.
- References:
- Re: Use all available processors ?
- From: Kevin3NF
- Re: Use all available processors ?
- Prev by Date: Re: Cluster Switch Hardware
- Next by Date: Re: Upgrade 2000 to 2005
- Previous by thread: Re: Use all available processors ?
- Next by thread: Re: Use all available processors ?
- Index(es):
Relevant Pages
|
Loading