~/talk

“Transactional Memory in Practice"

Talkat CppCon 2015 · 2015-09-21..09-25· [concurrency]
links:none on file
slides:none on file

Company product Dynamics runs a homegrown software transactional memory system in production for four years, replacing many mutexes and easing parallel calculations across an 800–900k LOC codebase. The system uses explicit transactional variables, optimistic concurrency with read/write journals, nested transactions merged into parents, and after‑commit callbacks; pitfalls include side‑effect duplication on retries, starvation from fast short transactions, retry deadlocks, and memory‑allocation surprises — solved by validate calls, conflict limits, and a heavy‑handed run‑locked fallback.

AI-written summary · about

  1. 0:00Intro
  2. 1:05Atomics
  3. 11:57Transactional Variables
  4. 12:59Optimistic Concurrency
  5. 14:19Nested Transactions
  6. 16:33Starting a transaction
  7. 20:12Transaction Safety
  8. 22:04Simple Transfer
  9. 23:01Transfer with notification
  10. 24:30Waiting for a balance
  11. 25:59Side-effects
  12. 29:14NO_ATOMIC
  13. 29:56Starvation
  14. 33:41Retry Deadlock
  15. 34:56Split the transactions
  16. 39:26Validate
  17. 42:26Weak Atomicity
  18. 43:44Invasive
  19. 45:16No one's heard of it
  20. 47:53Calculation Structure
  21. 48:29Performance
  22. 50:34Hardware Transactional Memory
  23. 53:38How'd it work out?
  24. 54:42Open Source?
  25. 55:44Resources
~/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.