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.

Similar posts

More by Jim

Want to build a fantastic product using LLMs? I work at Granola where we're building the future IDE for knowledge work. Come and work with us! Read more or get in touch!

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