Anti-Persistence on Persistent Storage: History-Independent Sparse Tables and Dictionaries

Anti-Persistence on Persistent Storage: History-Independent Sparse Tables and Dictionaries

Anti-Persistence on Persistent Storage: History-Independent Sparse Tables and Dictionaries ∗ y ∗ Michael A. Bender Jonathan W. Berry Rob Johnson Stony Brook University Sandia National Laboratories Stony Brook University z ∗ y Thomas M. Kroeger Samuel McCauley Cynthia A. Phillips Sandia National Laboratories Stony Brook University Sandia National Laboratories x ∗ { Bertrand Simon Shikha Singh David Zage Ecole Normale Supérieure de Stony Brook University Intel Corporation Lyon ABSTRACT HI cache-oblivious B-trees. Searches take O(logB N) I/Os; in- log2 N We present history-independent alternatives to a B-tree, the primary serts and deletes take O( B + logB N) amortized I/Os with indexing data structure used in databases. A data structure is his- high probability; and range queries returning k elements take tory independent (HI) if it is impossible to deduce any information O(logB N + k=B) I/Os. by examining the bit representation of the data structure that is not Our HI external-memory skip list achieves optimal bounds with already available through the API. high probability, analogous to in-memory skip lists: O(logB N) We show how to build a history-independent cache-oblivious B- I/Os for point queries and amortized O(logB N) I/Os for in- tree and a history-independent external-memory skip list. One of serts/deletes. Range queries returning k elements run in the main contributions is a data structure we build on the way—a O(logB N + k=B) I/Os. In contrast, the best possible high- history-independent packed-memory array (PMA). The PMA sup- probability bounds for inserting into the folklore B-skip list, which ports efficient range queries, one of the most important operations promotes elements with probability 1=B, is just Θ(log N) I/Os. for answering database queries. This is no better than the bounds one gets from running an in- Our HI PMA matches the asymptotic bounds of prior non-HI memory skip list in external memory. packed-memory arrays and sparse tables. Specifically, a PMA maintains a dynamic set of elements in sorted order in a linear- 2 1. INTRODUCTION sized array. Inserts and deletes take an amortized O(log N) el- A data structure is history independent (HI) if its internal ement moves with high probability. Simple experiments with our representation reveals nothing about the sequence of opera- implementation of HI PMAs corroborate our theoretical analysis. tions that led to its current state [43, 47]. In this paper, we Comparisons to regular PMAs give preliminary indications that the study history independence for persistent, disk-resident dic- practical cost of adding history-independence is not too large. tionary data structures. Our HI cache-oblivious B-tree bounds match those of prior non- We give two efficient history-independent alternatives to ∗ the B-tree, the primary indexing data structure used in Department of Computer Science, Stony Brook University, databases. Specifically, we give an HI external-memory skip Stony Brook, NY 11794-2424 USA. Email: {bender, rob, 1 smccauley,shiksingh}@cs.stonybrook.edu. list and an HI cache-oblivious B-tree. yMS 1326, PO Box 5800, Albuquerque, NM 87185 USA. One of the main contributions of the paper is a data struc- Email: {jberry,caphill}@sandia.gov. ture we build on the way: a history-independent packed- memory array (PMA). As we explain, the PMA [14, 18] is zPO Box 969, MS 9011, Livermore, CA 94551 USA. Email: [email protected]. an unlikely candidate data structure to be made history in- x dependent, since traditional PMAs rely on history so funda- LIP, ENS de Lyon, 46 allee d’Italie, 69364 Lyon, France. mentally. The HI PMA is one of the primary building blocks Email: [email protected]. { in the HI cache-oblivious B-tree. However, it can also be Intel Corporation, 2200 Mission College Blvd, Santa Clara, CA bolted onto any dictionary data structure, using the PMA to 95054 USA. Email: [email protected]. hold the actual elements and deliver fast range queries. ACM acknowledges that this contribution was authored or co-authored by an em- ployee, or contractor of the national government. As such, the Government retains Notions of History Independence a nonexclusive, royalty-free right to publish or reproduce this article, or to allow oth- ers to do so, for Government purposes only. Permission to make digital or hard copies Informally, history independence partially protects a disk- for personal or classroom use is granted. Copies must bear this notice and the full ci- resident data structure when the disk is stolen by—or given tation on the first page. Copyrights for components of this work owned by others than to—a third party (the “observer”). This observer can access ACM must be honored. To copy otherwise, distribute, republish, or post, requires prior the data structure through the normal API but can also see specific permission and/or a fee. Request permissions from [email protected]. PODS’16, June 26-July 01, 2016, San Francisco, CA, USA 1A cache-oblivious [29, 30, 51] algorithm or data structure is c 2016 ACM. ISBN 978-1-4503-4191-2/16/06. $15.00 memory-hierarchy universal, in that it has no memory-hierarchy- DOI: http://dx.doi.org/10.1145/2902251.2902276 specific parameterization (see Section 1.1). its bit and pointer representation on disk. An HI data struc- The ubiquitous (non-history-independent) external- ture’s bit representation never leaks any information to the memory dictionary is the B-tree. observer that he could not learn through the API. Our objective is to build history-independent, I/O effi- There are two notions of history independence, weak his- cient external-memory dictionaries.We support standard dic- tory independence (WHI) and strong history independence tionary operations: insertions, deletions, searches, and range (SHI) [47]. The notions are distinguished by how many queries. Our two external-storage computational models times the observer can look at the data structure—that is by (the external-memory model [3] and the cache-oblivious how many times an interloper can steal (or otherwise gain model [29, 30, 51]) apply to both rotating disks and SSDs. access to) the disk on which the data structure resides. A We give weakly history-independent data structures for weakly history-independent data structure is history inde- persistent storage; these are easy to implement and retain pendent against an observer who can see the memory rep- strong performance guarantees. We show that even range- resentation once. A strongly history-independent data struc- query data structures that seem to be inherently history de- ture is history independent against an observer who can see pendent—in particular, packed-memory array or sparse ta- the memory representation multiple times. bles [14,16–18,38,41,66]—can be made weakly history in- In this paper, we focus on weak history independence. dependent. Overall, our results demonstrate that it is pos- From a performance perspective, weak HI is a stronger no- sible to build efficient external-memory (and even cache- tion because it allows provably stronger performance guar- oblivious) history-independent data structures for indexing. antees (see Section 2). Protecting against multiple observa- tions reduces achievable performance. History Independence in Persistent Storage vs. RAM Weak history independence is the appropriate notion of History independence has been vigorously explored in the history independence in situations where only one observa- context of data structures that reside in RAM [20, 21, 23, 36, tion is possible. For example, when the data is on a device 43, 46, 47, 61] (see Section 1.4), but significantly less so in that can be separated from the owner (say a portable or em- external memory. Although there is some theoretical work bedded device), the owner no longer interacts with the de- on history-independent on-disk data structures [31–33] and vice. WHI provides the same level of protection in this case experimental work on history-independent file systems [10– with significantly better performance compared to SHI. 12, 56], the area is substantially less explored. This lacuna may seem surprising, since many of the classi- History Independence and Data cal arguments in support of history independence especially History independence in a database can have major advan- apply to disks. Hard drives are more vulnerable than RAM tages, depending on the kind of data that is being stored and because they are persistent and easier to steal, making it eas- the security requirements. ier for an attacker to observe on-disk data. HI data structures naturally support information- theoretically-secure delete. In contrast, with more standard 1.1 I/O and Cache-Oblivious Models secure delete (where the file system overwrites deleted data We prove our results using the classic models for analyz- with zeros), information about deleted data can leak from ing on-disk algorithms and data structures: the disk-access the memory representation. For example, it reveals how machine (DAM) model of Aggarwal and Vitter [3] and the much data was deleted and where in the keyspace it might cache-oblivious model of Frigo et al. [29,30,51]. The DAM have been. In fact, a long history of failed redactions is one has an internal memory (RAM) of size M and an arbitrarily of the original motivations for history independence [36]. large external memory (disk). Data is transferred between History independence guarantees that the memory repre- RAM and disk in blocks of size B < M. The performance sentation will leak no information about these previous measure is transfers (I/Os). Computation is free. (now secure) deletes. Encryption is not a panacea to protect The cache-oblivious model extends the DAM model.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us