[eurolisp] Re: http://www.dirkgerrits.com/erlisp/roadmap.html

Faré fahree at gmail.com
Wed Nov 3 14:53:18 UTC 2004


>>: "Hoehle, Joerg-Cyril" <Joerg-Cyril.Hoehle at t-systems.com>
>: Dirk Gerrits <dirk at dirkgerrits.com>

>> Therefore I was disappointed by your roadmap which talks a lot about
>> OS threads and special (thread-local) variables.
> 
> Sorry to hear that, care to elaborate?
>
After a few tens of thousands of threads (may hundreds of thousands,
on modern machines with several gibibytes of RAM?), the performance of
most (all) Unix kernels becomes very bad. If only because each thread
eats at the very least a few kilobytes of kernel memory, and
ultimately the machine runs out of memory. Green thread have a
potentially much lower overhead.

>   * Using continuations as green threads.  This would limit the points
>     at which processes can be preempted, but that can be partially
>     alleviated by assigning an operating system thread to every few
>     green threads.  Also, less preemption is not necessarily a problem.
>
With sufficient engineering and code-walking, preemption can remain
possible. However, preemption necessitates proper handling of
invariants, with locking, roll-back and/or roll-forward.
As a cheaper way to do things, cooperative multithreading can do, and
can be used automatically or semi-automatically. (Only potentially
long-running routines need have (yield) statements inserted, and with
proper code-walking, this can be done automatically.)

> and a CPS code walker is more work than using an OS thread library.
There already are CPS code walkers, in Screamer and in UCW.

>> Cf. http://c2.com/cgi/wiki?MessagingAsAlternativeToMultiThreading

> http://groups.google.com/groups?selm=87acurudww.fsf%40dirkgerrits.com&rnum=1

> I agree that a better place for discussion is needed.  How about a common-lisp.net mailing list?
If you create it, please subscribe me :)

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
... Any resemblance between the above views and those of my employer,
my terminal, or the view out my window are purely coincidental.  Any
resemblance between the above and my own views is non-deterministic.  The
question of the existence of views in the absence of anyone to hold them
is left as an exercise for the reader.  The question of the existence of
the reader is left as an exercise for the second god coefficient.  (A
discussion of non-orthogonal, non-integral polytheism is beyond the scope
of this article.)




More information about the eurolisp mailing list