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>