~/talk

Using the Valgrind Framework to Build a Persistent Memory Error Detector

links:none on file
slides:none on file

Built on Valgrind, Pmemcheck instruments binaries to detect persistent memory mistakes like missing cacheline flushes, double or unnecessary flushes, stores performed outside declared transactions, and leftover or conflicting transactions. It modifies Valgrind core to distinguish CLWB/CLFLUSH ordering and fence semantics, implements per-byte state tracking rather than cache-line granularity, and accepts client macros for region/transaction registration. It can record store/flush logging and replay permutations at fences for crash simulation and uses transaction snapshot checks to flag unsafe updates. Functionally effective but incurs significant runtime overhead and some post‑processing features remain prototype.

AI-written summary · about

  1. 0:00Introduction
  2. 1:17Persistent Memory Programming Model
  3. 4:18Phase Safety
  4. 8:37Atomicity
  5. 11:08Story
  6. 12:52Requirements
  7. 16:40New tool
  8. 17:55Binary instrumentation framework
  9. 18:55Twoyear tool
  10. 19:55Request mechanism
  11. 21:55Implementation
  12. 22:55Pros Cons
  13. 25:00What is MemCheck
  14. 26:21What is MemCheck not
  15. 29:50Implementation of MemCheck
  16. 31:46CRM Macros
  17. 34:51State Machine
  18. 37:38In Practice
  19. 42:45Simple Example
  20. 44:12Another Problem
  21. 45:02Example
  22. 45:17Transaction Nesting
  23. 45:56Transaction IDs
  24. 46:49Logging
  25. 49:51Testing
  26. 50:12repos
  27. 51:04future work
  28. 53:24questions
~/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.