Distributed Slicing in Dynamic Systems (original) (raw)
Related papers
Approximate Algorithms for Distributed Systems
Peer-to-Peer-Systeme (P2P) sind eine spezielle Klasse von verteilten Systemen. In einem typischen P2P-System sind alle Knoten gleichberechtigt und teilen sich die gleichen Aufgaben. In der vorliegenden Arbeit wurden drei typische Probleme in P2P-Systemen behandelt: dem Speichern von Datenkopien, der Quantilberechnung auf verteilten Datenströmen und der Bestimmung der Ausfallrate von Knoten. Das Anfertigen von Datenkopien ist eine derältesten Techniken um gespeicherte Daten in einem P2P-System zu verwalten und Leseanfragen effizient zu bearbeiten. Zum Beispiel verwenden verteilte Datenbanken diese Technik. Sie gehören einem Overlay-Netzwerk an, welches von der zugrundeliegenden Netzwerk-Topologie aus Hardwareknoten abstrahiert. Die Herausforderung besteht darin, eine Menge von Datenkopien so zu verteilen, dass die Antwortzeiten und Ausfallwahrscheinlichkeiten minimiert werden, ohne dass zuvor die Netzwerk-Topologie bekannt ist. Wir zeigen wie man mithilfe von agglomerativem Clustering dieses Ziel erreicht. Heute gebräuchliche Methoden zur Zusammenfassung verteilter Daten oder Datenströme erfordern entweder einen Synchronisationsschritt oder kommunizieren und vereinen Aggregate hierarchisch, welches dem Prinzip der flachen Hierarchie in P2P-Systemen widerspricht. Wir testen, ob randomisiertes Senden und Verschmelzen von Aggregaten die gleichen Ergebnisse produziert. Die resultierenden Datenaggregate dienen schließlich zur Bestimmung von Quantilen. Um ein P2P-Overlay-Netzwerk zu erzeugen und seine Infrastruktur instand zu halten ist es notwendig regelmäßig Nachrichten zu senden. Da Bandbreite eine knappe Ressource ist, welche sich das Overlay-Netzwerk mit Anwendungen anderer Schichten teilt, ist es erstrebenswert, die Zahl von Verwaltungsnachrichten so gering wie möglich zu halten. Die untere Schranke für deren Frequenz ist offensichtlich gegeben durch die Abwanderungsrate der Peers. Wir zeigen wie Netzwerkknoten die mittlere Lebensdauer ihrer Nachbarn schätzen können und mit dieser die Nachrichtenfrequenz optimieren ohne die Infrastruktur des P2P-Overlays zu destabilisieren.
Deterministic algorithms in dynamic networks
2013
The number of telecommunication networks deployed in a dynamic environment is quickly growing. This is true in our everyday life (e.g., smartphones, vehicles, or satellites) as well as in the military context (e.g., dismounted soldiers or swarms of UAVs). Unfortunately, few theoretical tools enable, to date, the study of dynamic networks in a formal and rigorous way. As a result, it is hard and sometimes impossible to guarantee, mathematically, that a given algorithm will reach its objectives once deployed in real conditions. Having such guarantees would seem to be crucial in a military context. In a previous report we identified a collection of recent theoretical tools whose purpose is to model, describe, and leverage dynamic networks in a formal way. This report focuses on problems, algorithms, and analysis techniques. We review recent efforts towards the design and analysis of distributed algorithms in dynamic networks, with an emphasis on those results that are of a deterministic and analytical nature. The topics include a discussion on how mobility impacts the very definition of problems; a set of generic tools to be used in the design or analysis of dynamic network algorithms; a discussion on the impact of various types of dynamics on the feasibility and complexity of given problems; a classification of dynamic networks based on dynamic graph properties; and finally, a discussion on how real-world mobility contexts relate to some of these classes. Résumé Le nombre de réseaux de télécommunications déployés dans un environnement dynamique augmente rapidement. Cette réalité s'appliqueà la vie quotidienne (ordiphones [téléphones intelligents], véhicules, satellites) et au contexte militaire (soldatsà pied, essaims d'UAV). Malheureusement, peu d'outils théoriques permettent, jusqu'à maintenant, d'étudier les réseaux dynamiques de manière formelle et rigoureuse. Par conséquent, il est difficile et parfois impossible de garantir, mathématiquement, qu'un algorithme donné atteindra ses objectifs une fois déployé dans des conditions réelles. Avoir ces garanties sembleêtre essentiel dans un contexte militaire. Dans un rapport précédent, on a identifiéu néventail d'outils théoriques récents dont le but est de modéliser et décrire des réseaux dynamiques et de les mettreà profit, le tout de manière officielle. Ce rapport est axé sur les problèmes, les algorithmes et les techniques d'analyse. On examine les efforts récents en matière de conception et d'analyse d'algorithmes distribués dans des réseaux dynamiques, en insistant sur les résultats de natures déterministe et analytique. Parmi les sujets abordés, on trouve l'incidence de la mobilités u rl ad efinition des problèmes, un ensemble d'outils génériques qui seront utilisés pendant la conception ou l'analyse des algorithmes de réseau dynamique ; un examen de l'incidence des différents types de dynamique sur la faisabilité et la complexité Executive summary Deterministic algorithms in dynamic networks: Problems, analysis, and algorithmic tools
Peer-to-Peer Branch-and-Bound Algorithms for
2013
I will seize the opportunity to thank warmly both my thesis advisors, Pr. Nouredine Melab and Dr. Bilel Derbel for their continuous support during the preparation of my thesis. I wish to thank Nouredine for being deeply involved in my work, for the numerous meetings with Bilel discussing my work, the articles and the presentations i have made during the thesis. I also thank especially Bilel for his great involvement during these three years, especially when writing and reviewing articles, reviewing and improving the manuscript, and at every step of the scientific work, when thinking about the challenges to face, desiging the solutions, proving the correctness of these solutions, defining the appropriate experiments. I am also pleased to thank Pr. Daniel Tuyttens, Dr. Didier El Baz, Pr. Mohamed Mesbah as well as my advisors and Dr. Mohand Mezmaz for honouring me by their presence as examination jury for my thesis defense. I also thank warmly my mother for supporting me during these three years (during my entire student life, in fact :)), my father for the many discussions we had on his experience of research in mathematics. Last but not least, I shall not forget my dearest colleagues and friends (in and out of the Dolphin team) I have known during the preparation of my thesis, some of whom I had exchanged so many useful tips and valuable ideas :
IEEE Transactions on Computers, 2000
Peer-to-peer (P2P) architectures are popular for tasks such as collaborative download, VoIP telephony, and backup. To maximize performance in the face of widely variable storage capacities and bandwidths, such systems typically need to shift work from poor nodes to richer ones. Similar requirements are seen in today's large data centers, where machines may have widely variable configurations, loads and performance. In this paper, we consider the slicing problem, which involves partitioning the participating nodes into k subsets using a one-dimensional attribute, and updating the partition as the set of nodes and their associated attributes change. The mechanism thus facilitates the development of adaptive systems. We begin by motivating this problem statement and reviewing prior work. Existing algorithms are shown to have problems with convergence, manifesting as inaccurate slice assignments, and to adapt slowly as conditions change. Our protocol, Sliver, has provably rapid convergence, is robust under stress, and is simple to implement. We present both theoretical and experimental evaluations of the protocol.
A bibliography of algorithm experimentation
Data Structures, Near Neighbor Searches, and Methodology: Fifth and Sixth DIMACS Implementation Challenges
This annotated bibliography lists sources that address methodology, tools and techniques, and standards for experimental research on algorithms. I've tried, in the annotation, to summarize the content and the target audience. No attempt has been made to catalog the huge number of published examples of experimental and computational research on algorithms, although some general publication venues are listed. We begin with a shortlist of resources for the beginning experimentor. These sources, taken together, provide good overall coverage of the main issues of experimental research, at about the level of a rst-year graduate student in computer science. The larger reference list that follows contains works on more specialized, advanced, and technical topics. A Beginner's Reading List For general advice and guidelines 1read Barr et al. BGK + 95], McGeoch McG96b], Johnson Joh00], and Moret Mor00]. Bentley Ben91] shows how to build a Unix environment that supports e cient testing and data collection. Ahuja, Magnanti, and Orlin AMO93] discuss algorithmic performance measures that closely predict running times and that (to some extent) can be extrapolated across machine environments. Cohen Coh95] presents basic statistical concepts with many examples from experimental research on algorithms. For a good introduction to techniques of graphical data analysis, see Chambers et al. CCKT83]. Crowder, Dembo, Mulvey CDM78], and the follow-up article by Jackson et al. JBNP91] give criteria and standards for presentation of experimental research in published work. The rst
ANALYSIS AND DESIGNS OF ALGORITHMS. A CRITICAL COMPARISON OF DIFFERENT WORKS ON ALGORITHMS
3.GRIN Verlag Publications, Munich, Germany, E-book, 14 pages, ISBN # 9783668983892, July, 2019, https://www.grin.com/document/491406
The paper presents an analytical exposition, critical context and integrative conclusion on the six major text books on Algorithms Design and Analysis. An algorithm is a sequence of unambiguous instructions for solving a problem, and is used for obtaining a required output for any legitimate input in a finite amount of time. Algorithms can be considered as procedural solutions to problems where the focus is on correctness and efficiency. The important problem types are sorting, searching, string processing, graph problems, combinatorial problems, geometric problems, and numerical problems. Divide-and-conquer is a general algorithm design technique that solves a problem by dividing it into several smaller sub-problems of the same type and about the same size, solving each of them recursively, and then combining their solutions to get a solution to the original problem. The brute-force approach to combinatorial problems is the exhaustive search, which generates each and every combinatorial object of the problem following a selection of those of them that satisfy all the constraints until a desired object is found. Although the main tool for analyzing the time efficiency of a nonrecursive algorithm is to set up a sum expressing the number of executions of its basic operation and ascertain the sum's order of growth, the main tool for analyzing the time efficiency of a recursive algorithm is to set up a recurrence relation expressing the number of executions of its basic operation and ascertain the solution's order of growth. A graph with directions on its edges is called a digraph. To list vertices of a digraph in an order such that for every edge of the digraph, the vertex it starts at is listed before the vertex it points to, is the topological sorting problem which has a solution if and only if a digraph is a dag (directed acyclic graph), i.e., it has no directed cycles. The topological sorting problem can be solved by two algorithms, one based on depth-first search; and the second based on a direct application of the decrease-by-one technique. The three major variations of decrease-and-conquer are: decrease-by-a-constant, most often by one (e.g., insertion sort) decrease-by-a-constant-factor, most often by the factor of two (e.g., binary search) variable-size-decrease (e.g., Euclid's algorithm).
Distributed Computing in Dynamic Networks: Towards a Framework for Automated Analysis of Algorithms
2012
Besides the complexity in time or in number of messages, a common approach for analyzing distributed algorithms is to look at the assumptions they make on the underlying network. We investigate this question from the perspective of network dynamics. In particular, we ask how a given property on the evolution of the network can be formally proven as necessary or sufficient for a given algorithm. The main contribution of this paper is to propose the combination of two existing tools in this direction: local computations by means of graph relabelings, and evolving graphs. Such a combination makes it possible to express fine-grained properties on the network dynamics, then examine what impact those properties have on the possible outcomes of an execution. We illustrate the use of this framework through the analysis of three simple algorithms, then discuss general implications of this work, which include (i) the possibility to compare distributed algorithms on the basis of their topological requirements, (ii) a formal classification of dynamic networks based on these requirements, and (iii) the potential for mechanization induced by our framework, which we believe opens a path towards automated analysis and decision support in dynamic networks.
Fast distributed slicing without requiring uniformity
2008
Peer-to-peer (P2P) systems have become popular as a means of sharing resources efficiently within large sets of end-user platforms. Among their many applications are file sharing , storage and Voice-over-IP (VoIP) . Ideally, such systems should be able to perform well even when the peers are heterogeneous with respect to performance-critical attributes such as bandwidth or storage capacity.