9 research outputs found

    Self-stabilizing minimum-degree spanning tree within one from the optimal degree

    Get PDF
    International audienceWe propose a self-stabilizing algorithm for constructing a Minimum-Degree Spanning Tree (MDST) in undirected networks. Starting from an arbitrary state, our algorithm is guaranteed to converge to a legitimate state describing a spanning tree whose maximum node degree is at most ∆∗ + 1, where ∆∗ is the minimum possible maximum degree of a spanning tree of the network. To the best of our knowledge our algorithm is the ïŹrst self stabilizing solution for the construction of a minimum-degree spanning tree in undirected graphs. The algorithm uses only local communications (nodes interact only with the neighbors at one hop distance). Moreover, the algorithm is designed to work in any asynchronous message passing network with reliable FIFO channels. Additionally, we use a ïŹne grained atomicity model (i.e. the send/receive atomicity). The time complexity of our solution is O(mn2 log n) where m is the number of edges and n is the number of nodes. The memory complexity is O(ÎŽ log n) in the send-receive atomicity model (ÎŽ is the maximal degree of the network)

    Universal Loop-Free Super-Stabilization

    Get PDF
    We propose an univesal scheme to design loop-free and super-stabilizing protocols for constructing spanning trees optimizing any tree metrics (not only those that are isomorphic to a shortest path tree). Our scheme combines a novel super-stabilizing loop-free BFS with an existing self-stabilizing spanning tree that optimizes a given metric. The composition result preserves the best properties of both worlds: super-stabilization, loop-freedom, and optimization of the original metric without any stabilization time penalty. As case study we apply our composition mechanism to two well known metric-dependent spanning trees: the maximum-flow tree and the minimum degree spanning tree

    Polynomial-Time Space-Optimal Silent Self-Stabilizing Minimum-Degree Spanning Tree Construction

    Full text link
    Motivated by applications to sensor networks, as well as to many other areas, this paper studies the construction of minimum-degree spanning trees. We consider the classical node-register state model, with a weakly fair scheduler, and we present a space-optimal \emph{silent} self-stabilizing construction of minimum-degree spanning trees in this model. Computing a spanning tree with minimum degree is NP-hard. Therefore, we actually focus on constructing a spanning tree whose degree is within one from the optimal. Our algorithm uses registers on O(log⁥n)O(\log n) bits, converges in a polynomial number of rounds, and performs polynomial-time computation at each node. Specifically, the algorithm constructs and stabilizes on a special class of spanning trees, with degree at most OPT+1OPT+1. Indeed, we prove that, unless NP == coNP, there are no proof-labeling schemes involving polynomial-time computation at each node for the whole family of spanning trees with degree at most OPT+1OPT+1. Up to our knowledge, this is the first example of the design of a compact silent self-stabilizing algorithm constructing, and stabilizing on a subset of optimal solutions to a natural problem for which there are no time-efficient proof-labeling schemes. On our way to design our algorithm, we establish a set of independent results that may have interest on their own. In particular, we describe a new space-optimal silent self-stabilizing spanning tree construction, stabilizing on \emph{any} spanning tree, in O(n)O(n) rounds, and using just \emph{one} additional bit compared to the size of the labels used to certify trees. We also design a silent loop-free self-stabilizing algorithm for transforming a tree into another tree. Last but not least, we provide a silent self-stabilizing algorithm for computing and certifying the labels of a NCA-labeling scheme

    Self-stabilizing minimum-degree spanning tree within one from the optimal degree

    Get PDF
    We propose a self-stabilizing algorithm for constructing a Minimum-Degree Spanning Tree (MDST) in undirected networks. Starting from an arbitrary state, our algorithm is guaranteed to converge to a legitimate state describing a spanning tree whose maximum node degree is at most ∆ ∗ + 1, where ∆ ∗ is the minimum possible maximum degree of a spanning tree of the network. To the best of our knowledge our algorithm is the first self-stabilizing solution for the construction of a minimum-degree spanning tree in undirected graphs. The algorithm uses only local communications (nodes interact only with the neighbors at one hop distance). Moreover, the algorithm is designed to work in any asynchronous message passing network with reliable FIFO channels. Additionally, we use a fine grained atomicity model (i.e. the send/receive atomicity). The time complexity of our solution is O(mn 2 log n) where m is the number of edges and n is the number of nodes. The memory complexity is O(ή log n) in the send-receive atomicity model (ή is the maximal degree of the network).

    DĂ©couverte et allocation des ressources pour le traitement de requĂȘtes dans les systĂšmes grilles

    Get PDF
    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

    On the Limits and Practice of Automatically Designing Self-Stabilization

    Get PDF
    A protocol is said to be self-stabilizing when the distributed system executing it is guaranteed to recover from any fault that does not cause permanent damage. Designing such protocols is hard since they must recover from all possible states, therefore we investigate how feasible it is to synthesize them automatically. We show that synthesizing stabilization on a fixed topology is NP-complete in the number of system states. When a solution is found, we further show that verifying its correctness on a general topology (with any number of processes) is undecidable, even for very simple unidirectional rings. Despite these negative results, we develop an algorithm to synthesize a self-stabilizing protocol given its desired topology, legitimate states, and behavior. By analogy to shadow puppetry, where a puppeteer may design a complex puppet to cast a desired shadow, a protocol may need to be designed in a complex way that does not even resemble its specification. Our shadow/puppet synthesis algorithm addresses this concern and, using a complete backtracking search, has automatically designed 4 new self-stabilizing protocols with minimal process space requirements: 2-state maximal matching on bidirectional rings, 5-state token passing on unidirectional rings, 3-state token passing on bidirectional chains, and 4-state orientation on daisy chains

    Distributed data structures and the power of topological self-stabilization

    Get PDF
    In dieser Arbeit betrachten wir Probleme im Bereich verteilter Systeme und lokaler Algorithmen. Wir betrachten verteilte Systeme, die gegeben sind durch bestimmte Topologien miteinander vernetzter Knoten, und stellen die Frage, ob solche Topologien wiederhergestellt werden können, wenn das Netzwerk durch den Ausfall oder Hinzukommen von Knoten oder Kanten verĂ€ndert wird. Dabei sollen lokale verteilte Algorithmen entwickelt werden, die das Netzwerk von einer beliebigen schwach zusammenhĂ€ngenden Starttopologie in eine Zieltopologie ĂŒberfĂŒhren. Diese Eigenschaft eines Algorithmus nennen wir topologische Selbststabilisierung. Motiviert wird diese Betrachtung durch die zunehmende Nutzung von Peer-to-Peer Systemen und von Cloud Dienstleistern, also Szenarien in denen das System aus Ressourcen besteht, fĂŒr die AusfĂ€lle nicht mehr kontrolliert werden können. Zur Analyse von topologisch selbststabilisierenden Algorithmen oder Protokollen fĂŒhren wir geeignete Modelle ein. Wir prĂ€sentieren dann fĂŒr einige bestimme Topologien mit welchen topologisch selbststabilisierenden Protokollen diese erreicht werden können. Wir betrachten dabei als einfĂŒhrendes Beispiel eine sortierte Liste von Knoten und fahren dann mit komplexeren Topologien wie einem Small-World Netzwerk und einem vollstĂ€ndigem Graphen fort. Als nĂ€chstes wenden wir die Idee von topologisch selbststabilisierenden Protokollen auf das Konzept von verteilten Hashtabellen an. Dabei zeigen wir, dass eine solche Lösung fĂŒr bereits existierende verteilte Hashtabellen möglich ist und entwickeln dann eine weitere verteilte Hashtabelle, die heterogene KapazitĂ€ten unterstĂŒtzt. Zum Schluss betrachten wir, wie verteilte Hashtabellen erweitert werden können, sodass nicht nur exakte Suchanfragen sondern auch Suchanfragen nach Ă€hnlichen SchlĂŒsseln unterstĂŒtzt werden.This thesis considers problems located in the fields of distributed systems and local algorithms. In particular we consider such systems given by specific topologies of interconnected nodes and want to examine whether these topologies can be rebuilt in case the network is (massively) changed by failing or joining nodes or edges. For this case we search for local distributed algorithms, i.e. the algorithms are executed on every single node and only use local information stored at the nodes like their neighborhood of nodes. By executing these algorithms we will show that the desired goal topologies can be reached from any weakly connected start topology. We call this property of an algorithm topological self-stabilization and motivate it by the increasing usage of peer-to-peer (P2P) systems and of cloud computing. In both cases the user or owner of the data and executed algorithms cannot control the resources and their connectivity. In order to analyze topological self-stabilizing algorithms or protocols we introduce suited models. For some specific topologies we then present and analyze topological self-stabilizing protocols. We consider topologies like a sorted list of nodes, which we use as a simple introductory example. We then proceed with more complex topologies like a specific small-world network and a clique. We then show that the concept of topological self-stabilization can be used for distributed hash tables. In particular we show that for existing distributed hash tables a topological self-stabilizing protocol canbe found. We also construct a new overlay network, that builds a distributed hash table that supports heterogeneous capacities, and a corresponding topological self-stabilizing protocol. At last we leave the concept of topological self-stabilization behind and instead show how to extend the usage of distributed hash tables, in order to answer more than only exact queries.Tag der Verteidigung: 21.05.2015Paderborn, Univ., Diss., 201
    corecore