Implementing Distributed Consensus

Wednesday, 2019, October 2 - 14:0015:30

Dan Lüdtke and Kordian Bruck, Google

Abstract: 

May we introduce "Skinny," an education-focused, distributed lock service.

With the help of Skinny, we will:

  • briefly look at the Paxos protocol
  • see an example of a typical Paxos run
  • design a simple distributed consensus protocol
  • learn the tricky parts of implementing our simple distributed consensus protocol
  • gradually move from theory-level to coding-level, solving small challenges (network, availability, fault-tolerance) along the way

This short workshop addresses engineers who have had little exposure to the inner workings of distributed consensus, who want to learn about distributed consensus as they start building distributed systems, and who have worked with ready-made distributed consensus solutions such as Zookeper and etcd but strive to understand the underlying theory as well.

Disclaimer: This work is not affiliated with any company (including Google) and is purely educational!

Dan Lüdtke, Google

Dan is a Site Reliability Manager in Munich. He contributes to open source software projects, regularly helps to organize large hacker events, runs an autonomous system for fun, and dreams of space travel. Prior to Google, Dan served his country, worked as a security consultant, joined a start-up, and wrote a book about IPv6. Dan earned a master's degree in Computer Aided Engineering from the Munich University of the German Federal Armed Forces.

Kordian Bruck, Google

As an Site Reliability Engineer, Kordian is touching production systems every day to prevent disasters. He loves iterating over architecture and organization structure to overcome Conway's Law. Pizza and funny cat videos enabled him to get a masters degree in computer science from the Technical University of Munich.

BibTeX
@conference {239452,
author = {Dan L{\"u}dtke and Kordian Bruck},
title = {Implementing Distributed Consensus},
year = {2019},
address = {Dublin},
publisher = {{USENIX} Association},
month = oct,
}