Subject RE: [Firebird-Architect] Re: query-thread priority
Author Claudio Valderrama C.
> -----Original Message-----
> From: Firebird-Architect@yahoogroups.com
> [mailto:Firebird-Architect@yahoogroups.com]On Behalf Of Rommel Abesames
> Sent: Lunes, 10 de Octubre de 2005 6:01
>
> MS SQL Server uses its own (not the OS's) thread scheduling system.
>
> see
> http://download.microsoft.com/download/1/2/8/128875ad-df12-4e9e-88
> e0-250f79b85eee/IntlsDeepDive.ppt
> http://builder.com.com/5100-6388-5144021.html

The second article says
"Because scheduling is controlled by SQL Server and the User Mode Scheduler,
the database developer and designer have a greater responsibility to write
efficient code. Careful consideration and attention must be paid to when and
where in the code each operation yields the processor."

This sounds like Win31 where you had to yield or the shell (I don't think
Win31 can be called an OS) would freeze.
Also, this manual scheduling, although not controllable by the user, is what
FB has been doing for versions 1, 1.5 & 2 and is what IB6 and before was
doing. There's a rudimentary scheduler inside and you see what MS says: when
you run a long task, other clients have to wait.

> and in SQL Server 2005 it even has its own mini "operating system"
>
> http://blogs.msdn.com/slavao/articles/441058.aspx

This article is really interesting, whatever opinion you have on MS. It
talks about NUMA, too.
I think MS realized that HW advances quicker than a new operating system
version can be finished (and sold), so they are putting the "intelligence"
to detect HW abilities on a layer at the bottom of MsSql.


> http://blogs.msdn.com/slavao/archive/2005/02/05/367816.aspx

Controversial statement, for sure:
"Have we removed non-preemptive scheduling [in SQL Server 2005]? The answer
is no. Yukon continues relying on non-preemptive scheduling. As adequate
research shows for RDBMS engine to meet performance and scalability
requirements it needs to leverage non-preemptive scheduling."

Let's await to see which tools they offer to be able to understand if I'm
doing better or worse when I test different programming strategies against
MsSql.

C.