Michael Scott — Nonblocking data structures. Part 1.
Nonblocking concurrent data structures are an increasingly valuable tool for shared-memory parallel programming. By ensuring that no reachable state precludes forward progress by any given thread, nonblocking structures avoid performance anomalies in the presence of preemption, and can in principle tolerate thread failures. They can also outperform lock-based alternatives in several important cases, and are competitive in others. They are, however, quite difficult to write — due, among other things, to inherent data races, interactions with the language and hardware memory model, and the need for concurrent memory management. This course will briefly survey background material on hardware primitives and memory models, together with formal notions of safety, liveness, and proof techniques. It will then explore nonblocking versions of important data structures, including stacks, queues, linked lists, hash tables, skip lists, and search trees. In the process, it will introduce appropriate memory management techniques. To the extent that time permits, it will also point to work on several more advanced topics, including condition synchronization (partial methods), combining and flat combining, universal constructions, nonblocking software transactional memory, and RCU.

Michael Scott — Nonblocking data structures. Part 2.

Michael Scott — Dual data structures

Concurrent Objects - The Art of Multiprocessor Programming - Part 1

Unlocking Modern CPU Power - Next-Gen C++ Optimization Techniques - Fedor G Pikus - C++Now 2024

Danny Hendler — Lock-free concurrent data structures (Part 1)

Maurice Herlihy "Cache-Conscious Concurrent Data Structures for Near-Memory Computing"

What Nobody Tells You About Being a Quant

Turing Award Winner: Disagreeing with Google, Postgres, Future Problems | Mike Stonebraker

What I learned from sockets - Filipp Gelman - Meeting C++ 2023

17. Synchronization Without Locks

Single Producer Single Consumer Lock-free FIFO From the Ground Up - Charles Frasch - CppCon 2023

Introduction to Lock-free Programming - Tony van Eerd

Intro to Data Oriented Design for Games

SUMMER DEEP HOUSE Musics Mix 2026 ♫ Bruno Mars, Lady Gaga,Dua Lipa, Adele,Ed Sheeran, The Weeknd #29

Nir Shavit — Locking, from traditional to modern (Part 1)

Make computers FAST (Systems Performance chapter 1)

Lecture 1: Introduction

System Design Explained: APIs, Databases, Caching, CDNs, Load Balancing & Production Infra

Scale Up with Lock Free Algorithms

