[cap-talk] OO interoperation via OCap, presentation level issues

James A. Donald jamesd at echeque.com
Sat May 17 02:31:16 CDT 2008


Baldur Johannsson wrote:
 > Depends on how the asynchronity is achieved (that is, how are the
 > messages actually passed)
 > Three ways of how comes to mind:
 > a) using buffers/mailboxes Erlang/Actor style (handy for over-network),
 > b) using interrupts/signals UNIX style and
 > c) meet-me principle MINIX3 style.

Under the hood, modern processors are several CPUs on
the chip, connected by a network on the chip.  Therefore
the first option is likely to lead to more scalable
performance.

A couple of years ago, multiple threads of execution in
the software sense were usually implemented at the
hardware level by a single hardware thread of execution
that from time to time stopped doing one software
thread, then started the next software thread, as unix
assumed.   This system is physically synchronous at the
hardware level. Recently this ceased to be true,
resulting in Microsoft's "multithreaded" library and
various applications using it crashing horribly from
time to time.  I suspect that there was similar chaos
in unix land, but Microsoft crashes hit more people.

As Microsoft recently discovered, we have little choice
but to write everything on the assumption that under the
hood, it is a network.


More information about the cap-talk mailing list