YoVDO

Using Race Conditions in Correct Concurrent Software

Offered By: Strange Loop Conference via YouTube

Tags

Strange Loop Conference Courses C Programming Courses Software Engineering Courses Concurrency Courses Race Conditions Courses

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 Programming
OpenLearning
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