Are processes and messages different?

Yesterday I described the “happened-before” relation. I showed this typical “interaction diagram” illustrating “processes” interacting with “messages”:

message-passing processes

This model of the world proposes two fundamentally different things: “processes” and “messages”. But it’s interesting to try to unify them. Processes in the diagram just look like very slow messages! We could also draw the world this way:

processes and messages

Here, “sending a message” is like “splitting the atom”: what was one becomes many, and the many go their separate ways. “Receiving a message” is like atomic fusion: what were two become one again. There is no distinction in this model between “processes” and “messages”; there are only atoms.

On physical grounds, we could add a “big bang” to this diagram. There’s a clear computing analogy here: process forking! What was one process becomes many, and they follow their own timelines.

processes and messages with big bang

Tagged #concurrency, #computer-science.
👋 I'm Jim, a full-stack product engineer. Want to build an amazing product and a profitable business? Read more about me or Get in touch!

More by Jim

This page copyright James Fisher 2017. Content is not associated with my employer. Found an error? Edit this page.