~/talk

Designing for C++ Concurrency Using Message Passing

Talkat ACCU 2023 · 2023-04-19..04-22· [c-and-cpp, concurrency]
slides:none on file

Message passing eliminates explicit locks and most data races by running each microservice as a single-threaded state machine; the talk shows concrete code patterns: an dining philosophers example with IO actor, timer actor and a chopstick-manager actor, and a robot actuator per-thread design with a coordinator, per-actuator actors and timer-driven deadlines. Frameworks used or recommended include ZeroMQ, the C++ Actor Framework and an in‑house Woven implementation; pitfalls covered are message ordering, message deadlock and dropped messages, and the approach proves practical and scalable in examples.

AI-written summary · about

  1. 0:00Introduction
  2. 0:28Agenda
  3. 0:51Why Message Passing
  4. 2:16The Cost
  5. 4:23Potential Problems
  6. 7:42Message Passing Framework
  7. 9:58concurrency guarantees
  8. 13:14control delivery mechanism
  9. 15:22theory vs practice
  10. 16:39focus
  11. 17:54independent
  12. 18:51value types
  13. 20:09message handling
  14. 22:21State machines
  15. 24:08Dining philosophers
  16. 25:31Actors
  17. 26:25IO
  18. 27:04Timing
  19. 28:03philosophers
  20. 29:19code
  21. 30:24message
  22. 31:17eating
  23. 31:55timer expiry
  24. 32:34managing the chopsticks
  25. 34:02using chopsticks notify function
  26. 35:59robot control system
  27. 37:21central coordinator
  28. 38:00moving the robot
  29. 44:33waiting
  30. 47:15in code
  31. 50:04single thread
  32. 54:02focus on one task
  33. 54:41avoid overlap
  34. 55:31message types
  35. 56:11separate microservices
  36. 58:32single threaded state machine
~/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.