Paper 2020/947

Data Oblivious Algorithms for Multicores

Vijaya Ramachandran and Elaine Shi

Abstract

As secure processors such as Intel SGX (with hyperthreading) become widely adopted, there is a growing appetite for private analytics on big data. Most prior works on data-oblivious algorithms adopt the classical PRAM model to capture parallelism. However, it is widely understood that PRAM does not best capture realistic multicore processors, nor does it reflect parallel programming models adopted in practice. In this paper, we initiate the study of parallel data oblivious algorithms on realistic multicores, best captured by the binary fork-join model of computation. We first show that data-oblivious sorting can be accomplished by a binary fork-join algorithm with optimal total work and optimal (cache-oblivious) cache complexity, and in O(log n log log n) span (i.e., parallel time) that matches the best-known insecure algorithm. 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. We also present results for several applications including list ranking, Euler tour, tree contraction, connected components, and minimum spanning forest. For a subset of these applications, our data-oblivious algorithms asymptotically outperform the best known insecure algorithms. For other applications, we show data oblivious algorithms whose performance bounds match the best known 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 log log n factor off from optimal work and about a log n factor off in terms of span; moreover, it achieves small constant factors in its bounds.

Metadata
Available format(s)
PDF
Category
Foundations
Publication info
Published elsewhere. Minor revision. SPAA 2021
Keywords
oblivious algorithmsparallel algorithmsbinary fork-join
Contact author(s)
vlr @ cs utexas edu
runting @ gmail com
History
2021-06-29: revised
2020-08-04: received
See all versions
Short URL
https://ia.cr/2020/947
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2020/947,
      author = {Vijaya Ramachandran and Elaine Shi},
      title = {Data Oblivious Algorithms for Multicores},
      howpublished = {Cryptology ePrint Archive, Paper 2020/947},
      year = {2020},
      note = {\url{https://eprint.iacr.org/2020/947}},
      url = {https://eprint.iacr.org/2020/947}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.