Bartosz Milewski Missing post

Sean Kelly sean at invisibleduck.org
Fri May 29 09:25:29 PDT 2009


BCS wrote:
> Reply to Andrei,
> 
>> It follows that message passing is not only an attractive model
> 
> I'm thinking implementation not model. How is the message passing 
> implemented? OS system calls (probably on top of kernel level shared 
> memory)? user space shared memory? Special hardware? If you can't get 
> #3, I'd rather a good standard implemntation using #2 (and a back door :).

I think it depends on whether the message is intraprocess or 
interprocess.  In the first case, I expect message passing would 
probably be done via user space shared memory if possible (things get a 
bit weird with per-thread heaps).  In the latter case, a kernel api 
would probably be used if possible--perhaps TIPC or something related to 
MPI.  It's the back door bit that's at issue right now.  Should the 
language provide full explicit support for the intraprocess message 
passing? ie. move semantics, memory protection, etc?

>> for programming at large, but also a model that's closer to
>> machine than memory sharing.
> 
> I think I see what your getting at,.. even for shared memory on a deep 
> cache; the cache invalidation system /is/ your message path.

Yeah kinda.  Look at NUMA machines, for example (SPARC, etc).  I expect 
that NUMA architectures will become increasingly common in the coming 
years, and it makes total sense to try and build a language that expects 
such a model.



More information about the Digitalmars-d mailing list