Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3662158.3662814acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article
Open access

History-Independent Concurrent Objects

Published: 17 June 2024 Publication History

Abstract

A data structure is called history independent if its internal memory representation does not reveal the history of operations applied to it, only its current state. In this paper we study history independence for concurrent data structures, and establish foundational possibility and impossibility results. We show that a large class of concurrent objects cannot be implemented from smaller base objects in a manner that is both wait-free and history independent; but if we settle for either lock-freedom instead of wait-freedom or for a weak notion of history independence, then at least one object in the class, multi-valued single-reader single-writer registers, can be implemented from smaller base objects, binary registers.
On the other hand, using large base objects, we give a strong possibility result in the form of a universal construction: an object with s possible states can be implemented in a wait-free, history-independent manner from compare-and-swap base objects that each have O(s + 2n) possible memory states, where n is the number of processes in the system.

References

[1]
Umut A Acar, Guy E Blelloch, Robert Harper, Jorge L Vittes, and Shan Leung Maverick Woo. 2004. Dynamizing static algorithms, with applications to dynamic trees and history independence. In Proc. of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA). 531--540.
[2]
Ole Amble and Donald Ervin Knuth. 1974. Ordered hash tables. Comput. J. 17, 2 (1974), 135--142.
[3]
Arne Andersson and Thomas Ottmann. 1991. Faster uniquely represented dictionaries. In Proc. of the 32nd Annual IEEE Symposium on Foundations of Computer Science (FOCS). 642--649.
[4]
Arne Andersson and Thomas Ottmann. 1995. New tight bounds on uniquely represented dictionaries. SIAM J. Comput. 24, 5 (1995), 1091--1103.
[5]
Cecilia R Aragon and Raimund G Seidel. 1989. Randomized search trees. In Proc. of the 30th Annual IEEE Symposium on Foundations of Computer Science (FOCS). 540--545.
[6]
James Aspnes, Hagit Attiya, and Keren Censor. 2009. Max registers, counters, and monotone circuits. In Proceedings of the 28th ACM symposium on Principles of distributed computing. 36--45.
[7]
Hagit Attiya, Michael A. Bender, Martin Farach-Colton, Rotem Oshman, and Noa Schiller. 2024. History-Independent Concurrent Objects. Technical Report 2403.14445. arXiv. Full version of this paper.
[8]
Sumeet Bajaj, Anrin Chakraborti, and Radu Sion. 2015. The Foundations of History Independence. arXiv preprint arXiv:1501.06508 (2015).
[9]
Sumeet Bajaj, Anrin Chakraborti, and Radu Sion. 2016. Practical Foundations of History Independence. IEEE Trans. Inf. Forensics Secur. 11, 2 (2016), 303--312.
[10]
Sumit Bajaj and Radu Sion. 2013. Ficklebase: Looking into the future to erase the past. In Proc. of the 29th IEEE International Conference on Data Engineering (ICDE). 86--97.
[11]
Sumeet Bajaj and Radu Sion. 2013. HIFS: History independence for file systems. In Proc. of the ACM SIGSAC Conference on Computer & Communications Security (CCS). 1285--1296.
[12]
Michael A. Bender, Jon Berry, Rob Johnson, Thomas M. Kroeger, Samuel McCauley, Cynthia A. Phillips, Bertrand Simon, Shikha Singh, and David Zage. 2016. Anti-Persistence on Persistent Storage: History-Independent Sparse Tables and Dictionaries. In Proc. 35th ACM Symposium on Principles of Database Systems (PODS). 289--302.
[13]
Michael A. Bender, Alex Conway, Martín Farach-Colton, Hanna Komlós, William Kuszmaul, and Nicole Wein. 2022. Online List Labeling: Breaking the log2 n Barrier. In Proc. 63rd IEEE Annual Symposium on Foundations of Computer Science (FOCS).
[14]
John Bethencourt, Dan Boneh, and Brent Waters. 2007. Cryptographic methods for storing ballots on a voting machine. In Proc. of the 14th Network and Distributed System Security Symposium (NDSS).
[15]
Guy E Blelloch and Daniel Golovin. 2007. Strongly history-independent hashing with applications. In Proc. of the 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS). 272--282.
[16]
Niv Buchbinder and Erez Petrank. 2003. Lower and Upper Bounds on Obtaining History Independence. In Advances in Cryptology. 445--462.
[17]
Pedro Celis, Per-Åke Larson, and J. Ian Munro. 1985. Robin Hood Hashing (Preliminary Report). In 26th Annual Symposium on Foundations of Computer Science (FOCS'85). Portland, Oregon, USA, 281--288.
[18]
Bo Chen and Radu Sion. 2015. HiFlash: A History Independent Flash Device. CoRR abs/1511.05180 (2015). arXiv:1511.05180 http://arxiv.org/abs/1511.05180
[19]
Panagiota Fatourou and Nikolaos D. Kallimanis. 2011. A highly-efficient wait-free universal construction. In Proceedings of the Twenty-Third Annual ACM Symposium on Parallelism in Algorithms and Architectures (San Jose, California, USA) (SPAA '11). Association for Computing Machinery, New York, NY, USA, 325--334.
[20]
Daniel Golovin. 2008. Uniquely Represented Data Structures with Applications to Privacy. Ph. D. Dissertation. Carnegie Mellon University, Pittsburgh, PA, 2008.
[21]
Daniel Golovin. 2009. B-treaps: A uniquely represented alternative to B-Trees. In Proc. of the 36th Annual International Colloquium on Automata, Languages, and Programming (ICALP). Springer Berlin Heidelberg, 487--499.
[22]
Daniel Golovin. 2010. The B-skip-list: A simpler uniquely represented alternative to B-trees. arXiv preprint arXiv:1005.0662 (2010).
[23]
Michael T. Goodrich, Evgenios M. Kornaropoulos, Michael Mitzenmacher, and Roberto Tamassia. 2017. Auditable Data Structures. In Proc. IEEE European Symposium on Security and Privacy (EuroS&P). 285--300.
[24]
Jason D. Hartline, Edwin S. Hong, Alexander E. Mohr, William R. Pentney, and Emily Rocke. 2002. Characterizing History Independent Data Structures. In Proceedings of the Algorithms and Computation, 13th International Symposium (ISAAC). 229--240.
[25]
Jason D Hartline, Edwin S Hong, Alexander E Mohr, William R Pentney, and Emily C Rocke. 2005. Characterizing history independent data structures. Algorithmica 42, 1 (2005), 57--74.
[26]
M. Herlihy. 1990. A Methodology for Implementing Highly Concurrent Data Structures. SIGPLAN Not. 25, 3 (feb 1990), 197--206.
[27]
Maurice Herlihy. 1991. Wait-Free Synchronization. ACM Transactions on Programming Languages and Systems 13, 1 (jan 1991), 124--149.
[28]
Maurice Herlihy. 1993. A methodology for implementing highly concurrent data objects. ACM Transactions on Programming Languages and Systems 15, 5 (nov 1993), 745--770.
[29]
Maurice P. Herlihy and Jeannette M. Wing. 1990. Linearizability: a correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12, 3 (jul 1990), 463--492.
[30]
Amos Israeli and Lihu Rappoport. 1994. Disjoint-Access-Parallel Implementations of Strong Shared Memory Primitives. In Proceedings of the Thirteenth Annual ACM Symposium on Principles of Distributed Computing (Los Angeles, California, USA) (PODC '94). Association for Computing Machinery, New York, NY, USA, 151--160.
[31]
Prasad Jayanti, Siddhartha Jayanti, and Sucharita Jayanti. 2023. Durable Algorithms for Writable LL/SC and CAS with Dynamic Joining. In 37th International Symposium on Distributed Computing (DISC 2023) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 281), Rotem Oshman (Ed.). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, Dagstuhl, Germany, 25:1--25:20.
[32]
Daniele Micciancio. 1997. Oblivious data structures: applications to cryptography. In Proc. of the 29th Annual ACM Symposium on Theory of Computing (STOC). 456--464.
[33]
Tal Moran, Moni Naor, and Gil Segev. 2007. Deterministic history-independent strategies for storing information on write-once memories. In Proc. 34th International Colloquium on Automata, Languages and Programming (ICALP).
[34]
Moni Naor, Gil Segev, and Udi Wieder. 2008. History-independent cuckoo hashing. In Proc. of the 35th International Colloquium on Automata, Languages and Programming (ICALP). Springer, 631--642.
[35]
Moni Naor and Vanessa Teague. 2001. Anti-persistence: history independent data structures. In Proc. of the 33rd Annual ACM Symposium on Theory of Computing (STOC). 492--501.
[36]
Rishabh Poddar, Tobias Boelter, and Raluca Ada Popa. 2016. Arx: A Strongly Encrypted Database System. IACR Cryptol. ePrint Arch. (2016), 591. http://eprint.iacr.org/2016/591
[37]
William Pugh. 1990. Skip lists: a probabilistic alternative to balanced trees. Commun. ACM 33, 6 (1990), 668--676.
[38]
William Pugh and Tim Teitelbaum. 1989. Incremental computation via function caching. In Proc. of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL). 315--328.
[39]
Daniel S Roche, Adam J Aviv, and Seung Geol Choi. 2015. Oblivious Secure Deletion with Bounded History Independence. arXiv preprint arXiv:1505.07391 (2015).
[40]
Daniel S. Roche, Adam J. Aviv, and Seung Geol Choi. 2016. A Practical Oblivious Map Data Structure with Secure Deletion and History Independence. In IEEE Symposium on Security and Privacy (SP). IEEE Computer Society, 178--197.
[41]
Julian Shun and Guy E. Blelloch. 2014. Phase-Concurrent Hash Tables for Determinism. In Proceedings of the 26th ACM Symposium on Parallelism in Algorithms and Architectures (Prague, Czech Republic) (SPAA '14). Association for Computing Machinery, New York, NY, USA, 96--107.
[42]
Lawrence Snyder. 1977. On uniquely represented data structures. In Proc. of the 18th Annual IEEE Symposium on Foundations of Computer Science (FOCS). 142--146.
[43]
Rajamani Sundar and Robert Endre Tarjan. 1990. Unique binary search tree representations and equality-testing of sets and sequences. In Proc. of the 22nd Annual ACM Symposium on Theory of Computing (STOC). 18--25.
[44]
Theodoros Tzouramanis. 2012. History-independence: a fresh look at the case of R-trees. In Proc. 27th Annual ACM Symposium on Applied Computing (SAC). 7--12.
[45]
K. Vidyasankar. 1988. Converting Lamport's regular register to atomic register. Inform. Process. Lett. 28, 6 (1988), 287--290.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PODC '24: Proceedings of the 43rd ACM Symposium on Principles of Distributed Computing
June 2024
570 pages
ISBN:9798400706684
DOI:10.1145/3662158
This work is licensed under a Creative Commons Attribution-NoDerivs International 4.0 License.

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 June 2024

Check for updates

Author Tags

  1. state-quiescent history independence
  2. multi-valued register
  3. queue
  4. universal implementation

Qualifiers

  • Research-article

Funding Sources

Conference

PODC '24
Sponsor:

Acceptance Rates

Overall Acceptance Rate 740 of 2,477 submissions, 30%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 167
    Total Downloads
  • Downloads (Last 12 months)167
  • Downloads (Last 6 weeks)32
Reflects downloads up to 12 Feb 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media