Affiliation:
1. Cornell University, Ithaca, NY, USA
2. Microsoft Research, Redmond, WA, USA
Abstract
Atomic sections
are a recent and popular idiom to support the development of concurrent programs. Updates performed within an atomic section should not be visible to other threads until the atomic section has been executed entirely. Traditionally, atomic sections are supported through the use of optimistic concurrency, either using a transactional memory hardware, or an equivalent software emulation (STM).
This paper explores automatically supporting atomic sections using pessimistic concurrency. We present a system that combines compiler and runtime techniques to automatically transform programs written with atomic sections into programs that only use locking primitives. To minimize contention in the transformed programs, our compiler chooses from several lock granularities, using fine-grain locks whenever it is possible.
This paper formally presents our framework, shows that our compiler is sound (i.e., it protects all shared locations accessed within atomic sections), and reports experimental results.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
19 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Synthesizing fine-grained synchronization protocols for implicit monitors;Proceedings of the ACM on Programming Languages;2022-04-29
2. A Fine-Grained Page Management Scheme For Hpc Manycore I/O Systems;SSRN Electronic Journal;2022
3. Grafs: declarative graph analytics;Proceedings of the ACM on Programming Languages;2021-08-22
4. Towards generating thread-safe classes automatically;Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering;2020-12-21
5. Symbolic Reasoning for Automatic Signal Placement;ACM SIGOPS Operating Systems Review;2020-08-31