<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Distributed-Systems on Andrew Helwer</title>
    <link>https://ahelwer.ca/tags/distributed-systems/</link>
    <description>Recent content in Distributed-Systems on Andrew Helwer</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 01 Nov 2023 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ahelwer.ca/tags/distributed-systems/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Wrangling monotonic systems in TLA⁺</title>
      <link>https://ahelwer.ca/post/2023-11-01-tla-finite-monotonic/</link>
      <pubDate>Wed, 01 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://ahelwer.ca/post/2023-11-01-tla-finite-monotonic/</guid>
      <description>&lt;p&gt;TLA⁺ sees a lot of use modeling distributed systems.&#xA;The ability to explore all possible interleavings of events makes concurrency simple to reason about.&#xA;For this TLA⁺ uses something called finite model-checking, which is really just a breadth-first search through the entire state space.&#xA;The key here - and this really must be emphasized - is that the model is &lt;em&gt;finite&lt;/em&gt;.&#xA;There can&amp;rsquo;t be an infinite number of states, or of course the model checker will run forever.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using TLA⁺ at Work</title>
      <link>https://ahelwer.ca/post/2023-04-05-checkpoint-coordination/</link>
      <pubDate>Wed, 05 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://ahelwer.ca/post/2023-04-05-checkpoint-coordination/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s a short report of a time I used TLA⁺ at work, with interesting results.&#xA;TLA⁺ is a formal specification language that is particularly effective when applied to concurrent &amp;amp; distributed systems.&#xA;TLA⁺ made it tractable for an ordinary software engineer to reason about a tricky distributed systems problem, and it found a bug introduced by an &amp;ldquo;optimization&amp;rdquo; I tried to add (classic).&#xA;The bug required 12 sequential steps to occur and would not have been uncovered by ordinary testing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How do you reason about a probabilistic distributed system?</title>
      <link>https://ahelwer.ca/post/2020-09-11-probabilistic-distsys/</link>
      <pubDate>Fri, 11 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://ahelwer.ca/post/2020-09-11-probabilistic-distsys/</guid>
      <description>&lt;h2 id=&#34;in-which-i-am-stunted-upon-by-coin-flips&#34;&gt;In which I am stunted upon by coin flips&lt;/h2&gt;&#xA;&lt;p&gt;Wasn&amp;rsquo;t too long ago that I felt pretty good about my knowledge of distributed systems.&#xA;All someone &lt;em&gt;really&lt;/em&gt; needed in order to understand them, I thought, was a &lt;a href=&#34;https://www.youtube.com/watch?v=JEpsBg0AO6o&#34;&gt;thorough understanding of the paxos protocol&lt;/a&gt; and a willingness to reshape your brain in the image of TLA⁺.&#xA;Maybe add a dash of conflict-free replicated datatypes, just so you know what &amp;ldquo;eventual consistency&amp;rdquo; means.&#xA;Past that it&amp;rsquo;s just some optimizations and mashups which come easily to your TLA⁺-addled brain.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
