4,561 research outputs found
Avatar: A Time- and Space-Efficient Self-Stabilizing Overlay Network
Overlay networks present an interesting challenge for fault-tolerant
computing. Many overlay networks operate in dynamic environments (e.g. the
Internet), where faults are frequent and widespread, and the number of
processes in a system may be quite large. Recently, self-stabilizing overlay
networks have been presented as a method for managing this complexity.
\emph{Self-stabilizing overlay networks} promise that, starting from any
weakly-connected configuration, a correct overlay network will eventually be
built. To date, this guarantee has come at a cost: nodes may either have high
degree during the algorithm's execution, or the algorithm may take a long time
to reach a legal configuration. In this paper, we present the first
self-stabilizing overlay network algorithm that does not incur this penalty.
Specifically, we (i) present a new locally-checkable overlay network based upon
a binary search tree, and (ii) provide a randomized algorithm for
self-stabilization that terminates in an expected polylogarithmic number of
rounds \emph{and} increases a node's degree by only a polylogarithmic factor in
expectation
Fast and compact self-stabilizing verification, computation, and fault detection of an MST
This paper demonstrates the usefulness of distributed local verification of
proofs, as a tool for the design of self-stabilizing algorithms.In particular,
it introduces a somewhat generalized notion of distributed local proofs, and
utilizes it for improving the time complexity significantly, while maintaining
space optimality. As a result, we show that optimizing the memory size carries
at most a small cost in terms of time, in the context of Minimum Spanning Tree
(MST). That is, we present algorithms that are both time and space efficient
for both constructing an MST and for verifying it.This involves several parts
that may be considered contributions in themselves.First, we generalize the
notion of local proofs, trading off the time complexity for memory efficiency.
This adds a dimension to the study of distributed local proofs, which has been
gaining attention recently. Specifically, we design a (self-stabilizing) proof
labeling scheme which is memory optimal (i.e., bits per node), and
whose time complexity is in synchronous networks, or time in asynchronous ones, where is the maximum degree of
nodes. This answers an open problem posed by Awerbuch and Varghese (FOCS 1991).
We also show that time is necessary, even in synchronous
networks. Another property is that if faults occurred, then, within the
requireddetection time above, they are detected by some node in the locality of each of the faults.Second, we show how to enhance a known
transformer that makes input/output algorithms self-stabilizing. It now takes
as input an efficient construction algorithm and an efficient self-stabilizing
proof labeling scheme, and produces an efficient self-stabilizing algorithm.
When used for MST, the transformer produces a memory optimal self-stabilizing
algorithm, whose time complexity, namely, , is significantly better even
than that of previous algorithms. (The time complexity of previous MST
algorithms that used memory bits per node was , and
the time for optimal space algorithms was .) Inherited from our proof
labelling scheme, our self-stabilising MST construction algorithm also has the
following two properties: (1) if faults occur after the construction ended,
then they are detected by some nodes within time in synchronous
networks, or within time in asynchronous ones, and (2) if
faults occurred, then, within the required detection time above, they are
detected within the locality of each of the faults. We also show
how to improve the above two properties, at the expense of some increase in the
memory
Self-stabilizing Overlays for high-dimensional Monotonic Searchability
We extend the concept of monotonic searchability for self-stabilizing systems
from one to multiple dimensions. A system is self-stabilizing if it can recover
to a legitimate state from any initial illegal state. These kind of systems are
most often used in distributed applications. Monotonic searchability provides
guarantees when searching for nodes while the recovery process is going on.
More precisely, if a search request started at some node succeeds in
reaching its destination , then all future search requests from to
succeed as well. Although there already exists a self-stabilizing protocol for
a two-dimensional topology and an universal approach for monotonic
searchability, it is not clear how both of these concepts fit together
effectively. The latter concept even comes with some restrictive assumptions on
messages, which is not the case for our protocol. We propose a simple novel
protocol for a self-stabilizing two-dimensional quadtree that satisfies
monotonic searchability. Our protocol can easily be extended to higher
dimensions and offers routing in hops for any search
request
Distributed Queuing in Dynamic Networks
We consider the problem of forming a distributed queue in the adversarial
dynamic network model of Kuhn, Lynch, and Oshman (STOC 2010) in which the
network topology changes from round to round but the network stays connected.
This is a synchronous model in which network nodes are assumed to be fixed, the
communication links for each round are chosen by an adversary, and nodes do not
know who their neighbors are for the current round before they broadcast their
messages. Queue requests may arrive over rounds at arbitrary nodes and the goal
is to eventually enqueue them in a distributed queue. We present two algorithms
that give a total distributed ordering of queue requests in this model. We
measure the performance of our algorithms through round complexity, which is
the total number of rounds needed to solve the distributed queuing problem. We
show that in 1-interval connected graphs, where the communication links change
arbitrarily between every round, it is possible to solve the distributed
queueing problem in O(nk) rounds using O(log n) size messages, where n is the
number of nodes in the network and k <= n is the number of queue requests.
Further, we show that for more stable graphs, e.g. T-interval connected graphs
where the communication links change in every T rounds, the distributed queuing
problem can be solved in O(n+ (nk/min(alpha,T))) rounds using the same O(log n)
size messages, where alpha > 0 is the concurrency level parameter that captures
the minimum number of active queue requests in the system in any round. These
results hold in any arbitrary (sequential, one-shot concurrent, or dynamic)
arrival of k queue requests in the system. Moreover, our algorithms ensure
correctness in the sense that each queue request is eventually enqueued in the
distributed queue after it is issued and each queue request is enqueued exactly
once. We also provide an impossibility result for this distributed queuing
problem in this model. To the best of our knowledge, these are the first
solutions to the distributed queuing problem in adversarial dynamic networks.Comment: In Proceedings FOMC 2013, arXiv:1310.459
Découverte et allocation des ressources pour le traitement de requêtes dans les systèmes grilles
De nos jours, les systèmes Grille, grâce à leur importante capacité de calcul et de stockage ainsi que leur disponibilité, constituent l'un des plus intéressants environnements informatiques. Dans beaucoup de différents domaines, on constate l'utilisation fréquente des facilités que les environnements Grille procurent. Le traitement des requêtes distribuées est l'un de ces domaines où il existe de grandes activités de recherche en cours, pour transférer l'environnement sous-jacent des systèmes distribués et parallèles à l'environnement Grille. Dans le cadre de cette thèse, nous nous concentrons sur la découverte des ressources et des algorithmes d'allocation de ressources pour le traitement des requêtes dans les environnements Grille. Pour ce faire, nous proposons un algorithme de découverte des ressources pour le traitement des requêtes dans les systèmes Grille en introduisant le contrôle de topologie auto-stabilisant et l'algorithme de découverte des ressources dirigé par l'élection convergente. Ensuite, nous présentons un algorithme d'allocation des ressources, qui réalise l'allocation des ressources pour les requêtes d'opérateur de jointure simple par la génération d'un espace de recherche réduit pour les nœuds candidats et en tenant compte des proximités des candidats aux sources de données. Nous présentons également un autre algorithme d'allocation des ressources pour les requêtes d'opérateurs de jointure multiple. Enfin, on propose un algorithme d'allocation de ressources, qui apporte une tolérance aux pannes lors de l'exécution de la requête par l'utilisation de la réplication passive d'opérateurs à état. La contribution générale de cette thèse est double. Premièrement, nous proposons un nouvel algorithme de découverte de ressource en tenant compte des caractéristiques des environnements Grille. Nous nous adressons également aux problèmes d'extensibilité et de dynamicité en construisant une topologie efficace sur l'environnement Grille et en utilisant le concept d'auto-stabilisation, et par la suite nous adressons le problème de l'hétérogénéité en proposant l'algorithme de découverte de ressources dirigé par l'élection convergente. La deuxième contribution de cette thèse est la proposition d'un nouvel algorithme d'allocation des ressources en tenant compte des caractéristiques de l'environnement Grille. Nous abordons les problèmes causés par la grande échelle caractéristique en réduisant l'espace de recherche pour les ressources candidats. De ce fait nous réduisons les coûts de communication au cours de l'exécution de la requête en allouant des nœuds au plus près des sources de données. Et enfin nous traitons la dynamicité des nœuds, du point de vue de leur existence dans le système, en proposant un algorithme d'affectation des ressources avec une tolérance aux pannes.Grid systems are today's one of the most interesting computing environments because of their large computing and storage capabilities and their availability. Many different domains profit the facilities of grid environments. Distributed query processing is one of these domains in which there exists large amounts of ongoing research to port the underlying environment from distributed and parallel systems to the grid environment. In this thesis, we focus on resource discovery and resource allocation algorithms for query processing in grid environments. For this, we propose resource discovery algorithm for query processing in grid systems by introducing self-stabilizing topology control and converge-cast based resource discovery algorithms. Then, we propose a resource allocation algorithm, which realizes allocation of resources for single join operator queries by generating a reduced search space for the candidate nodes and by considering proximities of candidates to the data sources. We also propose another resource allocation algorithm for queries with multiple join operators. Lastly, we propose a fault-tolerant resource allocation algorithm, which provides fault-tolerance during the execution of the query by the use of passive replication of stateful operators. The general contribution of this thesis is twofold. First, we propose a new resource discovery algorithm by considering the characteristics of the grid environments. We address scalability and dynamicity problems by constructing an efficient topology over the grid environment using the self-stabilization concept; and we deal with the heterogeneity problem by proposing the converge-cast based resource discovery algorithm. The second main contribution of this thesis is the proposition of a new resource allocation algorithm considering the characteristics of the grid environment. We tackle the scalability problem by reducing the search space for candidate resources. We decrease the communication costs during the query execution by allocating nodes closer to the data sources. And finally we deal with the dynamicity of nodes, in terms of their existence in the system, by proposing the fault-tolerant resource allocation algorithm
A self–stabilizing algorithm for finding weighted centroid in trees
In this paper we present some modification of the Blair and Manne algorithm for finding the center of a tree network in the distributed, self-stabilizing environment. Their algorithm finds n/2 -separator of a tree. Our algorithm finds weighted centroid, which is direct generalization of the former one for tree networks with positive weights on nodes. Time complexity of both algorithms is O(n2), where n is the number of nodes in the network
A note on the data-driven capacity of P2P networks
We consider two capacity problems in P2P networks. In the first one, the
nodes have an infinite amount of data to send and the goal is to optimally
allocate their uplink bandwidths such that the demands of every peer in terms
of receiving data rate are met. We solve this problem through a mapping from a
node-weighted graph featuring two labels per node to a max flow problem on an
edge-weighted bipartite graph. In the second problem under consideration, the
resource allocation is driven by the availability of the data resource that the
peers are interested in sharing. That is a node cannot allocate its uplink
resources unless it has data to transmit first. The problem of uplink bandwidth
allocation is then equivalent to constructing a set of directed trees in the
overlay such that the number of nodes receiving the data is maximized while the
uplink capacities of the peers are not exceeded. We show that the problem is
NP-complete, and provide a linear programming decomposition decoupling it into
a master problem and multiple slave subproblems that can be resolved in
polynomial time. We also design a heuristic algorithm in order to compute a
suboptimal solution in a reasonable time. This algorithm requires only a local
knowledge from nodes, so it should support distributed implementations.
We analyze both problems through a series of simulation experiments featuring
different network sizes and network densities. On large networks, we compare
our heuristic and its variants with a genetic algorithm and show that our
heuristic computes the better resource allocation. On smaller networks, we
contrast these performances to that of the exact algorithm and show that
resource allocation fulfilling a large part of the peer can be found, even for
hard configuration where no resources are in excess.Comment: 10 pages, technical report assisting a submissio
- …