Skip to main content

Transaction Execution Models in Partially Replicated Transactional Memory: The Case for Data-Flow and Control-Flow

  • Chapter
Transactional Memory. Foundations, Algorithms, Tools, and Applications

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8913))

Abstract

In this chapter we describe solutions for managing concurrency of distributed transactional memory accesses in partially replicated deployments. A system is classified as partially replicated if, for each shared object, there is more than one node responsible for storing the object, thus resulting in multiple copies available in the system. In contrast to full replication, where all objects are replicated on all nodes, partial replication allows storing a huge amount of data that, by nature, cannot fit in a single node and improving scalability by (significantly) increasing the number of node serving transaction requests. Solutions that assume partially replicated deployments are categorized according to the mobility of shared objects. In the control-flow approach shared objects are pinned to nodes for the entire system’s lifetime, whereas in the data-flow objects are allowed to change residence node (also called owner) whenever a transaction commits a new version of the object. Intuitively, adopting the data-flow model, objects follow committing transactions whereas, relying on the control-flow model, transactions’ flow is routed towards objects. There is a number of key factors to be evaluated before preferring one transaction execution model to another. This chapter surveys all of them and provides solutions suited for different deployments. The chapter aims for helping designers to understand the execution model that better fits their requirements.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Attiya, H., Gramoli, V., Milani, A.: A Provably Starvation-Free Distributed Directory Protocol. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds.) SSS 2010. LNCS, vol. 6366, pp. 405–419. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  2. Bernstein, P.A., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison-Wesley Longman Publishing Co., Inc. (1987)

    Google Scholar 

  3. Chockler, G.V., Keidar, I., Vitenberg, R.: Group Communication Specifications: A Comprehensive Study. ACM Comput. Surv. 33(4), 427–469 (2001)

    Article  Google Scholar 

  4. Défago, X., Schiper, A., Urbán, P.: Total Order Broadcast and Multicast Algorithms: Taxonomy and Survey. ACM Comput. Surv. 36(4), 372–421 (2004)

    Article  Google Scholar 

  5. Demmer, M.J., Herlihy, M.P.: The Arrow Distributed Directory Protocol. In: Kutten, S. (ed.) DISC 1998. LNCS, vol. 1499, pp. 119–133. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  6. Dice, D., Shalev, O., Shavit, N.N.: Transactional Locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  7. Fernandes, S.M., Cachopo, J.: Lock-free and Scalable Multi-version Software Transactional Memory. In: Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP 2011, pp. 179–188. ACM (2011)

    Google Scholar 

  8. Frølund, S., Guerraoui, R.: Implementing E-Transactions with Asynchronous Replication. IEEE Trans. Parallel Distrib. Syst. 12(2), 133–146 (2001)

    Article  Google Scholar 

  9. Gray, J., Lamport, L.: Consensus on Transaction Commit. ACM Trans. Database Syst. 31(1), 133–160 (2006)

    Article  Google Scholar 

  10. Guerraoui, R., Rodrigues, L.: Introduction to Reliable Distributed Programming. Springer-Verlag New York, Inc. (2006)

    Google Scholar 

  11. Guerraoui, R., Schiper, A.: Genuine Atomic Multicast in Asynchronous Distributed Systems. Theor. Comput. Sci. 254(1-2), 297–316 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  12. Hammond, L., Wong, V., Chen, M., Carlstrom, B.D., Davis, J.D., Hertzberg, B., Prabhu, M.K., Wijaya, H., Kozyrakis, C., Olukotun, K.: Transactional Memory Coherence and Consistency. In: Proceedings of the 31st Annual International Symposium on Computer Architecture, ISCA 2004, pp. 102–113. IEEE Computer Society (2004)

    Google Scholar 

  13. Herlihy, M., Luchangco, V., Moir, M.: Obstruction-Free Synchronization: Double-Ended Queues As an Example. In: Proceedings of the 23rd International Conference on Distributed Computing Systems, ICDCS 2003, pp. 522–529. IEEE Computer Society (2003)

    Google Scholar 

  14. Herlihy, M., Sun, Y.: Distributed transactional memory for metric-space networks. Distributed Computing 20(3), 195–208 (2007)

    Article  MATH  Google Scholar 

  15. Kobus, T., Kokocinski, M., Wojciechowski, P.T.: Hybrid Replication: State-Machine-Based and Deferred-Update Replication Schemes Combined. In: Proceedings of the 33rd International Conference on Distributed Computing Systems, ICDCS 2013, pp. 286–296. IEEE Computer Society (2013)

    Google Scholar 

  16. Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  17. Patterson, S., Elmore, A.J., Nawab, F., Agrawal, D., El Abbadi, A.: Serializability, Not Serial: Concurrency Control and Availability in Multi-datacenter Datastores. Proc. VLDB Endow. 5(11), 1459–1470 (2012)

    Article  Google Scholar 

  18. Pedone, F., Guerraoui, R., Schiper, A.: The Database State Machine Approach. Distrib. Parallel Databases 14(1), 71–98 (2003)

    Article  Google Scholar 

  19. Peluso, S., Romano, P., Quaglia, F.: SCORe: A Scalable One-Copy Serializable Partial Replication Protocol. In: Narasimhan, P., Triantafillou, P. (eds.) Middleware 2012. LNCS, vol. 7662, pp. 456–475. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  20. Peluso, S., Ruivo, P., Romano, P., Quaglia, F., Rodrigues, L.: When Scalability Meets Consistency: Genuine Multiversion Update-Serializable Partial Data Replication. In: Proceedings of the 32nd International Conference on Distributed Computing Systems, ICDCS 2012, pp. 455–465. IEEE Computer Society (2012)

    Google Scholar 

  21. Riegel, T., Felber, P., Fetzer, C.: A Lazy Snapshot Algorithm with Eager Validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 284–298. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Saad, M.M., Ravindran, B.: Supporting STM in Distributed Systems: Mechanisms and a Java Framework. In: 6th ACM SIGPLAN Workshop on Transactional Computing, TRANSACT 2011 (2011)

    Google Scholar 

  23. Schiper, N., Sutra, P., Pedone, F.: P-Store: Genuine Partial Replication in Wide Area Networks. In: Proceedings of the 29th Symposium on Reliable Distributed Systems, SRDS 2010, pp. 214–224. IEEE Computer Society (2010)

    Google Scholar 

  24. Schlichting, R.D., Schneider, F.B.: Fail-stop Processors: An Approach to Designing Fault-tolerant Computing Systems. ACM Trans. Comput. Syst. 1(3), 222–238 (1983)

    Article  Google Scholar 

  25. Schneider, F.B.: Replication Management Using the State-machine Approach. In: Distributed systems, 2nd edn., pp. 169–197. ACM Press/Addison-Wesley Publishing Co. (1993)

    Google Scholar 

  26. Sharma, G., Busch, C., Srinivasagopalan, S.: Distributed Transactional Memory for General Networks. In: Proceedings of the 26th International Parallel and Distributed Processing Symposium, IPDPS 2012, pp. 1045–1056. IEEE Computer Society (2012)

    Google Scholar 

  27. Wojciechowski, P.T., Kobus, T., Kokocinski, M.: Model-Driven Comparison of State-Machine-Based and Deferred-Update Replication Schemes. In: Proceedings of the 31st Symposium on Reliable Distributed Systems, SRDS 2012, pp. 101–110. IEEE Computer Society (2012)

    Google Scholar 

  28. Zhang, B., Ravindran, B.: Dynamic Analysis of the Relay Cache-Coherence Protocol for Distributed Transactional Memory. In: Proceedings of the 24th International Parallel and Distributed Processing Symposium, IPDPS 2010, pp. 1–11. IEEE Computer Society (2010)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Palmieri, R., Peluso, S., Ravindran, B. (2015). Transaction Execution Models in Partially Replicated Transactional Memory: The Case for Data-Flow and Control-Flow. In: Guerraoui, R., Romano, P. (eds) Transactional Memory. Foundations, Algorithms, Tools, and Applications. Lecture Notes in Computer Science, vol 8913. Springer, Cham. https://doi.org/10.1007/978-3-319-14720-8_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14720-8_16

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14719-2

  • Online ISBN: 978-3-319-14720-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics