Optimism for Boosting Concurrency
Vincent Gramoli, Petr Kuznetsov, Srivatsan Ravi

TL;DR
This paper compares optimistic and pessimistic synchronization techniques in concurrent programming, introducing a new correctness criterion and demonstrating how their combination can maximize concurrency and scalability.
Contribution
It introduces a new correctness criterion for fair comparison of synchronization techniques and shows how combining optimistic and pessimistic methods enhances concurrency.
Findings
Pessimistic locking can outperform transactions in some cases.
Transactions can provide higher concurrency than locks in others.
Combining both techniques yields greater concurrency and scalability.
Abstract
Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional memory. Yet, it is unclear which of these approaches better leverage the concurrency inherent to multi-cores. In this paper, we compare the level of concurrency one can obtain by converting a sequential program into a concurrent one using optimistic or pessimistic techniques. To establish fair comparison of such implementations, we introduce a new correctness criterion for concurrent programs, defined independently of the synchronization techniques they use. We treat a program's concurrency as its ability to accept a concurrent schedule, a metric inspired by the theories of both databases and transactional memory. We show that pessimistic locking can…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Optimization and Search Problems
