23,104 research outputs found
Distributed Maintenance of Anytime Available Spanning Trees in Dynamic Networks
We address the problem of building and maintaining distributed spanning trees
in highly dynamic networks, in which topological events can occur at any time
and any rate, and no stable periods can be assumed. In these harsh
environments, we strive to preserve some properties such as cycle-freeness or
the existence of a root in each tree, in order to make it possible to keep
using the trees uninterruptedly (to a possible extent). Our algorithm operates
at a coarse-grain level, using atomic pairwise interactions in a way akin to
recent population protocol models. The algorithm relies on a perpetual
alternation of \emph{topology-induced splittings} and \emph{computation-induced
mergings} of a forest of spanning trees. Each tree in the forest hosts exactly
one token (also called root) that performs a random walk {\em inside} the tree,
switching parent-child relationships as it crosses edges. When two tokens are
located on both sides of a same edge, their trees are merged upon this edge and
one token disappears. Whenever an edge that belongs to a tree disappears, its
child endpoint regenerates a new token instantly. The main features of this
approach is that both \emph{merging} and \emph{splitting} are purely localized
phenomenons. In this paper, we present and motivate the algorithm, and we prove
its correctness in arbitrary dynamic networks. Then we discuss several
implementation choices around this general principle. Preliminary results
regarding its analysis are also discussed, in particular an analytical
expression of the expected merging time for two given trees in a static
context.Comment: Distributed Maintenance of Anytime Available Spanning Trees in
Dynamic Networks, Poland (2013
Input-Dynamic Distributed Algorithms for Communication Networks
Consider a distributed task where the communication network is fixed but the
local inputs given to the nodes of the distributed system may change over time.
In this work, we explore the following question: if some of the local inputs
change, can an existing solution be updated efficiently, in a dynamic and
distributed manner?
To address this question, we define the batch dynamic CONGEST model in which
we are given a bandwidth-limited communication network and a dynamic edge
labelling defines the problem input. The task is to maintain a solution to a
graph problem on the labeled graph under batch changes. We investigate, when a
batch of edge label changes arrive,
-- how much time as a function of we need to update an existing
solution, and
-- how much information the nodes have to keep in local memory between
batches in order to update the solution quickly.
Our work lays the foundations for the theory of input-dynamic distributed
network algorithms. We give a general picture of the complexity landscape in
this model, design both universal algorithms and algorithms for concrete
problems, and present a general framework for lower bounds. In particular, we
derive non-trivial upper bounds for two selected, contrasting problems:
maintaining a minimum spanning tree and detecting cliques
Palgol: A High-Level DSL for Vertex-Centric Graph Processing with Remote Data Access
Pregel is a popular distributed computing model for dealing with large-scale
graphs. However, it can be tricky to implement graph algorithms correctly and
efficiently in Pregel's vertex-centric model, especially when the algorithm has
multiple computation stages, complicated data dependencies, or even
communication over dynamic internal data structures. Some domain-specific
languages (DSLs) have been proposed to provide more intuitive ways to implement
graph algorithms, but due to the lack of support for remote access --- reading
or writing attributes of other vertices through references --- they cannot
handle the above mentioned dynamic communication, causing a class of Pregel
algorithms with fast convergence impossible to implement.
To address this problem, we design and implement Palgol, a more declarative
and powerful DSL which supports remote access. In particular, programmers can
use a more declarative syntax called chain access to naturally specify dynamic
communication as if directly reading data on arbitrary remote vertices. By
analyzing the logic patterns of chain access, we provide a novel algorithm for
compiling Palgol programs to efficient Pregel code. We demonstrate the power of
Palgol by using it to implement several practical Pregel algorithms, and the
evaluation result shows that the efficiency of Palgol is comparable with that
of hand-written code.Comment: 12 pages, 10 figures, extended version of APLAS 2017 pape
- …