Re: [PATCH] scheduler hints

Gerrit Huizenga
2002-06-06T01:06:39Z

In message <200206060046.g560kJi04034@mushroom.ca.boeing.com>, > : Rick Bressle
r writes:
> > So I went ahead and implemented scheduler hints on top of the O(1)
> > scheduler.
>
> > Other hints could be "I am interactive" or "I am a batch (i.e. cpu hog)
> > task" or "I am cache hot: try to keep me on this CPU".
>
> Sequent had an interesting hint they cooked up with Oracle. (Or maybe it
> was the other way around.) As I recall they called it 'twotask.'
> Essentially Oracle clients processes spend a lot of time exchanging
> information with its server process. It usually makes sense to bind them
> to the same CPU in an SMP (and especially NUMA) machine. (Probably
> obvious to most of the folks on the group, but it is generally lots
> better to essentially communicate through the cache and local memory
> than across the NUMA bus.)

Actually, process-to-process affinity, which was later generalized
as a process gang affinity.

> As I recall it made a significant difference in Oracle performance, and
> would probably also translate to similar performance in many situations
> where you had a client and server process doing lots of interaction in
> an SMP environment.

Yep. Must be used with care, but not terribly damaging for general
access. Typically arranged as a many to one linkage by the callers,
which simplified the rebalancing decisions a bit. I think there
was a paper written about it somewhere by Phil Krueger.

gerrit