USENIX ATC2021顶会
Optimistic Concurrency Control for Real-world Go Programs
Zhizhou Zhang, Milind Chabbi, Adam Welc, Timothy Sherwood
摘要
We present a source-to-source transformation framework, GOCC, that consumes lock-based pessimistic concurrency programs in the Go language and transforms them into optimistic concurrency programs that use Hardware Transactional Memory (HTM). The choice of the Go language is motivated by the fact that concurrency is a first-class citizen in Go, and it is widely used in Go programs. GOCC performs rich interprocedural program analysis to detect and filter lock-protected regions and performs AST-level code transformation of the surrounding locks when profitable. Profitability is driven by both static analyses of critical sections and dynamic analysis via execution profiles. A custom HTM library, using perceptron, learns concurrency behavior and dynamically decides whether to use HTM in the rewritten lock/unlock points. Given the rich history of transactional memory research but its lack of adoption in any industrial setting, we believe this workflow, which ultimately produces source-code patches, is more apt for industry-scale adoption. Results on widely adopted Go libraries and applications demonstrate significant (up to 10⇥) and scalable performance gains resulting from our automated transformation while avoiding major performance regressions.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper1
问问它们各自怎么用它相关 Paper
- HTMFS: Strong Consistency Comes for Free with Hardware Transactional Memory in Persistent Memory File SystemsJifei Yi, Mingkai Dong, Fangnuo Wu, Haibo ChenFAST 2022 · 被引用 19 次
- go-pmem: Native Support for Programming Persistent Memory in GoJerrin Shaji George, Mohit Verma, Rajesh Venkatasubramanian, Pratap SubrahmanyamUSENIX ATC 2020 · 被引用 25 次
- Safety Hints for HTM Capacity Abort MitigationAnirudh Jain, Divya Kiran Kadiyala, Alexandros DaglisHPCA 2023
- Concrat: An Automatic C-to-Rust Lock API Translator for Concurrent ProgramsJaemin Hong, Sukyoung RyuICSE 2023 · 被引用 17 次
- Verifying vMVCC, a high-performance transaction library using multi-version concurrency controlYun-Sheng Chang, Ralf Jung, Upamanyu Sharma, Joseph Tassarotti 等OSDI 2023 · 被引用 16 次
