Data oblivious algorithms for multicores
V Ramachandran, E Shi - Proceedings of the 33rd ACM Symposium on …, 2021 - dl.acm.org
Proceedings of the 33rd ACM Symposium on Parallelism in Algorithms and …, 2021•dl.acm.org
A data-oblivious algorithm is an algorithm whose memory access pattern is independent of
the input values. We initiate the study of parallel data oblivious algorithms on realistic
multicores, best captured by the binary fork-join model of computation. We present a data-
oblivious CREW binary fork-join sorting algorithm with optimal total work and optimal (cache-
oblivious) cache complexity, and in O (łog n łog łog n) span (ie, parallel time); these bounds
match the best-known bounds for binary fork-join cache-efficient insecure algorithms. Using …
the input values. We initiate the study of parallel data oblivious algorithms on realistic
multicores, best captured by the binary fork-join model of computation. We present a data-
oblivious CREW binary fork-join sorting algorithm with optimal total work and optimal (cache-
oblivious) cache complexity, and in O (łog n łog łog n) span (ie, parallel time); these bounds
match the best-known bounds for binary fork-join cache-efficient insecure algorithms. Using …
A data-oblivious algorithm is an algorithm whose memory access pattern is independent of the input values. We initiate the study of parallel data oblivious algorithms on realistic multicores, best captured by the binary fork-join model of computation. We present a data-oblivious CREW binary fork-join sorting algorithm with optimal total work and optimal (cache-oblivious) cache complexity, and in O(łog n łog łog n) span (i.e., parallel time); these bounds match the best-known bounds for binary fork-join cache-efficient insecure algorithms. Using our sorting algorithm as a core primitive, we show how to data-obliviously simulate general PRAM algorithms in the binary fork-join model with non-trivial efficiency, and we present data-oblivious algorithms for several applications including list ranking, Euler tour, tree contraction, connected components, and minimum spanning forest. All of our data oblivious algorithms have bounds that either match or improve over the best known bounds for insecure algorithms.
Complementing these asymptotically efficient results, we present a practical variant of our sorting algorithm that is self-contained and potentially implementable. It has optimal caching cost, and it is only a łog łog n factor off from optimal work and about a łog n factor off in terms of span. %moreover, it achieves small constant factors in its bounds. We also present an EREW variant with optimal work and caching cost, and with the same asymptotic span.