@inproceedings{c4475f43a0a2499484d5c616cedc63fc,
title = "POSTER: Provably efficient scheduling of cache-oblivious wavefront algorithms",
abstract = "Standard cache-oblivious recursive divide-and-conquer algorithms for evaluating dynamic programming recurrences have optimal serial cache complexity but often have lower parallelism compared with iterative wavefront algorithms due to artificial dependencies among subtasks. Very recently cache-oblivious recursive wavefront (COW) algorithms have been introduced which do not have any artificial dependencies. Though COW algorithms are based on fork-join primitives, they extensively use atomic operations, and as a result, performance guarantees provided by state-of-the-art schedulers for programs with fork-join primitives do not apply. In this work, we show how to systematically transform standard cache-oblivious recursive divide-and-conquer algorithms into recursive wavefront algorithms to achieve optimal parallel cache complexity and high parallelism under state-of-the-art schedulers for fork-join programs. Unlike COW algorithms these new algorithms do not use atomic operations. Instead, they use closed-form formulas to compute at what time each recursive function must be launched in order to achieve high parallelism without losing cache performance. The resulting implementations are arguably much simpler than implementations of known COW algorithms.",
keywords = "Cache-oblivious, Divide-and-conquer, Dynamic programming, Parallel, Recursive wavefront",
author = "Rezaul Chowdhury and Pramod Ganapathi and Yuan Tang and Tithi, \{Jesmin Jahan\}",
note = "Publisher Copyright: {\textcopyright} 2017 Copyright held by the owner/author(s).; 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2017 ; Conference date: 04-02-2017 Through 08-02-2017",
year = "2017",
month = jan,
day = "26",
doi = "10.1145/3018743.3019031",
language = "English",
series = "Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP",
publisher = "Association for Computing Machinery",
pages = "435--436",
booktitle = "PPoPP 2017 - Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming",
}