The tao of parallelism in algorithms
For more than thirty years, the parallel programming community has used the dependence
graph as the main abstraction for reasoning about and exploiting parallelism in" regular" …
graph as the main abstraction for reasoning about and exploiting parallelism in" regular" …
Internally deterministic parallel algorithms can be fast
GE Blelloch, JT Fineman, PB Gibbons… - Proceedings of the 17th …, 2012 - dl.acm.org
The virtues of deterministic parallelism have been argued for decades and many forms of
deterministic parallelism have been described and analyzed. Here we are concerned with …
deterministic parallelism have been described and analyzed. Here we are concerned with …
A survey on thread-level speculation techniques
A Estebanez, DR Llanos… - ACM Computing Surveys …, 2016 - dl.acm.org
Thread-Level Speculation (TLS) is a promising technique that allows the parallel execution
of sequential code without relying on a prior, compile-time-dependence analysis. In this …
of sequential code without relying on a prior, compile-time-dependence analysis. In this …
ECROs: building global scale systems from sequential code
To ease the development of geo-distributed applications, replicated data types (RDTs) offer
a familiar programming interface while ensuring state convergence, low latency, and high …
a familiar programming interface while ensuring state convergence, low latency, and high …
Automated Verification of Fundamental Algebraic Laws
G Zakhour, P Weisenburger… - Proceedings of the ACM on …, 2024 - dl.acm.org
Algebraic laws of functions in mathematics–such as commutativity, associativity, and
idempotence–are often used as the basis to derive more sophisticated properties of complex …
idempotence–are often used as the basis to derive more sophisticated properties of complex …
Parallel graph analytics
A Lenharth, D Nguyen, K Pingali - Communications of the ACM, 2016 - dl.acm.org
Parallel graph analytics Page 1 78 COMMUNICATIONS OF THE ACM | MAY 2016 | VOL. 59 |
NO. 5 contributed articles DOI:10.1145/2901919 Data-centric abstractions and execution …
NO. 5 contributed articles DOI:10.1145/2901919 Data-centric abstractions and execution …
A framework for enhancing data reuse via associative reordering
The freedom to reorder computations involving associative operators has been widely
recognized and exploited in designing parallel algorithms and to a more limited extent in …
recognized and exploited in designing parallel algorithms and to a more limited extent in …
Grail: Context-aware fixing of concurrency bugs
Writing efficient synchronization for multithreaded programs is notoriously hard. The
resulting code often contains subtle concurrency bugs. Even worse, many bug fixes …
resulting code often contains subtle concurrency bugs. Even worse, many bug fixes …
Type-aware transactions for faster concurrent code
It is often possible to improve a concurrent system's performance by leveraging the
semantics of its datatypes. We build a new software transactional memory (STM) around this …
semantics of its datatypes. We build a new software transactional memory (STM) around this …
Commutativity race detection
This paper introduces the concept of a commutativity race. A commutativity race occurs in a
given execution when two library method invocations can happen concurrently yet they do …
given execution when two library method invocations can happen concurrently yet they do …