Using Race Conditions in Correct Concurrent Software
Offered By: Strange Loop Conference via YouTube
Course Description
Overview
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.
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
Tags
Related Courses
UNSW Computing 1 - The Art of ProgrammingOpenLearning C++ For C Programmers, Part A
University of California, Santa Cruz via Coursera Beginning Game Programming with C#
University of Colorado System via Coursera Introduction to Computing 计算概论A
Peking University via Coursera Comprendre les Microcontroleurs
École Polytechnique Fédérale de Lausanne via Coursera