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

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.

[1]  Kunle Olukotun,et al.  Transactional memory coherence and consistency , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[2]  Rachid Guerraoui,et al.  The Database State Machine Approach , 2003, Distributed and Parallel Databases.

[3]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[4]  Rachid Guerraoui,et al.  Implementing E-Transactions with Asynchronous Replication , 2001, IEEE Trans. Parallel Distributed Syst..

[5]  Richard D. Schlichting,et al.  Fail-stop processors: an approach to designing fault-tolerant computing systems , 1983, TOCS.

[6]  Divyakant Agrawal,et al.  Serializability, not Serial: Concurrency Control and Availability in Multi-Datacenter Datastores , 2012, Proc. VLDB Endow..

[7]  Nir Shavit,et al.  Transactional Locking II , 2006, DISC.

[8]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[9]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[10]  Torvald Riegel,et al.  A Lazy Snapshot Algorithm with Eager Validation , 2006, DISC.

[11]  Gokarna Sharma,et al.  Distributed Transactional Memory for General Networks , 2012, IPDPS.

[12]  Pawel T. Wojciechowski,et al.  Model-Driven Comparison of State-Machine-Based and Deferred-Update Replication Schemes , 2012, 2012 IEEE 31st Symposium on Reliable Distributed Systems.

[13]  Paolo Romano,et al.  SCORe: A Scalable One-Copy Serializable Partial Replication Protocol , 2012, Middleware.

[14]  Hagit Attiya,et al.  A Provably Starvation-Free Distributed Directory Protocol , 2010, SSS.

[15]  Christian Scheideler,et al.  Stabilization, Safety, and Security of Distributed Systems , 2012, Lecture Notes in Computer Science.

[16]  Rachid Guerraoui,et al.  Introduction to reliable distributed programming , 2006 .

[17]  Fernando Pedone,et al.  P-Store: Genuine Partial Replication in Wide Area Networks , 2010, 2010 29th IEEE Symposium on Reliable Distributed Systems.

[18]  Luís E. T. Rodrigues,et al.  When Scalability Meets Consistency: Genuine Multiversion Update-Serializable Partial Data Replication , 2012, 2012 IEEE 32nd International Conference on Distributed Computing Systems.

[19]  João P. Cachopo,et al.  Lock-free and scalable multi-version software transactional memory , 2011, PPoPP '11.

[20]  Pawel T. Wojciechowski,et al.  Hybrid Replication: State-Machine-Based and Deferred-Update Replication Schemes Combined , 2013, 2013 IEEE 33rd International Conference on Distributed Computing Systems.

[21]  Binoy Ravindran,et al.  Dynamic analysis of the relay cache-coherence protocol for distributed transactional memory , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[22]  Ye Sun,et al.  Distributed transactional memory for metric-space networks , 2005, Distributed Computing.

[23]  Maurice Herlihy,et al.  The Arrow Distributed Directory Protocol , 1998, DISC.

[24]  Leslie Lamport,et al.  Consensus on transaction commit , 2004, TODS.

[25]  Rachid Guerraoui,et al.  Genuine atomic multicast in asynchronous distributed systems , 2001, Theor. Comput. Sci..

[26]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.