When "Worst" is Best in Distributed Systems
Offered By: Strange Loop Conference via YouTube
Course Description
Overview
Explore the counterintuitive concept of designing distributed systems for worst-case scenarios to improve overall performance in this conference talk from Strange Loop. Delve into how building software resilient to worst-case network behavior can paradoxically lead to improved latency, scalability, and performance in typical and best-case scenarios. Examine practical lessons learned from applying this principle to web and transaction processing applications, as well as database internals. Discover how common tasks and workloads can benefit substantially from this analysis, potentially achieving order-of-magnitude speedups. Learn to use worst-case analysis as a general design principle for scalable systems, moving beyond the focus on failure scenarios to create more efficient and robust distributed systems.
Syllabus
Intro
What if we designed computer systems for worst case scenarios?
Designing for the worst case often penalizes the average case
Distributed Systems Matter
Networks make design hard
Handling Worst-Case Net Behavior availability addresses delays, drops
DISTRIBUTED TRANSACTIONS (EC2)
But wait! What about CAP?!?!
"Worst" is a Design Tool Example: Coordination-Avoiding Databases
Simple Example: Read Committed
Punchline: Distributed Systems & Networks
Fail-over helps (Dev)Ops
Tail Latency in (Micro)services
Universal Design
This talk: When can designing for the worst case improve the average case?
Reasoning about worst-case scenarios can be a powerful design tool
Taught by
Strange Loop Conference
Tags
Related Courses
Reliable Distributed Algorithms - Part 2KTH Royal Institute of Technology via edX Maîtrisez les bases de données NoSQL
CentraleSupélec via OpenClassrooms Big Data: adquisición y almacenamiento de datos
Universitat Autònoma de Barcelona (Autonomous University of Barcelona) via Coursera Introduction to NoSQL Databases
IBM via Coursera Recognize the Need for Document Databases
Pluralsight