In a previous article, I stated that DConE’s performance coordinating distributed replication was “mathematically ideal.” Without going into the actual mathematics, one way to shed a little more light on this technology is to examine what distributed computing defines as properties of “safety” and “liveness”:
Note that we need both properties because it’s easy for a program to satisfy only the safety principle, simply by never doing anything!
DConE is ideal in the sense that we are always safe, and live to the extent allowed by physics1.
With DConE there are no error edge conditions to discover. Paxos (and thus DConE) contains the entire set of failure conditions inside its algorithm2.
This is especially important in the failure-rich environment of distributed computing. The classic “Fallacies of Distributed Computing” outlines the major failure points encountered by the unwary or inexperienced.
Beyond the event horizon
There’s an inevitable tradeoff between safety and liveness, which you can also think of as a tradeoff between correctness and performance. By trading correctness for performance, it’s possible to move theoretical performance of distributed coordination beyond the Paxos 100% correctness event horizon.
How important is your data?
Less than 100% correctness might be an acceptable tradeoff if your data is not very important to you. One example might be an e-commerce website that deliberately chooses to not globally coordinate inventory for products because of performance limitations in their coordination technology. There’s a chance that the customer may order a product that is reported to be in stock, only to be informed later that there was a mistake, and it is backordered. In this case, the system traded correctness for performance, and it’s a business decision to tolerate the occasional misstep.
At the event horizon
Where DConE sits is right at the event horizon of maximum performance with 100% correctness. So when your data Absolutely, Positively has to be there intact, DConE offers you that guarantee with the maximum possible performance.
1 2 Y. Aahlad