~/talk

Lock-free programming for real-time systems

Talkat Meeting C++ 2021 · 2021-11-10..11-12· [security]
links:none on file
slides:none on file

Claims that lock-free code using C++11 atomics and compare-exchange loops yields nonblocking progress for soft real-time systems, avoids deadlocks and priority inversion, and improves responsiveness. Demonstrates a working exchange buffer: a lock-free index pool plus storage, manual memory management, and a tagged index with ABA counter to prevent torn reads. Notes limits: types must be trivially copyable or require hazard-pointer–style reclamation, and correctness and memory-order tuning remain tricky.

AI-written summary · about

  1. 0:00Introduction
  2. 0:38What are realtime systems
  3. 8:05Atomics
  4. 11:05Compare exchange
  5. 14:05Compare swap loop
  6. 17:03Motivations
  7. 19:05Functions
  8. 21:05Implementation
  9. 21:40Writing
  10. 23:32Not lockfree
  11. 24:18Managing our own memory
  12. 24:48Lockfree storage
  13. 26:05Logfree index pool
  14. 28:00How does it work
  15. 28:56Creating and repairing exchange buffer
  16. 31:00Implementing the right operation
  17. 35:50How does this work
  18. 37:45The real challenge
  19. 38:20What if we do it naively
  20. 39:00Bad things will happen
  21. 40:00Mitigation
  22. 40:50Checking if the data changes
  23. 42:18A smarter solution
  24. 43:33Counting
  25. 43:58AdaCounter
  26. 45:33Index
  27. 45:48Compact change
  28. 47:00Taking the data
  29. 49:34Dynamic memory
  30. 50:00Copy constructor
  31. 51:07Free garbage collection
  32. 51:50Memory order
  33. 52:50Summary
  34. 53:31Timeouts
  35. 55:43Queues
  36. 56:44Algorithms
  37. 58:25Disadvantages
~/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.