MemoDyn: Exploiting Weakly Consistent Data Structures for Dynamic Parallel Memoization [abstract] (ACM DL, PDF)
Prakash Prabhu, Stephen R. Beard, Sotiris Apostolakis, Ayal Zaks, and David I. August
Proceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques (PACT), November 2018.
Several classes of algorithms for combinatorial search and optimization
problems employ memoization data structures to speed up their serial
convergence. However, accesses to these data structures impose dependences that
obstruct program parallelization. Such programs often continue to function
correctly even when queries into these data structures return a partial view of
their contents. Weakening the consistency of these data structures can unleash
new parallelism opportunities, potentially at the cost of additional
computation. These opportunities must, therefore, be carefully exploited for
overall speedup. This paper presents MEMODYN, a framework for parallelizing
loops that access data structures with weakly consistent semantics. MEMODYN
provides programming abstractions to express weak semantics, and consists of a
parallelizing compiler and a runtime system that automatically and adaptively
exploit the semantics for optimized parallel execution. Evaluation of MEMODYN
shows that it achieves efficient parallelization, providing significant
improvements over competing techniques in terms of both runtime performance and
solution quality.