Dynamically finding parallelism in sequential applications with hardware mechanisms is typically limited to short windows of execution due to resource limitations. This is because pre-cisely keeping track of memory dependences is too expensive. We propose trading off precision for efficiency. The key idea is to encode a superset of the dependences in a way that saves storage and makes traversal for concurrency discovery efficient. Our proposal includes two alternative hardware structures: the first is a FIFO of Bloom Filters; the second is an imprecise map of memory addresses to timestamps that summarizes de-pendences on-the-fly. Our evaluation with SPEC2006 applica-tions shows that they lead to little imprecision in the dependence graph an...
Task-parallel languages are increasingly popular. Many of them provide expressive mechanisms for int...
With the rise of Chip multiprocessors (CMPs), the amount of parallel computing power will increase s...
Practical and efficient concurrent systems are notoriously hard to design, implement, and verify. As...
International audienceThis paper describes a tool using one or more executions of a sequential progr...
We consider a variety of dynamic, hardware-based methods for exploiting load/store parallelism, incl...
As multicore processors are deployed in mainstream computing, the need for software tools to help pa...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2012.Speculative parallelizatio...
Abstract. We present a dynamic dependence analyzer whose goal is to compute dependences from instrum...
As the existing techniques that empower the modern high-performance processors are being refined and...
With speculative thread-level parallelization, codes that cannot be fully compiler-analyzed are aggr...
International audienceAlthough parallel processing is mainstream, existing programs are often serial...
With the rise of Chip multiprocessors (CMPs), the amount of parallel computing power will increase s...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
International audienceWe present a dynamic dependence analyzer whose goal is to compute dependences ...
Task-parallel languages are increasingly popular. Many of them provide expressive mechanisms for int...
With the rise of Chip multiprocessors (CMPs), the amount of parallel computing power will increase s...
Practical and efficient concurrent systems are notoriously hard to design, implement, and verify. As...
International audienceThis paper describes a tool using one or more executions of a sequential progr...
We consider a variety of dynamic, hardware-based methods for exploiting load/store parallelism, incl...
As multicore processors are deployed in mainstream computing, the need for software tools to help pa...
Thesis (Ph. D.)--University of Rochester. Dept. of Computer Science, 2012.Speculative parallelizatio...
Abstract. We present a dynamic dependence analyzer whose goal is to compute dependences from instrum...
As the existing techniques that empower the modern high-performance processors are being refined and...
With speculative thread-level parallelization, codes that cannot be fully compiler-analyzed are aggr...
International audienceAlthough parallel processing is mainstream, existing programs are often serial...
With the rise of Chip multiprocessors (CMPs), the amount of parallel computing power will increase s...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
Taking advantage of parallel processors often entails using concurrent software, where multiple thre...
International audienceWe present a dynamic dependence analyzer whose goal is to compute dependences ...
Task-parallel languages are increasingly popular. Many of them provide expressive mechanisms for int...
With the rise of Chip multiprocessors (CMPs), the amount of parallel computing power will increase s...
Practical and efficient concurrent systems are notoriously hard to design, implement, and verify. As...