Skip site navigation (1)Skip section navigation (2)
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>