> In all languages (Go, Nim, ...) channels are built either on top of 
> Lock+Condition variables or Atomics (reusing queue designs) but I expect we 
> will reach the limits of memory coherency at the CPU level and that in the 
> future NUMA will become increasingly important and we might see hardware 
> channels being more popular (rather than restricted to stuff like Infiniband)

Well this has been claimed for over ten years now, it's one reason why Nim did 
bet on thread local heaps + message passing and I don't see it becoming the 
reality anytime soon. I can be wrong of course. However, it is insightful to 
look at what GPUs do. The classical view is that they are based on shared 
memory. But when you look at it from a different angle what happens is that 
inside a GPU a program fragment is passed over to the data. Maybe I'm nuts and 
is has nothing to do with GPUs, but the idea is a good one. Don't transport 
data, transport programs. 

Reply via email to