English
Related papers

Related papers: Optimistic Concurrency Control for Real-world Go P…

200 papers

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…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-15 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Optimistic concurrency control (OCC) can exploit the strengths of parallel hardware to provide excellent performance for uncontended transactions, and is popular in high-performance in-memory databases and transactional systems. But at high…

Databases · Computer Science 2018-11-14 Yihe Huang , Hao Bai , Eddie Kohler , Barbara Liskov , Liuba Shrira

Concurrency control algorithms are key determinants of the performance of in-memory databases. Existing algorithms are designed to work well for certain workloads. For example, optimistic concurrency control (OCC) is better than…

Databases · Computer Science 2021-06-16 Jiachen Wang , Ding Ding , Huan Wang , Conrad Christensen , Zhaoguo Wang , Haibo Chen , Jinyang Li

Go is a popular concurrent programming language thanks to its ability to efficiently combine concurrency and systems programming. In Go programs, a number of concurrency bugs can be caused by a mixture of data races and communication…

Programming Languages · Computer Science 2021-11-22 Julia Gabet , Nobuko Yoshida

Traditional techniques for synchronization are based on \emph{locking} that provides threads with exclusive access to shared data. \emph{Coarse-grained} locking typically forces threads to access large amounts of data sequentially and,…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-06 Srivatsan Ravi

Hardware Transactional Memory (HTM) allows lock-free programming as easy as with traditional coarse-grain locks or similar, while benefiting from the performance advantages of fine-grained locking. Many HTM implementations have been…

Hardware Architecture · Computer Science 2025-10-21 Konstantinos Kafousis

The Go programming language has gained significant traction for developing software, especially in various infrastructure systems. Nonetheless, concurrency bugs have become a prevalent issue within Go, presenting a unique challenge due to…

Software Engineering · Computer Science 2024-12-12 Foivos Tsimpourlas , Chao Peng , Carlos Rosuero , Ping Yang , Ajitha Rajan

The concurrency features of the Go language have proven versatile in the development of a number of concurrency systems. However, correctness methods to address challenges in Go concurrency debugging have not received much attention. In…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-25 Saeed Taheri , Ganesh Gopalakrishnan

As concurrent programming becomes increasingly prevalent, effectively identifying and addressing concurrency issues such as data races and deadlocks is critical. This study evaluates the performance of several leading large language models…

Software Engineering · Computer Science 2025-09-05 Ridhi Jain , Rahul Purandare

Emerging Persistent Memory technologies (also PM, Non-Volatile DIMMs, Storage Class Memory or SCM) hold tremendous promise for accelerating popular data-management applications like in-memory databases. However, programmers now need to deal…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-05 Ellis Giles , Kshitij Doshi , Peter Varman

We present for the first time a complete solution to the problem of proving the correctness of a concurrency control algorithm for collaborative text editors against the standard consistency model. The success of our approach stems from the…

Data Structures and Algorithms · Computer Science 2023-06-12 James Smith

Obtaining good performance when programming heterogeneous computing platforms poses significant challenges for the programmer. We present a program transformation environment, implemented in Haskell, where architecture-agnostic scientific C…

Programming Languages · Computer Science 2016-03-11 Salvador Tamarit , Julio Mariño , Guillermo Vigueras , Manuel Carro

A challenge for programming language research is to design and implement multi-threaded low-level languages providing static guarantees for memory safety and freedom from data races. Towards this goal, we present a concurrent language…

Programming Languages · Computer Science 2010-02-05 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

The concurrent programming literature is rich with tools and techniques for data race detection. Less, however, has been known about real-world, industry-scale deployment, experience, and insights about data races. Golang (Go for short) is…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-07 Milind Chabbi , Murali Krishna Ramanathan

Go is a production-level statically typed programming language whose design features explicit message-passing primitives and lightweight threads, enabling (and encouraging) programmers to develop concurrent systems where components interact…

Programming Languages · Computer Science 2017-03-01 Julien Lange , Nicholas Ng , Bernardo Toninho , Nobuko Yoshida

State-of-the-art \emph{software transactional memory (STM)} implementations achieve good performance by carefully avoiding the overhead of \emph{incremental validation} (i.e., re-reading previously read data items to avoid inconsistency)…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-07-08 Trevor Brown , Srivatsan Ravi

Transactional memory has arisen as a good way for solving many of the issues of lock-based programming. However, most implementations admit isolated transactions only, which are not adequate when we have to coordinate communicating…

Programming Languages · Computer Science 2015-05-14 Marino Miculan , Marco Peressotti , Andrea Toneguzzo

Transactional memory (TM) allows concurrent processes to organize sequences of operations on shared \emph{data items} into atomic transactions. A transaction may commit, in which case it appears to have executed sequentially or it may…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-16 Petr Kuznetsov , Srivatsan Ravi

The crux of software transactional memory (STM) is to combine an easy-to-use programming interface with an efficient utilization of the concurrent-computing abilities provided by modern machines. But does this combination come with an…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-06-28 Petr Kuznetsov , Srivatsan Ravi

Algorithms that use hardware transactional memory (HTM) must provide a software-only fallback path to guarantee progress. The design of the fallback path can have a profound impact on performance. If the fallback path is allowed to run…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-08-17 Trevor Brown
‹ Prev 1 2 3 10 Next ›