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.

Reply via email to