Abstract
Building reliable distributed systems is extremely challenging. Every await point in a codebase creates an explosion of possible execution sequences, some of which only occur in rare circumstances. If a buggy sequence occurs 1% of the time, you'll be plagued with production bugs and intermittent CI failures that are extremely hard to reproduce. The only solution is to test every possible sequence, but how?
This talk will explain how Zed Industries leveraged Rust's unique asynchronous programming model to maximize the reliability of our CRDT-based collaborative editor. After reviewing the foundational concepts of Rust futures, we'll explore an implementation of a deterministic runtime that executes all possible permutations of asynchronous code paths. We think this represents a game-changing strategy for rapidly developing reliable concurrent systems, and by the end of the talk, you'll be equipped with practical tools to bring the same level of reliability to your own applications.