~/talk

Optimistic Concurrency Control for Real-world Go Programs

Talkat USENIX ATC '21 · 2021-07-14..07-16· [concurrency]
links:none on file
links:none on file
name:Adam Welc
links:none on file
slides:none on file

Gocc is a source-to-source transformer that replaces mutex-protected regions in Go with Hardware Transactional Memory using inter-procedural AST analysis to detect lock/unlock pairs, handle defer and nested locks, and reject HTM-unfriendly ops like IO. A runtime uses a lightweight hash-based perceptron-driven HTM controller to switch between HTM and locks. Evaluation on Intel RTM (8 cores/16 threads) across popular Go libraries shows up to 10x speedups on contention-light sections and negligible single-core slowdown while avoiding regressions on high-conflict workloads.

AI-written summary · about

  1. 0:00Intro
  2. 0:33Golang and Concurrency
  3. 1:25Mutex Lock → Pessimistic Concurrency Control
  4. 2:14Optimism with Transactional Memory
  5. 2:53Hardware Transactional Memory (HTM)
  6. 4:44Our Solution: GOCC
  7. 6:34Implementation Challenges of GOCC
  8. 8:07GOCC Lock Identification
  9. 8:46GOCC Runtime Contention Management
  10. 9:42Evaluation
  11. 10:17Benchmark 1: Tally
  12. 10:38Benchmark 2: Concurrent set
  13. 11:28Conclusions
~/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.