Distributed Computing From First Principles
Kenneth Odoh
TL;DR
This work investigates how to build and reason about distributed systems from first principles, bridging theory and practice. It combines foundational results like the FLP impossibility and two-general problem with practical mechanisms such as Lamport and vector clocks, Paxos, Raft, and CRDTs, all implemented via OpenMPI in C. The text emphasizes fault tolerance, verification, and resilience through anti-entropy techniques, P2P architectures, and robust testing practices, while also offering real-world case studies like autoscaling and distributed patterns. Together, these components provide a comprehensive, low-level, pedagogy-first treatment intended to democratize access to core distributed computing concepts and craft reliable, scalable systems.
Abstract
This book on Distributed Computing aims to benefit a diverse audience, ranging from aspiring engineers, and seasoned researchers, to a wide range of professionals. Driven by my passion for making the core concepts of distributed computing accessible, this work is a significant undertaking designed to empower individuals from all backgrounds to gain valuable insight. Have you ever wondered how a typical distributed system works under the hood? Are you looking for a pedagogical guide with complete implementations? In this work, we have implemented several foundational algorithms in Distributed Computing. Whether your expertise lies in the theoretical foundations or the practical applications of the principles of Distributed Systems, this book is for you.
