~/talk

An Interesting Lock-free Queue - Part 2 of N

Talkat CppCon 2017 · 2017-09-24..09-29· [concurrency, distributed-systems]
slides:none on file

Detailed walkthrough of a lock-free, mostly-contiguous circular queue that handles integers and aims to be multi-producer, multi-consumer and growing and shrinking. Shows CAS loops, uses per-slot generation tags and relaxed atomics for head/tail as hints, explains when acquire/release are needed, and enumerates failure modes (empty/full, wraparound, ABA). Includes invariant-based reasoning and planned design to allocate bigger buffers with reference counts. Slides, code and materials are on the CppCon2017 GitHub.

AI-written summary · about

  1. 0:00Start
  2. 2:54Rules of Lock Free Coding
  3. 7:00False Sharing
  4. 19:51Why Do You Need a Head and Tail Pointer
  5. 42:11Updating Generation and Tail
  6. 57:00Proof by Induction
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.