Overview
Syllabus
Introduction
Who am I
Agenda
Smart Pointers
Shared Ownership
Concurrent Memory Management
The Fundamental Problem
Goals
Memory Management Techniques
Atomic Smart Pointers
Shared Pointer
Thread Safe
Atomic Shared Pointer
Atomic Shared Pointer Benefits
LockFree Memory Safe Stack
LockFree Implementation
Bad News
Experiment
Baseline
Alternative Techniques
Deferred Reclamation
Hazard Pointers
Performance
RCU
Mental Model
Graph
State of Things
RAII and Deferred Reclamation
Snapshot Source
Single Writer Linked List
Hazard Pointer Errors
Efficient Concurrent Memory Management
Slide Code
Performance Test
Final Remarks
Wrap Up
Taught by
CppCon