<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Keeping CALM: When Distributed Consistency is Easy · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1901.01930/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/1901.01930/feed.xml" rel="self" type="application/rss+xml" /><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by charleshn</title><link>https://news.ycombinator.com/item?id=45195948</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:45195948</guid><pubDate>Wed, 10 Sep 2025 11:02:11 GMT</pubDate><description>&lt;p&gt;Interesting that neither the article nor the comments mention the CALM theorem [0], which gives a framework to explain when coordination-free consistency is possible, and is arguably the big idea behind SEC. [0] https://arxiv.org/abs/1901.01930&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by mjb</title><link>https://news.ycombinator.com/item?id=43031188</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:43031188</guid><pubDate>Thu, 13 Feb 2025 00:02:14 GMT</pubDate><description>&lt;p&gt;&amp;gt; Distributed algorithms require more coordination. Sometimes! There&amp;#x27;s a whole body of research about when distributed algorithms require coordination. One example is the CALM theorem (https://arxiv.org/abs/1901.01930), and another is the ways that scalable database systems avoid read coordination (https://brooker.co.za/blog/2025/02/04/versioning.html). &amp;gt; Distribution also means you have fewer natural correctness guarantees, so you need more administrative overhead to avoid race conditions. I don&amp;#x27;t believe this is true. &amp;gt; If we know the exact sequence of computations, we can aim to minimize…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by steepben</title><link>https://news.ycombinator.com/item?id=42322600</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:42322600</guid><pubDate>Wed, 04 Dec 2024 22:11:44 GMT</pubDate><description>&lt;p&gt;Yes it&amp;#x27;s a large chunk, but not everything! Marc had a comment on bluesky regarding this: &amp;gt; Many SQL aggregations are monotonic operations (e.g. MAX, SUM, etc) that can be partially completed on each node and then post-merged. Some (e.g. DISTINCT) can be transformed into monotonic ops with some effort. Some aren&amp;#x27;t possible to do this way. (Ref on monotonicity: arxiv.org/pdf/1901.01930) The benefit of this is that a lot more work is done _close_ to the data. The trend is that bandwidth is getting larger in data centers, but latency isn&amp;#x27;t improving at the same rate. Reducing the number of round…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by ojkelly</title><link>https://news.ycombinator.com/item?id=41776997</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:41776997</guid><pubDate>Tue, 08 Oct 2024 13:12:31 GMT</pubDate><description>&lt;p&gt;&amp;gt; Perhaps others have made this connection before…it does feel like some sort of universal law of physics. This has been on my mind too, and I can’t help but think the fundamental concept underpinning it all is causality. Reading about “consistency as logical monotonicity” — CALM [0], after diving into Spanner, there’s definitely something to databases beyond CAP. I’m yet to find a simple and clear law or theorem that captures what you’re hinting to, but it feels like we must be getting close. This has been bouncing around my head for a few years since I first wrote a toy CRDT DB. It seems to…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by convolvatron</title><link>https://news.ycombinator.com/item?id=41672859</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:41672859</guid><pubDate>Fri, 27 Sep 2024 16:54:25 GMT</pubDate><description>&lt;p&gt;don&amp;#x27;t forget about calm. its a shame that that isn&amp;#x27;t the default we reach for, and only struggle when we really need stronger latency. https://arxiv.org/abs/1901.01930&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — HN submission</title><link>https://news.ycombinator.com/item?id=41432257</link><guid isPermaLink="false">urn:hackerpapers:submission:1901.01930:41432257</guid><pubDate>Tue, 03 Sep 2024 07:28:16 GMT</pubDate><description>&lt;p&gt;Keeping CALM: When distributed consistency is easy (2019)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;139 points; 27 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by j-pb</title><link>https://news.ycombinator.com/item?id=41432035</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:41432035</guid><pubDate>Tue, 03 Sep 2024 06:52:56 GMT</pubDate><description>&lt;p&gt;The article should really mention CALM (Consistency as Logical Monotonicity)[1], it&amp;#x27;s much easier to understand and a more fundamental result than CAP. It is also much more applicable and enables people with little experience to build extremely robust distributed systems. Idempotence, CRDTs, WALs, Raft, they are all special cases of the CALM principle. [1]: https://arxiv.org/pdf/1901.01930&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by j-pb</title><link>https://news.ycombinator.com/item?id=41432011</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:41432011</guid><pubDate>Tue, 03 Sep 2024 06:48:59 GMT</pubDate><description>&lt;p&gt;*Between two distributed systems that don&amp;#x27;t share the same transactionality domain or are not logically monotone. It&amp;#x27;s easy to see that moving data from one row to another is doable in a clustered database, and could be interpreted as a message being delivered. The point is that you can get exactly once delivery, if your whole system is either idempotent, or you can treat the distributed system as one single unit that can be rolled back together (i.e. side effect free wrt. some other system outside the domain). Both are cases of some form of logical monotonicity, idempotence is easier to see…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by j-pb</title><link>https://news.ycombinator.com/item?id=39642816</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:39642816</guid><pubDate>Fri, 08 Mar 2024 16:42:00 GMT</pubDate><description>&lt;p&gt;There is a theorem called CALM[1] (Consistency as Logical Monotonicity) that shows that systems are eventually consistent iff they are monotonic. I find that reasoning about consistency is much easier from that perspective, for example it immediately gives you an intuition on why individual CRDTs work. 1: https://arxiv.org/abs/1901.01930&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by mjb</title><link>https://news.ycombinator.com/item?id=39207523</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:39207523</guid><pubDate>Wed, 31 Jan 2024 18:35:26 GMT</pubDate><description>&lt;p&gt;Completely agree. In-region (e.g. at the scale of a US state), CP seems like a clear winner. For more geo-distributed latency becomes challenging, and in environments like IoT and mobile unreliable connectivity becomes challenging. If you&amp;#x27;re there, you need a principled way of approaching AP (e.g. CRDTs or CALM https://arxiv.org/pdf/1901.01930.pdf).&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by j-pb</title><link>https://news.ycombinator.com/item?id=38109985</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:38109985</guid><pubDate>Thu, 02 Nov 2023 07:18:43 GMT</pubDate><description>&lt;p&gt;It&amp;#x27;s absolutely bonkers that TLA+ struggles with this, given that a system is eventually consistent IFF it is logically monotonic (CALM) [1]. This also doesn&amp;#x27;t make intuitive sense to me. Model checking should be easier for monotonic models, because because the total model check can be viewed as a consistent sum of all partial checks. I&amp;#x27;ve collaborated on a monotonic parser once, which was essentially a monotonic logic programming language. One of the key insights was that you can replace backtracking search of the state space with solving a set covering problem where you attempt to find the…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by mjb</title><link>https://news.ycombinator.com/item?id=36226566</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:36226566</guid><pubDate>Wed, 07 Jun 2023 13:31:18 GMT</pubDate><description>&lt;p&gt;&amp;gt; How do you build a system around a database where values can no longer be valid at any time? This is a difficult problem, and there aren&amp;#x27;t nice general solutions. If you read the original Amazon Dynamo paper, for example, there&amp;#x27;s a good discussion of why eventual consistency is OK for their applications (https://www.allthingsdistributed.com/files/amazon-dynamo-sos...), and more in Werner Vogel&amp;#x27;s CACM article from two years later (https://dl.acm.org/doi/10.1145/1435417.1435432). There are conceptual frameworks (like CALM https://arxiv.org/pdf/1901.01930.pdf) that provide a way to reason…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — HN submission</title><link>https://news.ycombinator.com/item?id=35555010</link><guid isPermaLink="false">urn:hackerpapers:submission:1901.01930:35555010</guid><pubDate>Thu, 13 Apr 2023 13:20:28 GMT</pubDate><description>&lt;p&gt;Keeping CALM: When Distributed Consistency Is Easy (2019)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by convolvatron</title><link>https://news.ycombinator.com/item?id=35475605</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:35475605</guid><pubDate>Thu, 06 Apr 2023 22:50:52 GMT</pubDate><description>&lt;p&gt;yeah, that was really brief. I was actually hoping for someone to bring up https://arxiv.org/abs/1901.01930 (keeping CALM) for an interesting alternative&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by newhouseb</title><link>https://news.ycombinator.com/item?id=33766098</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:33766098</guid><pubDate>Sun, 27 Nov 2022 19:51:54 GMT</pubDate><description>&lt;p&gt;You might be thinking of this [1] paper? The core idea being if your problem space lends itself to monotonicity (see the paper for a more precise definition than I can give), then you can build a globally consistent database (around a CRDT) where the end-user doesn&amp;#x27;t need to concern themselves with inconsistent states while consistency is reached. [1] https://arxiv.org/pdf/1901.01930.pdf&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by mjb</title><link>https://news.ycombinator.com/item?id=26102301</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:26102301</guid><pubDate>Thu, 11 Feb 2021 15:16:44 GMT</pubDate><description>&lt;p&gt;Are you familiar with Joe Hellerstein and Peter Alvaro&amp;#x27;s work in this space? CALM provides something of a unifying theory of mergeable operations, of which CRDTs are an &amp;quot;object orientated&amp;quot; special case: https://arxiv.org/pdf/1901.01930.pdf In practice, designers choose coordination-heavy protocols like consensus for a number of reasons. One is because writes don&amp;#x27;t or can&amp;#x27;t be merged. Operations as basic as simple assignment (x = 1;) can&amp;#x27;t be merged, so that&amp;#x27;s very real. Another is because readers can&amp;#x27;t tolerate weak consistency, because their business logic needs to make decisions at a…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by zzzcpan</title><link>https://news.ycombinator.com/item?id=21488209</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:21488209</guid><pubDate>Fri, 08 Nov 2019 23:49:44 GMT</pubDate><description>&lt;p&gt;&amp;gt; That function can do whatever it wants, including any number of reads, writes, and arbitrary logic based on the reads. But critically, it can&amp;#x27;t talk back to the calling client, except for to send the final result. If that function can still do everything the client did and the client still has to wait for a transaction - you are only eliminating interactive communications overhead, not actually improving or simplifying anything fundamentally. There is still consensus, coordination happening during that waiting and all of this is still fundamentally incompatible with computers spread across…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — mentioned by namibj</title><link>https://news.ycombinator.com/item?id=20031181</link><guid isPermaLink="false">urn:hackerpapers:mention:1901.01930:20031181</guid><pubDate>Tue, 28 May 2019 15:37:03 GMT</pubDate><description>&lt;p&gt;There is something based on Bloom IIRC, but the whole concept should be well-described and discoverable from the Keeping CALM paper: https://arxiv.org/abs/1901.01930&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — HN submission</title><link>https://news.ycombinator.com/item?id=18892691</link><guid isPermaLink="false">urn:hackerpapers:submission:1901.01930:18892691</guid><pubDate>Sat, 12 Jan 2019 18:59:55 GMT</pubDate><description>&lt;p&gt;Keeping CALM: When Distributed Consistency Is Easy&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;4 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item><item><title>Keeping CALM: When Distributed Consistency is Easy — HN submission</title><link>https://news.ycombinator.com/item?id=18859210</link><guid isPermaLink="false">urn:hackerpapers:submission:1901.01930:18859210</guid><pubDate>Tue, 08 Jan 2019 20:15:13 GMT</pubDate><description>&lt;p&gt;Keeping CALM: When Distributed Consistency Is Easy [pdf]&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1901.01930/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.DC</category></item></channel></rss>
