A type and effect system for deterministic parallel Java
Today's shared-memory parallel programming models are complex and error-prone. While
many parallel programs are intended to be deterministic, unanticipated thread interleavings …
many parallel programs are intended to be deterministic, unanticipated thread interleavings …
Bulk disambiguation of speculative threads in multiprocessors
Transactional Memory (TM), Thread-Level Speculation (TLS), and Checkpointed
multiprocessors are three popular architectural techniques based on the execution of …
multiprocessors are three popular architectural techniques based on the execution of …
[PDF][PDF] Parallel programming must be deterministic by default
In today's widely used parallel programming models, subtle programming errors can lead to
unintended nondeterministic behavior and hard to catch bugs. In contrast, we argue for a …
unintended nondeterministic behavior and hard to catch bugs. In contrast, we argue for a …
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 …
How much parallelism is there in irregular applications?
Irregular programs are programs organized around pointer-based data structures such as
trees and graphs. Recent investigations by the Galois project have shown that many …
trees and graphs. Recent investigations by the Galois project have shown that many …
Kremlin: Rethinking and rebooting gprof for the multicore age
Many recent parallelization tools lower the barrier for parallelizing a program, but overlook
one of the first questions that a programmer needs to answer: which parts of the program …
one of the first questions that a programmer needs to answer: which parts of the program …
SD3: A scalable approach to dynamic data-dependence profiling
As multicore processors are deployed in mainstream computing, the need for software tools
to help parallelize programs is increasing dramatically. Data-dependence profiling is an …
to help parallelize programs is increasing dramatically. Data-dependence profiling is an …
Parallelizing sequential applications on commodity hardware using a low-cost software transactional memory
Multicore designs have emerged as the mainstream design paradigm for the microprocessor
industry. Unfortunately, providing multiple cores does not directly translate into performance …
industry. Unfortunately, providing multiple cores does not directly translate into performance …
Alchemist: A transparent dependence distance profiling infrastructure
X Zhang, A Navabi… - … Symposium on Code …, 2009 - ieeexplore.ieee.org
Effectively migrating sequential applications to take advantage of parallelism available on
multicore platforms is a well-recognized challenge. This paper addresses important aspects …
multicore platforms is a well-recognized challenge. This paper addresses important aspects …
HELIX-RC: An architecture-compiler co-design for automatic parallelization of irregular programs
Data dependences in sequential programs limit parallelization because extracted threads
cannot run independently. Although thread-level speculation can avoid the need for precise …
cannot run independently. Although thread-level speculation can avoid the need for precise …