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
Paradigms of Computer Programming – FundamentalsUniversité catholique de Louvain via edX Paradigms of Computer Programming – Abstraction and Concurrency
Université catholique de Louvain via edX Computing: Art, Magic, Science - Part II
ETH Zurich via edX Concurrency
AdaCore via Independent Java Fundamentals for Android Development
Galileo University via edX