Dynamic Graph Traversals for Concurrent Rewriting Using Work-Stealing Frameworks for Multicore Platforms - Yasugi, M; Hiraishi, T; Umatani, S; Yuasa, T (2010 IEEE 16th International Conference on Parallel and Distributed Systems, 2010)
Parallel programming/execution frameworks for multicore platforms should support as many applications as possible. In general, work-stealing frameworks provide efficient load balancing even for irregular parallel applications. Unfortunately, naive parallel programs for ``general computations'' governed by rewriting rules over configurations (system states) cause stack overflow or unacceptable load imbalance. In this study, we develop parallel programs to perform probabilistically balanced divide-and-conquer graph traversals. We propose a programming technique for accumulating overflowed calls for the next iteration of repeated parallel stages. In an emerging backtracking-based work-stealing framework called "Tascell," which avoids excessive concurrency, we propose a programming technique for long-term use of workspaces, leading a similar technique in the Cilk framework.