English
Related papers

Related papers: A Better Reduction Theorem for Store Buffers

200 papers

The paper presents the first \emph{concurrency-optimal} implementation of a binary search tree (BST). The implementation, based on a standard sequential implementation of an internal tree, ensures that every \emph{schedule} is accepted,…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-03-03 Vitaly Aksenov , Vincent Gramoli , Petr Kuznetsov , Anna Malova , Srivatsan Ravi

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

Event-driven multi-threaded programming is fast becoming a preferred style of developing efficient and responsive applications. In this concurrency model, multiple threads execute concurrently, communicating through shared objects as well…

Programming Languages · Computer Science 2017-10-17 Pallavi Maiya , Rahul Gupta , Aditya Kanade , Rupak Majumdar

We exhibit assertion-preserving (reachability preserving) transformations from parameterized concurrent shared-memory programs, under a k-round scheduling of processes, to sequential programs. The salient feature of the sequential program…

Logic in Computer Science · Computer Science 2012-07-19 Salvatore La Torre , P. Madhusudan , Gennaro Parlato

Developers of low-level systems code providing core functionality for operating systems and kernels must address hardware-level features of modern multicore architectures. A particular feature is pipelined "out-of-order execution" of the…

Logic in Computer Science · Computer Science 2024-07-31 Robert J. Colvin , Ian J. Hayes , Scott Heiner , Peter Höfner , Larissa Meinicke , Roger C. Su

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

Consolidating latency-critical (LC) and best-effort (BE) tenants at storage backend helps to increase resources utilization. Even if tenants use dedicated queues and threads to achieve performance isolation, threads are still contend for…

Performance · Computer Science 2021-06-18 Liuying Ma , Zhenqing Liu , Jin Xiong , Dejun Jiang

Modern architectures provide weaker memory consistency guarantees than sequential consistency. These weaker guarantees allow programs to exhibit behaviours where the program statements appear to have executed out of program order.…

Software Engineering · Computer Science 2015-06-03 Saurabh Joshi , Daniel Kroening

Sequential computation is well understood but does not scale well with current technology. Within the next decade, systems will contain large numbers of processors with potentially thousands of processors per chip. Despite this, many…

Hardware Architecture · Computer Science 2015-11-17 James Hanlon

To achieve high availability and low latency, distributed data stores often geographically replicate data at multiple sites called replicas. However, this introduces the data consistency problem. Due to the fundamental tradeoffs among…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-08 Xue Jiang , Hengfeng Wei , Yu Huang

Research in transaction processing has made significant progress in improving the performance of multi-core in-memory transactional systems. However, the focus has mainly been on low-contention workloads. Modern transactional systems…

Databases · Computer Science 2018-10-05 Guna Prasaad , Alvin Cheung , Dan Suciu

Concurrent data structures are the data sharing side of parallel programming. Data structures give the means to the program to store data, but also provide operations to the program to access and manipulate these data. These operations are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-13 Daniel Cederman , Anders Gidenstam , Phuong Ha , Håkan Sundell , Marina Papatriantafilou , Philippas Tsigas

Previous approaches to systematic state-space exploration for testing multi-threaded programs have proposed context-bounding and depth-bounding to be effective ranking algorithms for testing multithreaded programs. This paper proposes two…

Programming Languages · Computer Science 2013-02-06 Sandeep Bindal , Sorav Bansal , Akash Lal

To support growing massive parallelism, functional components and also the capabilities of current processors are changing and continue to do so. Todays computers are built upon multiple processing cores and run applications consisting of a…

Programming Languages · Computer Science 2016-04-07 Somnath Mazumdar , Roberto Giorgi

Storage systems have not kept the same technology improvement rate as computing systems. As applications produce more and more data, I/O becomes the limiting factor for increasing application performance. I/O congestion caused by concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-03 Hatem Elshazly , Jorge Ejarque , Francesc Lordan , Rosa M. Badia

It is well recognized that the safety of compiler optimizations is at risk in a concurrent context. Existing approaches primarily rely on context-free thread-local guarantees, and prohibit optimizations that introduce a data-race. However,…

Programming Languages · Computer Science 2025-07-22 Akshay Gopalakrishnan , Clark Verbrugge

In this paper we verify a modern lazy cache coherence protocol, TSO-CC, against the memory consistency model it was designed for, TSO. We achieve this by first showing a weak simulation relation between TSO-CC (with a fixed number of…

Logic in Computer Science · Computer Science 2017-05-24 Christopher J. Banks , Marco Elver , Ruth Hoffmann , Susmit Sarkar , Paul Jackson , Vijay Nagarajan

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

We study the formal semantics of non-volatile memory in the x86-TSO architecture. We show that while the explicit persist operations in the recent model of Raad et al. from POPL'20 only enforce order between writes to the non-volatile…

Programming Languages · Computer Science 2020-10-28 Artem Khyzha , Ori Lahav

Consistent hashing is a technique for distributing data across a network of nodes in a way that minimizes reorganization when nodes join or leave the network. It is extensively applied in modern distributed systems as a fundamental…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-18 Massimo Coluzzi , Amos Brocco , Alessandro Antonucci , Tiziano Leidi