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>
