From owner-freebsd-arch Sun Oct 31 18:18:46 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 B11A714BD7 for ; Sun, 31 Oct 1999 18:18:43 -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 DAA01172 for ; Mon, 1 Nov 1999 03:18:43 +0100 (CET) Received: (from eivind@localhost) by bitbox.follo.net (8.8.8/8.8.6) id DAA69277 for freebsd-arch@freebsd.org; Mon, 1 Nov 1999 03:18:42 +0100 (MET) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (Postfix) with ESMTP id 78B1B14BD7 for ; Sun, 31 Oct 1999 18:18:33 -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 SAA30159 for ; Sun, 31 Oct 1999 18:18:31 -0800 (PST) Date: Sun, 31 Oct 1999 18:18:29 -0800 (PST) From: Julian Elischer X-Sender: julian@home.elischer.org To: freebsd-arch@freebsd.org Subject: Threads goals version II 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. 2A/ ability to tune and control the above.. 3/ One blocking thread cannot block another thread. Blocking of one thread does not imply that other threads be blocked. 4/ All threads see the same address space (exactly). 5/ All threads share the same file 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. 10/ Quick access to curthread and thread specific data. We shouldn't have to enter the kernel to get this. This should also be true for threads spread across multiple [lightweight] processes. 11/ Ability for the threads library to cancel/terminate a thread blocked in the kernel. 12/ Processorr affinity for threads. 13/ Thread scheduling classes. 13A/ Assigned 'per thread' 14/ your goals here.. ---- 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. 3/ your goals here.. ------------- 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