TY - GEN
T1 - Relaxed dependence tracking for parallel runtime support
AU - Zhang, Minjia
AU - Biswas, Swarnendu
AU - Bond, Michael D.
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/3/17
Y1 - 2016/3/17
N2 - It is notoriously difficult to achieve both correctness and scalability for many shared-memory parallel programs. To improve correctness and scalability, researchers have developed various kinds of parallel runtime support such as multithreaded record & replay and software transactional memory. Existing forms of runtime support slow programs significantly in order to track an execution's cross-thread dependences accurately. This paper investigates the potential for runtime support to hide latency introduced by dependence tracking, by tracking dependences in a relaxed way-meaning that not all dependences are tracked accurately. The key challenge in relaxing dependence tracking is to preserve both the program's semantics and the runtime support's guarantees. We present an approach called relaxed dependence tracking (RT) and demonstrate its potential by building two types of RT-based runtime support. Our evaluation shows that RT hides much of the latency incurred by dependence tracking, although RT-based runtime support incurs costs and complexity in order to handle relaxed dependence information. By demonstrating how to relax dependence tracking to hide latency while preserving correctness, this work shows the potential for addressing a key cost of dependence tracking, thus advancing knowledge in the design of parallel runtime support.
AB - It is notoriously difficult to achieve both correctness and scalability for many shared-memory parallel programs. To improve correctness and scalability, researchers have developed various kinds of parallel runtime support such as multithreaded record & replay and software transactional memory. Existing forms of runtime support slow programs significantly in order to track an execution's cross-thread dependences accurately. This paper investigates the potential for runtime support to hide latency introduced by dependence tracking, by tracking dependences in a relaxed way-meaning that not all dependences are tracked accurately. The key challenge in relaxing dependence tracking is to preserve both the program's semantics and the runtime support's guarantees. We present an approach called relaxed dependence tracking (RT) and demonstrate its potential by building two types of RT-based runtime support. Our evaluation shows that RT hides much of the latency incurred by dependence tracking, although RT-based runtime support incurs costs and complexity in order to handle relaxed dependence information. By demonstrating how to relax dependence tracking to hide latency while preserving correctness, this work shows the potential for addressing a key cost of dependence tracking, thus advancing knowledge in the design of parallel runtime support.
KW - Dependence tracking
KW - Multithreaded record & replay
KW - Runtime support for parallelism
KW - Software transactional memory
UR - http://www.scopus.com/inward/record.url?scp=84966657834&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84966657834&partnerID=8YFLogxK
U2 - 10.1145/2892208.2892229
DO - 10.1145/2892208.2892229
M3 - Conference contribution
AN - SCOPUS:84966657834
T3 - Proceedings of CC 2016: The 25th International Conference on Compiler Construction
SP - 45
EP - 55
BT - Proceedings of CC 2016
PB - Association for Computing Machinery
T2 - 25th International Conference on Compiler Construction, CC 2016
Y2 - 17 March 2016 through 18 March 2016
ER -