From owner-freebsd-arch Tue Nov 2 9:38:35 1999 Delivered-To: freebsd-arch@freebsd.org Received: from ns1.yes.no (ns1.yes.no [195.204.136.10]) by hub.freebsd.org (Postfix) with ESMTP id BA69314BD2 for ; Tue, 2 Nov 1999 09:38:29 -0800 (PST) (envelope-from eivind@bitbox.follo.net) Received: from bitbox.follo.net (bitbox.follo.net [195.204.143.218]) by ns1.yes.no (8.9.3/8.9.3) with ESMTP id SAA23936 for ; Tue, 2 Nov 1999 18:38:28 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id SAA81274 for freebsd-arch@freebsd.org; Tue, 2 Nov 1999 18:38:28 +0100 (MET) Received: from io.yi.org (24.66.174.118.bc.wave.home.com [24.66.174.118]) by hub.freebsd.org (Postfix) with ESMTP id 0440114A09 for ; Tue, 2 Nov 1999 09:37:35 -0800 (PST) (envelope-from jake@checker.org) Received: from io.yi.org (localhost [127.0.0.1]) by io.yi.org (Postfix) with ESMTP id 9E34E1FCD; Tue, 2 Nov 1999 09:37:36 -0800 (PST) X-Mailer: exmh version 2.1.0 09/18/1999 To: Julian Elischer Cc: freebsd-arch@freebsd.org Subject: Re: Threads models and FreeBSD. (Next Step) In-reply-to: Your message of "Tue, 02 Nov 1999 08:19:19 PST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 02 Nov 1999 09:37:36 -0800 From: Jake Burkholder Message-Id: <19991102173736.9E34E1FCD@io.yi.org> Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > 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