Date: Sun, 31 Oct 1999 18:18:29 -0800 (PST) From: Julian Elischer <julian@whistle.com> To: freebsd-arch@freebsd.org Subject: Threads goals version II Message-ID: <Pine.BSF.4.05.9910311817030.8816-100000@home.elischer.org>
next in thread | raw e-mail | index | archive | help
---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 <terry@lambert.org> Daniel Eischen <eischen@vigrid.com> John Birrell <jb@freebsd.org> Richard Seaman <disck@tar.com> Amancio Hasty <hasty@rah.star-gate.com> Jake Burkholder <jake@checker.org> Chris Csanady <cc@137.org> Kris Kennaway <kris@hub.freebsd.org> 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?Pine.BSF.4.05.9910311817030.8816-100000>