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

Paradigms of Computer Programming – Fundamentals
Université 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