From owner-freebsd-arch Sun Oct 31 19: 9:18 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 9030514E8B for ; Sun, 31 Oct 1999 19:09:16 -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 EAA01759 for ; Mon, 1 Nov 1999 04:09:15 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id EAA69772 for freebsd-arch@freebsd.org; Mon, 1 Nov 1999 04:09:15 +0100 (MET) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (Postfix) with ESMTP id 37DED150D9 for ; Sun, 31 Oct 1999 19:09:09 -0800 (PST) (envelope-from julian@whistle.com) Received: from home.elischer.org (home.elischer.org [207.76.204.203]) by alpo.whistle.com (8.9.1a/8.9.1) with ESMTP id TAA31080 for ; Sun, 31 Oct 1999 19:09:07 -0800 (PST) Date: Sun, 31 Oct 1999 19:09:04 -0800 (PST) From: Julian Elischer X-Sender: julian@home.elischer.org To: freebsd-arch@freebsd.org Subject: Threads goals version III Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG ---Possible system design goals of system threads support -- --- Note just becasue something is in this list doesn't mean that it will be done, just that it's going o be carried forward to further discussion. -------------------------------------------------------------- 1/ Multiple independent 'threads of control' within a single process at user level. The most basic quality of threads. 2/ Ability to simultaneously schedule M threads over N Processors, and have min(M,N) threads simultaneously executing. 2A/ ability to tune and control the above.. 3/ just because one thread blocks, doesn't mean that the others can't keep running. 4/ All threads in a processs see the same address space (exactly). 5/ All threads in a process share the same system resources. 6/ (contentious) multiple theads should be bound to within the resource limits of the single process. 7/ Some well documeted scheme exists for handling signals and othe rasync events. 8/ Exit/shutdown protocol is well defined. 9/ there exists a set of primatives that allow threads to influence the in-process scheduling between themselves. 9A/ e.g. 'per thread' Thread scheduling classes. 10/ Quick access to curthread and thread specific data. 11/ A method to aks a thread blocked inthe kernel to wake up and back out. (similar to present 'signals') 12/ Processorr affinity for threads. ---- possible userland implementation goals----- 1/ A libpthread that can be linked with libc. 2/ Libc needs to change so that library functions and system calls used internal to the library do not use the externally visible cancellable equivalents. ------------- refs: http://www.freebsd.org/~deischen/p95-anderson.pdf http://www.freebsd.org/cgi/getmsg.cgi?fetch=25000+30231+/usr/local/www/db/text/1 999/freebsd-current/19990321.freebsd-current http://lt.tar.com/ ------------------------------------- the players, Note these are just people who have exhibited either code or knowledge of the literature at this point. Terry Lambert Daniel Eischen John Birrell Richard Seaman Amancio Hasty Jake Burkholder Chris Csanady Kris Kennaway To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message