[threads-standard-discuss] MP standardization proposal

Daniel Barlow dan at telent.net
Fri Jul 9 13:34:15 UTC 2004


Welcome to the threads-standard-discuss mailing list.  It was created
as a result of discussion at the Libre Software Meeting in Bordeaux in
July 2004, as a venue for creating a portable de facto standard for
use by multithreaded Common Lisp code.

I have prepared an initial draft specification entitled BORDEAUX-MP,
based on CLIM-SYS (and the needs of McCLIM, which are in fact not
quite the same), which is available at

http://cvs.telent.net/cgi-bin/viewcvs.cgi/bordeaux-mp/Specification?view=markup

Eventually there will also be a sample implementation to go with it,
using code borrowed from McCLIM.

I invite comments/feedback/flames from all interested parties.  Points
which have been raised so far include

1) behaviour of specials in a new thread: "did you just make it
   undefined so that the SBCL implementation would be simpler?"

I propose to add a list of specials which automatically get
thread-local bindings in each new process: something like ACL's
*cl-default-special-bindings*

<URL:http://www.franz.com/support/documentation/6.1/doc/pages/variables/excl/s_cl-default-special-bindings_s.htm>

2) "condition variable" is an unfortunate name as there is already a
   similarly named but entirely different CONDITION object in CL

   I don't have any good ideas about this one.  

3) A process-state reader might be nice

   I personally don't see the point, much, unless the semantics of its
   allowable values are also defined.

   (Personal position: I'm far more concerned about the ability to
   write real threaded applications than I am about writing a
   replacement for top(1) in CL)

4) Some form of control over process priority

   This might be useful if you have for example a foreground display
   process that you wish to remain responsive, and a background
   computation task that only needs to run when nothing else is
   happening.

   On the other hand, it might be a fast track to priority inversion
   and some form of starvation.  Discuss.


A handy summary of some of the various terms involved is at
<URL:http://www.cs.columbia.edu/~hgs/os/sync.html>, for anyone wanting
definitions


-dan

-- 
"please make sure that the person is your friend before you confirm"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/threads-standard-discuss/attachments/20040709/ecb523ae/attachment.sig>


More information about the Threads-standard-discuss mailing list