What's the difference between the message passing and shared memory concurrency models?
Correct me if I'm wrong, but I'm surprised this hasn't been asked before on here ... It's a pretty simple difference. In a shared memory model, multiple workers all operate on the same data. This opens up a lot of the concurrency issues that are common in parallel programming. Message passing systems make workers communicate through a messaging system. Messages keep everyone seperated, so that workers cannot modify each other's data. By analogy, lets say we are working with a team on a project together. In one model, we are all crowded around a table, with all of our papers and data layed out.