As developers, we frequently use the terms asynchronous, concurrent, or parallel. Yet we grapple to find an accurate and concise definition. We are stuck in loop of defining each term by referencing another, explaining asynchronous by leaning on concurrent and concurrent by leaning on non-blocking until our mental model is nothing but a blur. In this blog post, we will aim to think above the code and use a minimal model of computation to accurately and concisely define and delineate| Dominik Tornow
We cannot reasonably talk about an algorithm or protocol without talking about the assumptions we are making about the underlying system. This set of assumptions is known as the system model. A system model is a set of assumptions governing the behavior and interactions of a system’s components. You can think of a system model as a board game: The game sets the stage and sets the rules while the players have to devise a strategy to achieve the objective of the game within the constraints of...| Dominik Tornow
There are many different mental models when thinking about distributed systems. Each mental model is a lens onto the system, emphasizing some aspects and deemphasizing others. The parable of the blind men and an elephant is a story of a group of blind men who have never come across an elephant before and who learn and imagine what the elephant is like by touching. The parable is often used to illustrate the importance of considering multiple perspectives when trying to understand an abstract ...| Dominik Tornow
The CAP theorem is too simplistic and too widely misunderstood to be of much use for characterizing systems. Therefore I ask that we retire all references to the CAP theorem, stop talking about the CAP theorem, and put the poor thing to rest Martin Kleppmann In 2000, Eric Brewer introduced the CAP Conjecture during his keynote address Towards Robust Distributed Systems at the Principles of Distributed Computing conference. Brewer posited that a distributed system cannot achieve Consistency, A...| Dominik Tornow