It may be of interest that although Erlang has been doing
lightweight concurrency for >20 years,
 - you can choose whether you want to use an SMP version that
   has as many schedulers as there are cores (plus internal
   locking as needed) or a non-SMP version with one scheduler
   (and no internal locking); both versions are standard and
   it's only a performance issue, not a semantics issue
 - performance sometimes goes one way, sometimes the other
 - there was a "one UNIX process per Erlang process"
   implementation; I have a copy.  The community interest in
   it was, shall we say, massively underwhelming.

It might also be interesting to note that the experimental
operating system K42 from IBM does _all_ user-visible
threading in user-land.  This includes thread switching and
even I/O blocking and unblocking; all done in user-land.

I don't think we've begun to explore all the options yet.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to