Oblivious Parallel Tight Compaction

In tight compaction one is given an array of balls some of which are marked 0 and the rest are marked 1. The output of the procedure is an array that contains all of the original balls except that now the 0-balls appear before the 1-balls. In other words, tight compaction is equivalent to sorting the array according to 1-bit keys (not necessarily maintaining order within same-key balls). Tight compaction is not only an important algorithmic task by itself, but its oblivious version has also played a key role in recent constructions of oblivious RAM compilers. We present an oblivious deterministic algorithm for tight compaction such that for input arrays of n balls requires O(n) total work and O(log n) depth. Our algorithm is in the Exclusive-Read-Exclusive-Write Parallel-RAM model (i.e., EREW PRAM, the most restrictive PRAM model), and importantly we achieve asymptotical optimality in both total work and depth. To the best of our knowledge no earlier work, even when allowing randomization, can achieve optimality in both total work and depth.

[1]  Torsten Suel,et al.  On Probabilistic Networks for Selection, Merging, and Sorting , 1995, SPAA '95.

[2]  Leslie G. Valiant,et al.  Graph-Theoretic Properties in computational Complexity , 1976, J. Comput. Syst. Sci..

[3]  Timothy J. Purcell Sorting and searching , 2005, SIGGRAPH Courses.

[4]  John C. Mitchell,et al.  Data-Oblivious Data Structures , 2014, STACS.

[5]  Rafail Ostrovsky,et al.  On the (in)security of hash-based oblivious RAM and a new balancing scheme , 2012, SODA.

[6]  Richard Cole,et al.  Parallel merge sort , 1988, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[7]  Elaine Shi,et al.  Lower bounds for external memory integer sorting via network coding , 2019, STOC.

[8]  Elaine Shi,et al.  Circuit OPRAM: Unifying Statistically and Computationally Secure ORAMs and OPRAMs , 2017, TCC.

[9]  Akira Maruoka,et al.  Expanders obtained from affine transformations , 1985, STOC '85.

[10]  Kartik Nayak,et al.  OptORAMa: Optimal Oblivious RAM , 2020, IACR Cryptol. ePrint Arch..

[11]  Zvi Galil,et al.  Explicit Constructions of Linear-Sized Superconcentrators , 1981, J. Comput. Syst. Sci..

[12]  Torben Hagerup,et al.  Fast Parallel Space Allocation, Estimation and Integer Sorting , 1995, Inf. Comput..

[13]  Prabhakar Ragde,et al.  The Parallel Simplicity of Compaction and Chaining , 1990, J. Algorithms.

[14]  Nicholas Pippenger Self-Routing Superconcentrators , 1996, J. Comput. Syst. Sci..

[15]  Kai-Min Chung,et al.  Oblivious Parallel RAM and Applications , 2016, TCC.

[16]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[17]  E. Szemerédi,et al.  O(n LOG n) SORTING NETWORK. , 1983 .

[18]  Moni Naor,et al.  Is There an Oblivious RAM Lower Bound? , 2016, ITCS.

[19]  P. Hall On Representatives of Subsets , 1935 .

[20]  Enoch Peserico Deterministic oblivious distribution (and tight compaction) in linear time , 2018, ArXiv.

[21]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[22]  Rafail Ostrovsky,et al.  Software protection and simulation on oblivious RAMs , 1996, JACM.

[23]  Oded Goldreich,et al.  Towards a theory of software protection and simulation by oblivious RAMs , 1987, STOC.

[24]  Michael T. Goodrich,et al.  Privacy-Preserving Access of Outsourced Data via Oblivious RAM Simulation , 2010, ICALP.

[25]  Kartik Nayak,et al.  Perfectly Secure Oblivious Parallel RAM , 2018, IACR Cryptol. ePrint Arch..

[26]  Elaine Shi,et al.  Can We Overcome the n log n Barrier for Oblivious Sorting? , 2019, IACR Cryptol. ePrint Arch..

[27]  Stephen A. Cook,et al.  Upper and Lower Time Bounds for Parallel Random Access Machines without Simultaneous Writes , 1986, SIAM J. Comput..

[28]  Elaine Shi,et al.  On the Depth of Oblivious Parallel RAM , 2017, ASIACRYPT.