Explore the counterintuitive benefits of race conditions in concurrent software development through this 39-minute Strange Loop Conference talk. Delve into the world of high-performance systems as Devon O'Dell demonstrates how correctly detecting and leveraging race conditions can improve throughput and reduce latency. Begin with an overview of lock types and non-blocking algorithms before examining a naive test-and-set spinlock to understand how introducing race conditions on reads enhances lock acquisition throughput. Investigate non-blocking algorithms and their incorporation of race event detection to ensure correct, deterministic, and bounded behavior by analyzing a durable, lock-free memory allocator implemented in C using the Concurrency Kit library. Gain insights into developing and debugging high-performance, concurrent network systems software from an experienced software engineer with a background in web applications and embedded systems firmware.
Overview
Syllabus
Introduction
The Problem
Slab Allocators
C Implementation
Linearize Ability
Linearization Point
Compare and Swap
The ABA Problem
Latency Plots
Conclusion
Taught by
Strange Loop Conference