Welcome to Distributed Bytes!

I share interesting articles, videos, papers and more about distributed systems, formal methods and computer science.

Made with by Federico Ponzi

Recent Posts

FLP Result: Impossibility Of Distributed Consensus with One Faulty Process

The consensus problem involves an asynchronous system of processes,some of which may be unreliable. The problem is for the reliable processesto agree on a binary value. In this paper, it is shown that every protocol for this problem has the possibility of nontermination, even with only one faulty process. By way of contrast, solutions are known for the synchronous case, the “Byzantine Generals” problem.

FLP Result: Impossibility Of Distributed Consensus with One Faulty Process

Just make it scale: An Aurora DSQL story | All Things Distributed

AWS Senior Principal Engineers, Niko Matsakis and Marc Bowes, take us inside Aurora DSQL's development: scaling write operations without two-phase commit, overcoming garbage collection hurdles, and embracing Rust for both data and control planes.

Just make it scale: An Aurora DSQL story | All Things Distributed

Reasoning about Distributed Protocols with Smart Casual Verification

Here at decentralized thoughts, we spend a lot of time reasoning about distributed protocols. Often, we focus on solving distributed consensus, personally it’s my favorite CS problem, but it’s also famously one of the most difficult and subtle problems in distributed computing. Reasoning about distributed algorithms is hard at the...

Reasoning about Distributed Protocols with Smart Casual Verification

Apache Iceberg Internals Dive Deep On Performance | Relentless Leader

In this blog I will go over how Apache Iceberg contributes to performance of compute engine. Apache Iceberg is an ACID table format designed for large-scale analytics workloads. While its consistency and schema evolution features are covered in previous blog, its impact on query performance can be equally transformative. By the end of this document, you will have a deep understanding of how Iceberg enhances performance, the trade-offs involved, and best practices for maximizing efficiency in read-heavy workloads.

Apache Iceberg Internals Dive Deep On Performance | Relentless Leader

Concurrency bugs in Lucene: How to fix optimistic concurrency failures

Debugging concurrency bugs is no picnic, but we're going to get into it. Enter Fray, a deterministic concurrency testing framework from CMU’s PASTA Lab, that turns flaky failures into reliably reproducible ones.

Concurrency bugs in Lucene: How to fix optimistic concurrency failures

Erlang’s not about lightweight processes and message passing…

To me it’s clear that the big idea there isn’t lightweight processes2 and message passing, but rather the generic components which in Erlang are called behaviours.

Erlang’s not about lightweight processes and message passing…

So, You Want to Learn More About Deterministic Simulation Testing? | Pierre Zemb's Blog

A curated collection of resources about deterministic simulation testing for distributed systems.

So, You Want to Learn More About Deterministic Simulation Testing? | Pierre Zemb's Blog

May thy bits chip and shatter: Patterns for Building High-Performance Observability Pipelines at Scale

Emerging patterns for building scalable, high-performance observability pipelines

May thy bits chip and shatter: Patterns for Building High-Performance Observability Pipelines at Scale

Parallel, Concurrent and Distributed Programming — YSC4231 2021

Material for the course Parallel, Concurrent and Distributed Programming by Ilya Sergey at Yale-NUS College

Parallel, Concurrent and Distributed Programming — YSC4231 2021

Why the "Raft" name?

Why is the raft consensus algorithm called 'raft'?

Why the