3 ms·
It's interesting in that in the supercomputing world the message passing model has been popular for decades, but not by choice. It was the only way to get good
by kenjackson 15y ago
It's interesting in that in the supercomputing world the message passing model has been popular for decades, but not by choice. It was the only way to get good performance. But the holy grail has always been shared memory, not message passing. But perf for shared memory applications has continued to be horrible. But anyone who has experience writing a message passing and a shared memory version almost always concedes the shared memory version is easier.
Large scale parallel message passing apps are extremely difficult to get right. Most people just haven't done it. With that said, some of the difficulties in the past where tied to the fact that message passing was done with a weak type system, no contracts (I sent you message, but how do I know you're ever going to respond to it?), and weak support for gather/scatter.
AFAICT, not having done much at all with Erlang, it deals nicely with the type system issue, but contracts are still a problem. Gather/scatter is partially assisted in the same way that PM/FM handled it in the past (you get to write code to pull messages out of your mailbox).
My prediction is that if message passing does take off in a big way, we'll see a pretty strong backlash to shared memory with functionality, such as type ownership and data representation synthesis. Unfortunatley, most of this research is ignored in favor of the more popular functional work (which in itself is good, just not currently balanced in the language community by other types of thinking).
- scott_s 15y agoYour last paragraph is talking about the languages community only, correct? In my experience, functional programming is still exotic in the HPC world.
- kenjackson 15y agoYes. It's becoming less exotic in the HPC world, but still greatly lags in popularity compared the languages community world.