Dynamic Reconfiguration : Abstraction and Optimal Asynchronous Solution XX : 3

Providing clean and efficient foundations and tools for reconfiguration is a crucial enabler for distributed system management today. This work takes a step towards developing such foundations. It considers classic fault-tolerant atomic objects emulated on top of a static set of fault-prone servers, and turns them into dynamic ones. The specification of a dynamic object extends the corresponding static (non-dynamic) one with an API for changing the underlying set of fault-prone servers. Thus, in a dynamic model, an object can start in some configuration and continue in a different one. Its liveness is preserved through the reconfigurations it undergoes, tolerating a versatile set of faults as it shifts from one configuration to another. In this paper we present a general abstraction for asynchronous reconfiguration, and exemplify its usefulness for building two dynamic objects: a read/write register and a max-register. We first define a dynamic model with a clean failure condition that allows an administrator to reconfigure the system and switch off a server once the reconfiguration operation removing it completes. We then define the Reconfiguration abstraction and show how it can be used to build dynamic registers and max-registers. Finally, we give an optimal asynchronous algorithm implementing the Reconfiguration abstraction, which in turn leads to the first asynchronous (consensus-free) dynamic register emulation with optimal complexity. More concretely, faced with n requests for configuration changes, the number of configurations that the dynamic register is implemented over is n; and the complexity of each client operation is O(n). Digital Object Identifier 10.4230/LIPIcs...

[1]  Alexander Spiegelman,et al.  Space Complexity of Fault-Tolerant Register Emulations , 2017, PODC.

[2]  Idit Keidar,et al.  Data-centric reconfiguration with network-attached disks , 2010, LADIS '10.

[3]  Nancy A. Lynch,et al.  Rambo II: rapidly reconfigurable atomic memory for dynamic networks , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[4]  Hagit Attiya,et al.  Max registers, counters, and monotone circuits , 2009, PODC '09.

[5]  Eli Gafni,et al.  Elastic Configuration Maintenance via a Parsimonious Speculating Snapshot Solution , 2015, DISC.

[6]  Nancy A. Lynch,et al.  Rambo: a robust, reconfigurable atomic memory service for dynamic networks , 2010, Distributed Computing.

[7]  Idit Keidar,et al.  On Liveness of Dynamic Storage , 2015, SIROCCO.

[8]  Alex A. Shvartsmanz Rambo: A Reconfigurable Atomic Memory Service for Dynamic Networks , 2002 .

[9]  Idit Keidar,et al.  Dynamic Atomic Snapshots , 2016, OPODIS.

[10]  Vincent Gramoli,et al.  Reconfigurable Distributed Storage for Dynamic Networks , 2005, OPODIS.

[11]  Dahlia Malkhi,et al.  Active disk paxos with infinitely many processes , 2002, PODC.

[12]  Hein Meling,et al.  The Case for Reconfiguration without Consensus: Comparing Algorithms for Atomic Storage , 2016, OPODIS.

[13]  Hein Meling,et al.  SmartMerge: A New Approach to Reconfiguration for Atomic Storage , 2015, DISC.

[14]  Dahlia Malkhi Virtually Synchronous Methodology for Dynamic Service Replication , 2010 .

[15]  Sam Toueg,et al.  Fault-tolerant wait-free shared objects , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[16]  Faith Ellen,et al.  Simulating a Shared Register in an Asynchronous System that Never Stops Changing - (Extended Abstract) , 2015, DISC.

[17]  Gregory V. Chockler,et al.  FRAPPE: Fast Replication Platform for Elastic Services , 2016, ArXiv.

[18]  Idit Keidar,et al.  Dynamic Reconfiguration: Abstraction and Optimal Asynchronous Solution , 2017, DISC.

[19]  Leslie Lamport,et al.  Reconfiguring a state machine , 2010, SIGA.

[20]  Michel Raynal,et al.  Implementing a Regular Register in an Eventually Synchronous Distributed System Prone to Continuous Churn , 2012, IEEE Transactions on Parallel and Distributed Systems.

[21]  Marcos K. Aguilera,et al.  Reconfiguring Replicated Atomic Storage: A Tutorial , 2013, Bull. EATCS.

[22]  A. Spiegelman,et al.  Dynamic Reconfiguration: A Tutorial∗ , 2016 .

[23]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, JACM.