~/talk

Design and Implementation of Highly Scalable Quantifiable Data Structures in C++

Talkat CppCon 2021 · on Wednesday, 2021-10-27· at 15:15· online· [frontend-architecture]
links:none on file
links:none on file
links:none on file
slides:none on file

Claims a new correctness condition, quantifiability, and ships lock‑free C++ implementations of a QStack and QQueue using compare_exchange_strong and descriptor objects; pending pops become stored “negative” entries and forks/branching reduce contention. A runtime verifier, Vector Space Verification (VSV), turns histories into matrices and checks correctness in O(n + i·j) (presented as sub‑quadratic) rather than NP‑complete linearizability checks. Entropy uses Knuth inversion counts and normalized Shannon entropy to quantify correctness/performance tradeoffs; demos on a 32‑core EPYC show QStack scaling far better than Treiber and LCRQ at the cost of increased disorder.

AI-written summary · about

  1. 0:00Start
  2. 1:30Overview
  3. 1:59Correctness Conditions
  4. 3:00Linearizability
  5. 5:35Concurrent Histories
  6. 11:12Definition of Quantifiability
  7. 13:12Basis Vector
  8. 18:51Inspiration from Linearizability
  9. 20:03Entropy Measurements
  10. 20:46Quantifiability
  11. 24:59Stacks
  12. 29:39Design Goal
  13. 30:13Conservation of Method Calls
  14. 30:48Negative Stack
  15. 31:29Compare and Swap
  16. 32:23The Quantifiable Stack
  17. 34:06Descriptor Objects
  18. 36:56Fork
  19. 46:29Check Quantifiability
  20. 48:22Conclusion
  21. 57:10Memory Allocation
~/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.