Abstract
Users increasingly execute services online at remote providers, but they may have security concerns and not always trust the providers. Fork-consistent emulations offer one way to protect the clients of a remote service, which is usually correct but may suffer from Byzantine faults. They feature linearizability as long as the service behaves correctly, and gracefully degrade to fork-consistent semantics in case the service becomes faulty. This guarantees data integrity and service consistency to the clients.
All currently known fork-consistent emulations require the execution of non-trivial computation steps by the service. From a theoretical viewpoint, such a service constitutes a read-modify-write object, representing the strongest object in Herlihy’s wait-free hierarchy [1]. A read-modify-write object is much more powerful than a shared memory made of so-called registers, which lie in the weakest class of all shared objects in this hierarchy. In practical terms, it is important to reduce the complexity and cost of a remote service implementation as computation resources are typically more expensive than storage resources.
In this paper, we address the fundamental structure of a fork-consistent emulation and ask the question: Can one provide a fork-consistent emulation in which the service does not execute computation steps, but can be realized only by a shared memory? Surprisingly, the answer is yes. Specifically, we provide two such algorithms that can be built only from registers: A fork-linearizable construction of a universal type, in which operations are allowed to abort under concurrency, and a weakly fork-linearizable emulation of a shared memory that ensures wait-freedom when the registers are correct.
Research funded in part by DFG GRK 1362 (TUD GKmM).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Herlihy, M.: Wait-Free Synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)
Mell, P., Grance, T.: The NIST Definition of Cloud Computing. Report, National Institute of Standards and Technology, NIST (January 2011), http://csrc.nist.gov/publications/drafts/800-145/Draft-SP-800-145_cloud-definition.pdf
Mazières, D., Shasha, D.: Building Secure File Systems out of Byzantine Storage. In: PODC, pp. 108–117. ACM, New York (2002)
Cachin, C., Shelat, A., Shraer, A.: Efficient Fork-Linearizable Access to Untrusted Shared Memory. In: PODC, pp. 129–138. ACM, New York (2007)
Herlihy, M.P., Wing, J.M.: Linearizability: A Correctness Condition for Concurrent Objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)
Majuntke, M., Dobre, D., Serafini, M., Suri, N.: Abortable Fork-Linearizable Storage. In: Abdelzaher, T., Raynal, M., Santoro, N. (eds.) Proceedings of the 13th International Conference on Principles of Distributed Systems, OPODIS 2009. LNCS, vol. 5923, pp. 255–269. Springer, Heidelberg (2009)
Cachin, C., Keidar, I., Shraer, A.: Fail-Aware Untrusted Storage. SIAM Journal on Computing 40, 493–533 (2011)
Kruskal, C.P., Rudolph, L., Snir, M.: Efficient Synchronization of Multiprocessors with Shared Memory. ACM Trans. Program. Lang. Syst. 10, 579–601 (1988)
Aguilera, M.K., Keidar, I., Malkhi, D., Shraer, A.: Dynamic Atomic Storage Without Consensus. J. ACM 58, 7:1–7:32 (2011)
Shraer, A., Cachin, C., Cidon, A., Keidar, I., Michalevsky, Y., Shaket, D.: Venus: Verification for Untrusted Cloud Storage. In: Proceedings of the 2010 ACM Workshop on Cloud Computing Security, CCSW 2010, pp. 19–30. ACM, New York (2010)
Malkhi, D., Reiter, M.K.: Byzantine Quorum Systems. Distributed Computing 11(4), 203–213 (1998)
Cachin, C.: Integrity and Consistency for Untrusted Services. In: Černá, I., Gyimóthy, T., Hromkovič, J., Jefferey, K., Králović, R., Vukolić, M., Wolf, S. (eds.) SOFSEM 2011. LNCS, vol. 6543, pp. 1–14. Springer, Heidelberg (2011)
Aguilera, M.K., Frolund, S., Hadzilacos, V., Horn, S.L., Toueg, S.: Abortable and Query-Abortable Objects and Their Efficient Implementation. In: PODC: Principles of Distributed Computing, pp. 23–32. ACM, New York (2007)
Herlihy, M., Luchangco, V., Moir, M.: Obstruction-Free Synchronization: Double-Ended Queues as an Example. In: ICDCS, p. 522. IEEE Computer Society, Washington, DC (2003)
Aguilera, M.K., Toueg, S.: Timeliness-Based Wait-Freedom: A Gracefully Degrading Progress Condition. In: PODC 2008: Proceedings of the Twenty-Seventh ACM Symposium on Principles of Distributed Computing, pp. 305–314. ACM, New York (2008)
Li, J., Krohn, M., Mazières, D., Shasha, D.: Secure Untrusted Data Repository (SUNDR). In: Proc. 6th Symp. Operating Systems Design and Implementation (OSDI 2004), pp. 121–136 (2004)
Cachin, C., Geisler, M.: Integrity Protection for Revision Control. In: Abdalla, M., Pointcheval, D., Fouque, P.-A., Vergnaud, D. (eds.) ACNS 2009. LNCS, vol. 5536, pp. 382–399. Springer, Heidelberg (2009)
Williams, P., Sion, R., Shasha, D.: The Blind Stone Tablet: Outsourcing Durability to Untrusted Parties. In: Proc. NDSS (2009)
Feldman, A.J., Zeller, W.P., Freedman, M.J., Felten, E.W.: SPORC: Group Collaboration on Untrusted Resources. In: Proc. 9th Symposium on Operating Systems Design and Implementation (OSDI 2010), Vancouver, BC (2010)
Li, J., Mazières, D.: Beyond One-Third Faulty Replicas in Byzantine Fault Tolerant Systems. In: Proc. NSDI (2007)
Majuntke, M., Dobre, D., Cachin, C., Suri, N.: Fork-consistent constructions from registers. In: Technical Report TR-TUD-DEEDS-09-01-2011 (September 2011), http://www.deeds.informatik.tu-darmstadt.de/matze/fc_wo_sc_2011.pdf
Jayanti, P., Chandra, T.D., Toueg, S.: Fault-tolerant Wait-free Shared Objects. J. ACM 45(3), 451–500 (1998)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann (1998)
Attiya, H., Guerraoui, R., Ruppert, E.: Partial Snapshot Objects. In: Proc. SPAA, pp. 336–343 (2008)
Fich, F.E.: How Hard Is It to Take a Snapshot? In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 28–37. Springer, Heidelberg (2005)
Dobre, D., Majuntke, M., Suri, N.: On the Time-Complexity of Robust and Amnesic Storage. In: Baker, T.P., Bui, A., Tixeuil, S. (eds.) OPODIS 2008. LNCS, vol. 5401, pp. 197–216. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Majuntke, M., Dobre, D., Cachin, C., Suri, N. (2011). Fork-Consistent Constructions from Registers. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds) Principles of Distributed Systems. OPODIS 2011. Lecture Notes in Computer Science, vol 7109. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25873-2_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-25873-2_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-25872-5
Online ISBN: 978-3-642-25873-2
eBook Packages: Computer ScienceComputer Science (R0)