Brief Announcement: Synchronization in Anonymous Networks Under Arbitrary Dynamics
Abstract
We present the -Synchronizer, which works in non-synchronous dynamic networks under minimal assumptions. Our model allows for arbitrary topological changes without any guarantee of eventual global or partial stabilization and assumes that nodes are anonymous. This deterministic synchronizer is the first that enables nodes to simulate a dynamic network synchronous algorithm for executions in a semi-synchronous dynamic environment under a weakly-fair node activation scheduler, despite the absence of a global clock, node ids, persistent connectivity or any assumptions about the edge dynamics (in both the synchronous and semi-synchronous environments). We make the following contributions: (1) we extend the definition of synchronizers to networks with arbitrary edge dynamics; (2) we present the first synchronizer from the semi-synchronous to the synchronous model in such networks; and (3) we present non-trivial applications of the proposed synchronizer to existing algorithms. We assume an extension of the Pull communication model by adding a single 1-bit multi-writer atomic register at each edge-port of a node. We show that this extension is needed and that synchronization in our setting is not possible without it. The -Synchronizer operates with memory overhead at the nodes that is asymptotically logarithmic on the runtime of the underlying synchronous algorithm being simulated – in particular, it is logarithmic for polynomial-time synchronous algorithms.
Keywords and phrases:
Synchronization, Anonymous Dynamic Networks, Arbitrary DynamicsFunding:
Anya Chaturvedi: NSF-CCF-2312537 and 2106917; U.S. ARO (MURI W911NF-19-1-0233).Copyright and License:
2012 ACM Subject Classification:
Theory of computation Distributed algorithmsEditor:
Dariusz R. KowalskiSeries and Publisher:
Leibniz International Proceedings in Informatics, Schloss Dagstuhl – Leibniz-Zentrum für Informatik
1 Introduction
Modern distributed systems, such as wireless sensor networks, mobile peer-to-peer systems, and biologically inspired swarm networks, often exhibit constantly changing and unpredictable communication dynamics that make achieving coordinated behavior between agents challenging, even for simple tasks. Achieving coordinated behavior in such a setting can be further compounded by asynchrony and agent anonymity (no identifiers). To simplify the design of distributed algorithms, researchers developed synchronizers that can transform algorithms designed under strong synchrony assumptions into algorithms that work correctly under weaker assumptions [2, 19, 15]. Previous work on synchronizers considers systems in which agents have unique identifiers and the network is either static or is dynamic for some time but eventually stabilizes. In contrast, this paper considers a system of anonymous agents that communicate through a network with arbitrary dynamics, i.e., with no restrictions on topological changes, including no assumptions on eventual (local or global) stabilization.
In such networks, three different synchrony models are considered [13]. In the synchronous model, time is divided into stages and all nodes are active in every stage. In the semi-synchronous model (see, e.g., [14]), time is also divided into stages, but some nodes might not be active in a given stage. In both models, an active node executes one action – which involves communication with their neighbors and a bounded amount of computation – per stage, and topology changes occur only at the beginning of a stage. In other words, the semi-synchronous mode is one where time is synchronous but nodes are activated asynchronously. In the asynchronous model, there is no synchronization of time nor node activations, so actions can take an arbitrary bounded amount of time to execute, and topological changes and node activations can happen at arbitrary times.
In this paper, we introduce our Arbitrary-Dynamics Synchronizer, or -Synchronizer for short. The -Synchronizer is the first deterministic synchronizer that allows algorithms designed for a synchronous anonymous network with arbitrary adversarial dynamics to execute correctly in a semi-synchronous anonymous, arbitrary dynamics network under a weakly-fair node activation scheduler. Specifically, our -Synchronizer transforms any algorithm designed for a synchronous dynamic network under arbitrary edge-dynamics given by a time-varying graph into an algorithm that correctly simulates under a weakly-fair scheduler in a semi-synchronous dynamic network under arbitrary edge-dynamics given by a time-varying graph .
Unlike other synchronizers that assume eventual stabilization and for which one can compare executions of the original algorithm and the transformed algorithm on the same stabilized network, in our setting, there is no guarantee that the network ever stabilizes and there is no guarantee that and are identical, which should not be surprising. This necessitates a non-triviality requirement on synchronizers for networks with arbitrary dynamics. The overall requirements for such synchronizers are captured by the following three general conditions (in bold), which we then indicate how they are satisfied by our -Synchronizer. We formalize our guarantees in Section 4.
-
(Correctness) The simulated synchronous execution is valid: We show that for any and , there exists a such that the state of each node at the end of phase (where phases are maintained by the synchronizer) of the semi-synchronous execution of under and a weakly-fair scheduler is equal to the state of each node at the end of -th step of a synchronous execution of under . (Theorem 1)
-
(Non-triviality) Every possible outcome of a synchronous execution can be simulated: We show that for any and , there exists a such that the state of each node at the end of step of the synchronous execution of under , is equal to the state of each node at the end of phase in a semi-synchronous execution of under and a weakly-fair scheduler. (Theorem 2)
-
(Finite termination) If the synchronous algorithm always terminates in finite time, so do the simulated executions: We show that the synchronous execution of terminates in finite time for if and only if the semi-synchronous execution of terminates in finite time for , which implies the condition. (Theorem 3)
While the non-triviality requirement rules out trivial solutions, e.g., in which always contains no edges regardless of the actual dynamics, our transformation actually satisfies a strong non-triviality requirement: Any edge that persists long enough for both nodes and to be activated at least once during a phase of the semi-synchronous execution must be part of during the -th step of the synchronous execution. In particular, if is static, then the simulation guarantees that .
We assume the Pull model of communication (see, e.g., [9]), with the addition of a disconnection detector, as in [12], and a 1-bit multi-writer atomic register at each edge-port. The -Synchronizer operates with an asymptotic memory overhead that is logarithmic on the number of nodes provided that the underlying synchronous algorithm terminates in polynomial time [7]. We present applications and discuss future work in Section 5, and summarize the most relevant related work in Table 1.
| Protocol | Year | Mapping | Network Dynamics | Anonymous |
|---|---|---|---|---|
| -Synchronizers [2] | 1985 | Sync to Async | static | No |
| Afek et al. [1] | 1987 | Sync to Async | dynamic with eventual-quiescence | No |
| Awerbuch and Sipser [5] | 1988 | Sync to Async | dynamic with -stabilization | No |
| Awerbuch and Peleg [4] | 1990 | Sync to Async | static | No |
| Awerbuch et al. [3] | 1992 | Sync to Async | dynamic with eventual-quiescence | No |
| -Synchronizer [20] | 1994 | Sync to Async | static | No |
| -Synchronizers [19] | 1994 | Sync to Async | static | No |
| -Synchronizer [17] | 2020 | Sync to Async | complete, static | No |
| Ghaffari and Trygub [15] | 2023 | Sync to Async | static | No |
| -Synchronizer (this paper) | 2025 | Sync to Semi-sync | Arbitrary Dynamics | Yes |
2 Model
We consider an edge-dynamic network that we formalize using a time-varying graph [10]. A time-varying graph is represented as where is the set of nodes, is a (static) set of undirected pairwise edges between nodes, with a lifetime . A presence function indicates whether or not a given edge exists at a given time. We define a snapshot of at time as the undirected graph , where . At any time, we denote the neighborhood of a node by . For , the -th stage lasts from time to the instant just before time ; thus, the communication graph in stage is .
We assume that each node is equipped with a mechanism to detect disconnections on its ports [12, 16, 18]. When an edge connected to a node is disconnected, the disconnection detector adds the corresponding port label to a temporary set . The set is reset to at the end of each activation of . To ensure anonymity among nodes and their neighbors, each node associates with its neighbors through port labels , noting that different nodes may connect to through the same port over time, and that a node may connect at different ports of over time (respecting that at most one node is connected to any port at any point in time). Each edge is assigned specific ports at both nodes and . For convenience, we use to denote the value of variable at node .
An algorithm, including the synchronizer, is composed of multiple actions of the form . An action is enabled if its guard (a boolean predicate) evaluates to true, and a node is said to be enabled if it has at least one enabled action. The scheduler controls the stages when an enabled node is activated and picks exactly one enabled action at the node to execute at the given stage. Our synchronizer algorithm will ensure that we only have one enabled action per node at any stage .
We assume the Pull model of communication (see, e.g., [9]), where every time a node is activated at a stage , can pull the state information of a neighboring node . In [7], we show that the classic Pull (or Push) model is not powerful enough to support synchronization. Thus, we further equip the Pull model with a 1-bit multi-writer atomic register at each edge-port, and allow an activated node at stage to perform one atomic write onto each multi-writer register of any neighbor node such that during the stage. Each action follows the Read-Compute paradigm, where these two components are executed in this order in lockstep (and writes occur within the compute cycle).
We focus on semi-synchronous concurrency, where in each stage, any (possibly empty) subset of enabled nodes is activated concurrently, under arbitrary topological changes. To model this, we assume two adversaries, an adaptive adversary that controls the edge presence function at each stage (i.e, controls the edge dynamics), and the scheduler adversary – or simply the scheduler – that controls when nodes are activated. We assume a weakly fair scheduler that activates nodes such that any continuously enabled node is eventually activated (or equivalently, that every enabled node will be activated infinitely often).
3 Algorithm
The -Synchronizer (Algorithm 1) consists of two actions, Handshake and ExecuteSynch, with exactly one of them being enabled for a node at any stage. Recall that the synchronizer works by showing the equivalence between a semi-synchronous execution of () under an arbitrary dynamic network and a synchronous execution of under a (potentially different) arbitrary dynamic network .
Each node keeps a local counter, , of the phase number it is simulating and updates it when the simulation of the phase completes and an action of is executed (Lines 27-28). During the handshake for the simulation of phase , a node maintains a set of potential neighbors (identified by the ports to which they are connected) to be included as neighbors in the simulated execution, which is initially equal to the set of all valid neighbors at the start of the handshake, when . The set of potential neighbors can “lose” elements in other stages of the handshake for phase due to edge disconnections, but does not gain new elements. The crucial property to maintain is edge consistency: At the end of the simulation of phase , the final set of neighbors of , , which is a subset of , contains node if and only if the set contains node . The sets , for all nodes , determine the set of (undirected) edges in the simulated graph for phase .
Initially, the set contains the following nodes:
- 1.
-
(Running behind) Neighbors that have not yet started simulating phase . These nodes can be included because node will wait for them to catch up during the next stages in ’s handshake for phase (unless they disconnect from node ),
- 2a.
-
(Concurrent nodes in initialization stages) Neighbors that have started simulating phase but have not yet finished the initialization stage of the handshake. These nodes will also be able to see that node has not yet finished its initialization stage of the simulation.
- 2b.
-
(Concurrent nodes past initialization stages) Neighbors that completed the initialization of the simulation of phase and are still considering node as a neighbor in their handshake of phase . These nodes must have started the handshake of phase before node but have not detected a disconnection in the edges linking them to node .
To calculate the set , a node pulls information from its neighbors and determines which nodes fall into one of the categories above (Lines 7–10). At the end of the first stage of the handshake, node sets its synch flag to 1 to signal the end of its initialization for phase .
To ensure edge consistency, each node keeps track of all ports that have experienced a disconnection since the start of the simulation of phase in its set (initially empty). All neighbors connected through ports in are removed from consideration to be included in the simulated graph . Indeed, if there is a disconnection of an edge in a given stage, then nodes and will each add the respective port connected to edge to its own set in the first stage in which the node is active after the disconnection, and the edge will not be included in the simulated graph by either node. Since nodes are anonymous, any edge that later connects to the port of either or earlier connected to – including, potentially, a reconnection of and – will be ignored in phase .
A node checks if the neighbors running behind in the simulation have caught up to phase (Line 14) or, if the neighbor has caught up, only needs to update the respective ack value (since it already pulled the state information from for phase the last time it pulled from in Line 15). Note that when the check is done in Line 14, if the neighbor is not behind, it must be simulating the same phase: The reason is that if the node was previously behind it could not have advanced beyond phase without first executing the ack/block exchange and the first (and only) time that is done is when the two nodes are in phase .
A node completes the handshake of phase when it determines that all edges linking it to a tentative neighbor in are blocked (Line 25), implying that such an edge will be considered to be in by both and . The blocking of such an edge can be initiated by itself or by node , but in either case it will result in the block flags on the respective ports at and being set to 1 during the current stage (while the edge is up). Whichever node blocks the edge-ports, say , must have detected that the other node () set its ack to 1 (Lines 20-22), acknowledging that and are both simulating phase , and that has pulled ’s phase state information prior to the blocking ( has also pulled ’s phase state during the current stage). Note that there are blocked edges in phase that disconnect later in the phase: Those edges will be in the respective sets and thus also in .
4 Our Results
Theorems 1–3, whose proofs appear in [7], ensure that the -Synchronizer satisfies the three conditions outlined in Section 1. The -state of node consists of the variables of that directly pertain to the state variables of .
Theorem 1 (Correctness).
For any semi-synchronous execution of () under an arbitrary dynamic graph and a weakly-fair scheduler, there exists a dynamic graph such that the -state of each node at the end of each phase of the execution of () under is equal to the state of at the end of step in a synchronous execution of under , for all .
Theorem 2 (Non-triviality).
For any synchronous execution of under an arbitrary dynamic graph , there exists a dynamic graph such that the state of each node at the end of each step of the synchronous execution of under is equal to the -state of at the end of phase in the execution of () under , for all .
Theorem 3 (Finite termination).
Our synchronizer ensures liveness: Any node progresses in finite time to phase , for any finite . Thus, all synchronous executions of terminate in finite time if and only if all semi-synchronous executions of () also do.
5 Applications and Extensions
Designing algorithms for highly dynamic networks without any assumptions on edge dynamics or eventual stabilization is challenging, even in synchronous settings. On the other hand, scenarios with high and unpredictable network dynamics are getting increasingly more common in practice, and practitioners are looking at the benefits of time synchronization in order to better manage the dynamics (see, e.g., [11]). This work aims to bridge this divide.
In a classic application of our -synchronizer, we extend the applicability of the synchronous algorithm for maintaining a spanning forest that approximates the minimum possible number of spanning trees in arbitrary dynamic networks of [6] to semi-synchronous environments (after adapting the algorithm from the Push to Pull model). Another application is in the context of minority dynamics [8], a stateless protocol in which each node samples a random subset of neighbors and adopts the minority opinion observed. The impact of our synchronizer is not about enabling synchronous algorithms in semi-synchronous environments, but about providing an exponential speed-up in runtime when doing so, as we describe in [7].
In future work, we plan to investigate whether we can extend the -Synchronizer also to work in asynchronous environments, determine its overhead in terms of runtime and bits exchanged, and investigate whether it can work under certain classes of (non-stabilizing) network dynamics (e.g., edge recurrent, snapshot connected, etc.).
References
- [1] Y. Afek, B. Awerbuch, and E. Gafni. Applying static network protocols to dynamic networks. In Proc. IEEE Symp. on Foundations of Computer Science (FOCS), pages 358–370, 1987.
- [2] B. Awerbuch. Complexity of network synchronization. Journal of ACM, 32(4):804–823, 1985. doi:10.1145/4221.4227.
- [3] B. Awerbuch, B. Patt-Shamir, D. Peleg, and M. E. Saks. Adapting to asynchronous dynamic networks. In Proc. of the ACM Symp. on Theory of Computing (STOC), pages 557–570, 1992.
- [4] B. Awerbuch and D. Peleg. Network synchronization with polylogarithmic overhead. In 31st IEEE Symp. on Foundations of Computer Science (FOCS), pages 514–522, 1990.
- [5] B. Awerbuch and M. Sipser. Dynamic networks are as fast as static networks. In 29th IEEE Symp. on Foundations of Computer Science (FOCS), pages 206–220, 1988.
- [6] M. Barjon, A. Casteigts, S. Chaumette, C. Johnen, and Y. Neggaz. Maintaining a spanning forest in highly dynamic networks: The synchronous case. In OPODIS, pages 277–292, 2014.
- [7] R. Bazzi, A. Chaturvedi, A. W. Richa, and P. Vargas. Synchronization in anonymous networks under continuous dynamics. CoRR, 2025. doi:10.48550/arXiv.2506.08661.
- [8] L. Becchetti, A. Clementi, F. Pasquale, L. Trevisan, R. Vacus, and I. Ziccardi. The minority dynamics and the power of synchronicity. In Proc. of the 2024 ACM-SIAM Symp. on Discrete Algorithms, (SODA), pages 4155–4176, 2024.
- [9] M. Besta, M. Podstawski, L. Groner, E. Solomonik, and T. Hoefler. To push or to pull: On reducing communication and synchronization in graph computations. In Proc. of ACM Intl. Symp. on High-Performance Parallel and Distributed Computing (HPDC), pages 93–104, 2017.
- [10] A. Casteigts. A Journey through Dynamic Networks (with Excursions). Habilitation à diriger des recherches, U. of Bordeaux, 2018. URL: https://tel.archives-ouvertes.fr/tel-01883384.
- [11] J. C. Corbett, J. Dean, M. Epstein, A. Fikes, C. Frost, J. J. Furman, S. Ghemawat, A. Gubarev, C. Heiser, P. Hochschild, W. C. Hsieh, S. Kanthak, E. Kogan, H. Li, A. Lloyd, S. Melnik, D. Mwaura, D. Nagle, S. Quinlan, R. Rao, L. Rolig, Y. Saito, M. Szymaniak, C. Taylor, R. Wang, and D. Woodford. Spanner: Google’s globally distributed database. ACM Trans. Comput. Syst., 31(3):8, 2013. doi:10.1145/2491245.
- [12] J. J. Daymude, A. W. Richa, and C. Scheideler. Local mutual exclusion for dynamic, anonymous, bounded memory message passing systems. In Proc. of 1st Symp. on Algorithmic Foundations of Dynamic Networks (SAND), volume 221 of LIPIcs, pages 12:1–12:19, 2022. doi:10.4230/LIPICS.SAND.2022.12.
- [13] P. Flocchini, G. Prencipe, and N. Santoro, editors. Distributed Computing by Mobile Entities: Current Research in Moving and Computing, volume 11340 of LNCS. Springer, Cham, 2019. doi:10.1007/978-3-030-11072-7.
- [14] P. Flocchini, N. Santoro, M. Yamashita, and Y. Yamauchi. A characterization of semi-synchrony for asynchronous robots with limited visibility, and its application to luminous synchronizer design. CoRR, abs/2006.03249, 2020. arXiv:2006.03249.
- [15] M. Ghaffari and A. Trygub. A near-optimal deterministic distributed synchronizer. In Proc. of the 2023 ACM Symp. on Principles of Distributed Computing (PODC), pages 180–189, 2023.
- [16] V. Iyer, M. J. Pennell, J. T. West, and M. Beck. Dual termination serial data bus with pull-up current source. U.S. Patent No. 6593768 B1, 2003.
- [17] G. Pandurangan, D. Peleg, and M. Scquizzato. Message lower bounds via efficient network synchronization. Theoretical Computer Science, 810:82–95, 2020. doi:10.1016/J.TCS.2018.11.017.
- [18] R. Russell. Linux ethtool interface for controlling ethernet devices, 2001. URL: https://man7.org/linux/man-pages/man8/ethtool.8.html.
- [19] L. Shabtay and A. Segall. Low complexity network synchronization. In 8th Intl. Workshop on Distributed Algorithms (WDAG), volume 857 of Springer LNCS, pages 223–237, 1994. doi:10.1007/BFB0020436.
- [20] L. Shabtay and A. Segall. A synchronizer with low memory overhead (extended abstract). In Proc. of the IEEE Intl. Conf. on Distributed Computing Systems, pages 250–257, 1994.
