473,386 Members | 1,823 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Multi processor OS restriction?

Hi, Ive been told this, but I hope it is NOT true. I have an sql
server2000 installation running on a server that has four processors.
It is on a active network but is not the domain controller so
essentially it is fully dedicated to servicing the needs of sql
server, (a bit of browsing, a bit of ms Office, but almost wholly
dedicated to sqlserver. Now, the big question, why, when the server
properties have been set to utilize all four processors, can any one
job never get more than 25% of cpu time? I can launch multiple
instance of QA and run the same job on each one and that will utilise
more and more cpu time, but if you launch multile QA windows from
within one insance of QA, you can NEVER get more than 25% CPU
utilisation. Now i have to run a job (FTS is a good example,
re-indexing lots of db's another, or even a huge query with multiple
ufd's on computed cols which I hoped would grab lots of CPU time that
they need, but no. So do I have to live with this or can I tell either
windows or sql server to grab more cpu when it want to ie use my spare
CPU capacity more efficiently or am i working on a misguided premise
and 25% per job is your lot?

DMAC
Jul 23 '05 #1
4 2290
>>Hi, Ive been told this, but I hope it is NOT true. I have an sql
server2000 installation running on a server that has four processors.
It is on a active network but is not the domain controller so
essentially it is fully dedicated to servicing the needs of sql
server, (a bit of browsing, a bit of ms Office, but almost wholly
dedicated to sqlserver. Now, the big question, why, when the server
properties have been set to utilize all four processors, can any one
job never get more than 25% of cpu time? MSSQL can utilize 'parallelism' to make use of multi processors. But
it doesn't work half the time. Unless you have a single user, it is
better for MSSQL to save those other processors for other SPIDS.
I can launch multiple
instance of QA and run the same job on each one and that will utilise
more and more cpu time, but if you launch multile QA windows from
within one insance of QA, you can NEVER get more than 25% CPU
utilisation. Now i have to run a job (FTS is a good example,
re-indexing lots of db's another, or even a huge query with multiple
ufd's on computed cols which I hoped would grab lots of CPU time that
they need, but no. So do I have to live with this or can I tell eitherwindows or sql server to grab more cpu when it want to ie use my spareCPU capacity more efficiently or am i working on a misguided premise
and 25% per job is your lot?

What's FTS & UFDs? User defined function?

Jul 23 '05 #2
The SQL Server optimizer will generate a parallel plan only when it makes
sense to do so and the current server workload permits it. Many queries
will not benefit from a parallel plan. In practice, parallelism can be a
symptom of needed indexes or poorly formulated query.
I can launch multiple
instance of QA and run the same job on each one and that will utilise
more and more cpu time, but if you launch multile QA windows from
within one insance of QA, you can NEVER get more than 25% CPU
utilisation.
This is not consistent with my experience. For example, I see both
processors fully used on my dual-cpu box by running the following query from
within the same QA instance. Do you get similar results?

USE master
SELECT COUNT(*)
FROM sysobjects a
CROSS JOIN sysobjects b
CROSS JOIN sysobjects c
CROSS JOIN sysobjects d
GO
--
Hope this helps.

Dan Guzman
SQL Server MVP

"DMAC" <dr***@drmcl.free-online.co.uk> wrote in message
news:46**************************@posting.google.c om... Hi, Ive been told this, but I hope it is NOT true. I have an sql
server2000 installation running on a server that has four processors.
It is on a active network but is not the domain controller so
essentially it is fully dedicated to servicing the needs of sql
server, (a bit of browsing, a bit of ms Office, but almost wholly
dedicated to sqlserver. Now, the big question, why, when the server
properties have been set to utilize all four processors, can any one
job never get more than 25% of cpu time? I can launch multiple
instance of QA and run the same job on each one and that will utilise
more and more cpu time, but if you launch multile QA windows from
within one insance of QA, you can NEVER get more than 25% CPU
utilisation. Now i have to run a job (FTS is a good example,
re-indexing lots of db's another, or even a huge query with multiple
ufd's on computed cols which I hoped would grab lots of CPU time that
they need, but no. So do I have to live with this or can I tell either
windows or sql server to grab more cpu when it want to ie use my spare
CPU capacity more efficiently or am i working on a misguided premise
and 25% per job is your lot?

DMAC

Jul 23 '05 #3
Thanks Dan,

Your query did indeed put all four processors into overdrive, (took me
a while to cancel it cos I could not get my mouse click over the wire)
so my problem probably lies with your first suggestion about poorly
formed queries. Is there any mechanism to influence the optimiser or
thread selection to have my one really bad query utilise its own
processor( or just generally so that I can keep developement to its own
cpu/thread combo), leaving everthing else to utilize the other
processors, ie why did sql server immediately grap all the cpu time from
your query?

Cheers
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 23 '05 #4
> Is there any mechanism to influence the optimiser or
thread selection to have my one really bad query utilise its own
processor( or just generally so that I can keep developement to its own
cpu/thread combo), leaving everthing else to utilize the other
processors,
You can specify a MAXDOP hint to limit parallelism to the specified number
of processors: for a particular query:

USE master
SELECT COUNT(*)
FROM sysobjects a
CROSS JOIN sysobjects b
CROSS JOIN sysobjects c
CROSS JOIN sysobjects d
OPTION (MAXDOP 1)
GO

You can also adjust the server-wide setting with the 'max degree of
parallelism' configuration option. On a server with 4 or more processors, I
usually use this option to specify fewer processors than are available (e.g.
3) so that a single query won't monopolize CPU resources.
ie why did sql server immediately grap all the cpu time from
your query?
When SQL Server determines a query can benefit from parallelism, it
considers the current server workload and adjusts the number of parallel
threads accordingly. The optimizer may choose to use a single thread or
fewer processors when the machine is busy and a more aggressive plan when
not currently busy.

It's a good practice to segregate development and production on different
servers when possible.

--
Hope this helps.

Dan Guzman
SQL Server MVP

<DM**@devdex.com> wrote in message news:41**********@127.0.0.1... Thanks Dan,

Your query did indeed put all four processors into overdrive, (took me
a while to cancel it cos I could not get my mouse click over the wire)
so my problem probably lies with your first suggestion about poorly
formed queries. Is there any mechanism to influence the optimiser or
thread selection to have my one really bad query utilise its own
processor( or just generally so that I can keep developement to its own
cpu/thread combo), leaving everthing else to utilize the other
processors, ie why did sql server immediately grap all the cpu time from
your query?

Cheers
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Jul 23 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

6
by: Thomas Womack | last post by:
If I have a dual-processor hyperthreaded machine (so with four CPU contexts), will a python program distribute threads over all four logical processors? I ask because I'm fairly sure that this...
37
by: ajikoe | last post by:
Hello, Is anyone has experiance in running python code to run multi thread parallel in multi processor. Is it possible ? Can python manage which cpu shoud do every thread? Sincerely Yours,...
1
by: seesharp | last post by:
Hi, we have a multithreaded application (win service) written in C# that is running well on all but one box. The only difference we see between the problem box and the good ones is that the...
3
by: Amit Dedhia | last post by:
Hi I am developing a Dot net application (involving image processing) on a uni processor. It works well on my machine. I then take all my code on a multi processor, build and run the application...
2
by: JohnFol | last post by:
I know Windows / SQL etc can utilise multiple processors. In the good old days of coding, you simply wrote the .EXE and Windows would run it on a single processor (or a given processor for...
1
by: Eugene | last post by:
Hi All, In multi processor computer, do we need to use specific design/coding method to optimize our program to take advantage of the multi processor? If I use a normal program, would it...
43
by: Bill Cunningham | last post by:
I've been reading the C standard online and I'm puzzled as to what multibyte chars are. Wide chars I believe would be characters for languages such as cantonese or Japanese. I know the ASCII...
1
by: fniles | last post by:
If I use thread in my VB.NET application, will it work in a multi processor machine ? I mean, will it crash a multi processor machine ? Thanks.
0
by: Sabri.Pllana | last post by:
We apologize if you receive multiple copies of this call for papers. *********************************************************************** 2008 International Workshop on Multi-Core Computing...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.