Affiliation:
1. University of California, Riverside, CA
Abstract
Recently, parallelization of computations in the presence of dynamic data structures has shown promising potential. In this paper, we present PLDS, a system for easily expressing and efficiently exploiting parallelism in computations that are based on dynamic linked data structures. PLDS improves the execution efficiency by providing support for data partitioning and then distributing computation across threads based on the partitioning. Such computations often require the use of speculation to exploit dynamic parallelism. PLDS supports a conditional speculation mechanism that reduces the cost of speculation. PLDS can be employed in the context of different forms of parallelism, which to cover a wide range of parallel applications. PLDS provides easy-to-use compiler directives, using enabling programmers to choose from among a variety of data partitionings to distribute computation across threads in a partitioning-sensitive fashion, and to use conditional speculation when required. We evaluate our implementation of PLDS using ten benchmarks, of which six are parallelized using speculation. PLDS achieves 1.3x--6.9x speedups on an 8-core machine.
Funder
Division of Computing and Communication Foundations
Publisher
Association for Computing Machinery (ACM)
Subject
Hardware and Architecture,Information Systems,Software
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Treelet Prefetching For Ray Tracing;56th Annual IEEE/ACM International Symposium on Microarchitecture;2023-10-28
2. Loop Parallelization using Dynamic Commutativity Analysis;2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2021-02-27
3. A Survey on Thread-Level Speculation Techniques;ACM Computing Surveys;2016-11-11
4. Fast Compression of Large Semantic Web Data Using X10;IEEE Transactions on Parallel and Distributed Systems;2016-09-01