English
Related papers

Related papers: A Better Reduction Theorem for Store Buffers

200 papers

Writing concurrent programs for shared memory multiprocessor systems is a nightmare. This hinders users to exploit the full potential of multiprocessors. STM (Software Transactional Memory) is a promising concurrent programming paradigm…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-27 Ajay Singh , Sathya Peri , G Monika , Anila Kumari

The memory consistency model is a fundamental system property characterizing a multiprocessor. The relative merits of strict versus relaxed memory models have been widely debated in terms of their impact on performance, hardware complexity…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-04-07 Alexander Jaffe , Thomas Moscibroda , Laura Effinger-Dean , Luis Ceze , Karin Strauss

Data replication is essential to ensure reliability, availability and fault-tolerance of massive distributed applications over large scale systems such as the Internet. However, these systems are prone to partitioning, which by Brewer's CAP…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-01-12 Matthieu Perrin , Achour Mostéfaoui , Claude Jard

A well-established approach to proving progress properties such as deadlock-freedom and termination is to associate obligations with threads. For example, in most existing work the proof rule for lock acquisition prescribes a standard usage…

Programming Languages · Computer Science 2024-12-20 Justus Fasse , Bart Jacobs

Stochastic Gradient Descent (SGD) is a popular algorithm that can achieve state-of-the-art performance on a variety of machine learning tasks. Several researchers have recently proposed schemes to parallelize SGD, but all require…

Optimization and Control · Mathematics 2011-11-14 Feng Niu , Benjamin Recht , Christopher Re , Stephen J. Wright

We present Trust<T>, a general, type- and memory-safe alternative to locking in concurrent programs. Instead of synchronizing multi-threaded access to an object of type T with a lock, the programmer may place the object in a Trust<T>. The…

Performance · Computer Science 2024-08-22 Noaman Ahmad , Ben Baenen , Chen Chen , Jakob Eriksson

Work Stealing has been a very successful algorithm for scheduling parallel computations, and is known to achieve high performances even for computations exhibiting fine-grained parallelism. We present a variant of \ws\ that provably avoids…

Data Structures and Algorithms · Computer Science 2019-04-30 Guilherme Rito , Hervé Paulino

Implementing a concurrent data structure typically begins with defining its sequential specification. However, when used \emph{as is}, a nontrivial sequential data structure, such as a linked list, a search tree, or a hash table, may expose…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Persistent memory provides high-performance data persistence at main memory. Memory writes need to be performed in strict order to satisfy storage consistency requirements and enable correct recovery from system crashes. Unfortunately,…

Hardware Architecture · Computer Science 2017-05-11 Youyou Lu , Jiwu Shu , Long Sun , Onur Mutlu

Contrary to common belief, a recent work by Ellen, Gelashvili, Shavit, and Zhu has shown that computability does not require multicore architectures to support "strong" synchronization instructions like compare-and-swap, as opposed to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Rati Gelashvili , Idit Keidar , Alexander Spiegelman , Roger Wattenhofer

SPARC processors have many applications in mission-critical industries such as aviation and space engineering. Hence, it is important to provide formal frameworks that facilitate the verification of hardware and software that run on or…

Logic in Computer Science · Computer Science 2019-06-27 Zhe Hou , David Sanan , Alwen Tiu , Yang Liu , Jin Song Dong

Distributed algorithms that operate in the fail-recovery model rely on the state stored in stable memory to guarantee the irreversibility of operations even in the presence of failures. The performance of these algorithms lean heavily on…

Operating Systems · Computer Science 2020-02-19 William B. Mingardi , Gustavo M. D. Vieira

Although code generation for Convolution Neural Network (CNN) models has been extensively studied, performing efficient data slicing and parallelization for highly-constrai\-ned Multicore Neural Processor Units (NPUs) is still a challenging…

Performance · Computer Science 2023-04-07 Rafael Sousa , Marcio Pereira , Yongin Kwon , Taeho Kim , Namsoon Jung , Chang Soo Kim , Michael Frank , Guido Araujo

The emergence of multicore and manycore processors is set to change the parallel computing world. Applications are shifting towards increased parallelism in order to utilise these architectures efficiently. This leads to a situation where…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-04-01 Ashkan Tousimojarad , Wim Vanderbauwhede

Now days, manufacturers are focusing on increasing the concurrency in multiprocessor system-on-a-chip (MPSoC) architecture instead of increasing clock speed, for embedded systems. Traditionally lock-based synchronization is provided to…

Hardware Architecture · Computer Science 2012-02-06 Shaily Mittal , Nitin

Many systems use ad hoc collections of files and directories to store persistent data. For consumers of this data, the process of properly parsing, using, and updating these filestores using conventional APIs is cumbersome and error-prone.…

Programming Languages · Computer Science 2019-08-28 Jonathan DiLorenzo , Katie Mancini , Kathleen Fisher , Nate Foster

Software Transactional Memory (STM) is an extensively studied paradigm that provides an easy-to-use mechanism for thread safety and concurrency control. With the recent advent of byte-addressable persistent memory, a natural question to ask…

Programming Languages · Computer Science 2023-12-22 Azalea Raad , Ori Lahav , John Wickerson , Piotr Balcer , Brijesh Dongol

We present "Reciprocating Locks", a novel mutual exclusion locking algorithm, targeting cache-coherent shared memory (CC), that enjoys a number of desirable properties. The doorway arrival phase and the release operation both run in…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-14 Dave Dice , Alex Kogan

In current microarchitectures, due to the complex memory hierarchies and different latencies on memory accesses, thread and data mapping are important issues to improve application performance. Software transactional memory (STM) is an…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-24 Douglas Pereira Pasqualin , Matthias Diener , André Rauber Du Bois , Maurício Lima Pilla

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