Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Nov 1999 09:37:36 -0800
From:      Jake Burkholder <jake@checker.org>
To:        Julian Elischer <julian@whistle.com>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: Threads models and FreeBSD. (Next Step) 
Message-ID:  <19991102173736.9E34E1FCD@io.yi.org>
In-Reply-To: Your message of "Tue, 02 Nov 1999 08:19:19 PST." <Pine.BSF.4.10.9911020810090.2283-100000@current1.whistle.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Most people disagree with you on this one, so if you want what you
> describe, you will have to thik of a way of decribing it as an optional
> characteristic. We discussed this and the overwhelming majority decided
> that a threaded program has no real scheduling advantage over a non
> threaded program, oth that what it get's by teh nature of blockin gless
> and being on multiple CPUs. Having said that, it is possible that you want
> your threaded proggram to hog the system (the sysadmin may disagree, in
> which case you must still be bound by your process limits). Should this be
> the case, you should be able to specify some optional (non
> default) characteristic that allows this.. If you can thinkk of a good way
> of describing this, we can include it.. (but it can't be the default
> behaviour as far as I can see.)
> 

I agree with Daniel.

I thought the scheduler activations paper had an elegant solution
to this.  Multi-threaded processes are rewarded for returning
scedulable entities (struct proc) back to the system; and possibly
penlaized for not doing so.

How about each schedulable entity recieves a quantum of
number of cpus / number of entities in this process?

In a multi threaded process with 2 schedulable entities on a
uniprocessor system, each entity recieves a quantum of 1/2.

In a multi threaded process with 2 schedulable entities on a
dual processor system, each entity recieves a quantum of 1.

In a multi threaded process with 3 schedulable entities on a
dual processor system, each entity recieves a quantum of 2/3.

In essence each multi-threaded process recieves quantum equal to
number of cpus in the system, and this is then divided among its
schedulable entities.





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991102173736.9E34E1FCD>