Robust Network Computation David Pritchard AUG 14 2006 LIBRARIES ARCHIVES
Total Page:16
File Type:pdf, Size:1020Kb
Robust Network Computation by David Pritchard Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Engineering in Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY September 2005 @ :Massachusetts Institute of Technology 2005. All rights reserved. Author...,.. .... Depart. .....ent of ...........Electrical Engineering............. and..... Computer............... Science August 16, 2005 tAA I Certified by ........................... Santosh S. Vempala Associate Professor of Applied Mathematics Thesis Supervisor •.--.•-.. / Accepted by .......................... ..I ... ............ Arthur C. Smith Chairman, Department Committee on Graduate Theses MASSACHUSIS INST E OF TECHNOLOGY ARCHIVES AUG 14 2006 LIBRARIES ):· Robust Network Computation by David Pritchard Submitted to the Department of Electrical Engineering and Computer Science on August 16, 2005, in partial fulfillment of the requirements for the degree of Master of Engineering in Computer Science Abstract In this thesis, we present various models of distributed computation and algorithms for these models. The underlying theme is to come up with fast algorithms that can tolerate faults in the underlying network. We begin with the classical message-passing model of computation, surveying many known results. We give a new, universally optimal, edge-biconnectivity algorithm for the classical model. We also give a near-optimal sub-linear algorithm for identifying bridges, when all nodes are activated simultaneously. After discussing some ways in which the classical model is unrealistic, we survey known tech- niques for adapting the classical model to the real world. We describe a new balancing model of computation. The intent is that algorithms in this model should be automatically fault-tolerant. Existing algorithms that can be expressed in this model are discussed, including ones for clustering, maximum flow, and synchronization. We discuss the use of agents in our model, and give new agent-based algorithms for census and biconnectivity. Inspired by the balancing model, we look at two problems in more depth. First, we give matching upper and lower bounds on the time complexity of the census algorithm, and we show how the census algorithm can be used to name nodes uniquely in a faulty network. Second, we consider using discrete harmonic functions as a computational tool. These functions are a natural exemplar of the balancing model. We prove new results concerning the stability and convergence of discrete harmonic functions, and describe a method which we call Eulerization for speeding up convergence. Thesis Supervisor: Santosh S. Vempala Title: Associate Professor of Applied Mathematics Contents 1 Introduction 1.1 Sum m ary ..... ......... ......... ......... ......... 1.2 Conventions and Definitions ............................... 2 The Message-Passing Model 2.1 Motivation and History ................................. 2.2 A Formal Model ................... 2.3 Leader Election .................... 2.4 Spanning Trees and Applications .......... 2.5 Efficient Spanning Tree Constructions ....... 2.6 Optimization Problems ................ 2.6.1 Matching . .................. 2.6.2 Maximum s-t Flow . ............. 2.6.3 Maximal Independent Set, Vertex Coloring 2.6.4 Edge Coloring ................ 2.6.5 Small Dominating Sets and Ruling Sets .. 2.7 Locality-Preserving Representations ........ 2.7.1 Neighborhood Covers . ........... 2.7.2 Decompositions ................ 2.7.3_ PartitionsT . .................. 2.7.4 Spanners ............ 2.8 Remarks ............... 3 An O(Diam) Time Edge-Biconnectivity Algorithm 35 3.1 Overview . .. ........ 35 3.2 Preorder Labeling ....... ........... .. .. .... 36 3.3 Least Common Ancestors .............. ... .... 36 3.4 Marking Cycle Edges ................. ...... 37 3.5 Biconnected Decomposition . ............ .. ... 38 3.6 Optimization and Analysis . ............. .... ... 39 3.7 Optimality ... ..................... ... .. .. 41 3.8 A Near-Optimal Local Algorithm . ......... .. .. 42 3.9 Other Extensions ................ .. .. 43 3.10 Previous Work ...... .............. .... ... 44 4 Faults and The Balancing Model 45 4.1 Realistic Assumptions .............. .. ... 45 4.2 Addressing Reality . ............... .. ... 46 4.2.1 Synchronizers . ............. ... .. .... 47 4.2.2 Clustering ................... .. .. .. 48 4.3 The Self-Stabilizing Model . ........... .. ... 48 4.4 Behaviorally Symmetric Algorithms ....... .. .. ... 50 4.5 A Balancing Model of Computation .. ..... ........ .. 50 4.6 Balancing Algorithms for Basic Problems ..... .... ........ 52 4.6.1 Bipartiteness . .............. ...... ... 52 4.6.2 Shortest Paths . ............... ... .... .. 53 4.6.3 Clustering With Leaders . ........ ... .... .. 53 4.6.4 Maximum s-t Flow . ........... .. 54 4.6.5, Aggregation in Sensor Networks . ................. ...... 54 4.6.6 Synchronizer ................... ............ .. 55 4.7 Agent Algorithms ................... ... .............. .. 55 4.7.1 Census ................... ... .............. .. .. 56 4.7.2 Edge-Biconnectivity from a Random Walk ........... ..... .. 57 4.7.3 Edge k-Connectivity ................... ............ 59 4.8 Discussion ................... ... ........... ... 59 5 The Greedy Tourist Algorithm 61 5.1 The Problem ................... ... .............. .. .. 61 5.2 The Algorithm ................. .................... 61 5.3 An Upper Bound For Undirected Graphs . ........ .......... ..... 64 5.4 Tightness of the Upper Bound . .. .................... ...... 65 5.4.1 Analysis ................ .. .. ......... ... 67 5.5 Exact Results for Small Cases ............. ............ .. 68 5.6 Application: Fault-Tolerant Node Naming ................... .. 68 5.7 Previous Results and Extensions ................... ........ 70 6 Discrete Harmonic Functions and Eulerian Graphs 71 6.1 Basic Properties ................... ............. .. 71 6.2 Interpretation .... ..... .................. .. ..... .. .. 73 6.3 Stability of Harmonic Functions ................... .... ..... 74 6.4 Convergence of Harmonic Functions ................... ...... 78 6.5 Hitting Time of Eulerian Graphs ................... ........ 80 6.6 A Distributed Eulerizing Algorithm ................... ....... 81 6.7 Applications ................... .. .... ....... ........... 83 6.7.1 Planar Embedding ................... ............. 83 6.7.2 Single-failure Tolerant Broadcast ................... ...... 83 7 6.8 Extensions and Related Work ................... .......... .. 85 A Message Passing and a Balancing-FSA Random Walk 87 List of Figures 3-1 Modification of 9 into 9', upon which a biconnectivity algorithm fails. ........ 41 5-1 A graph taking 2(n2 ) steps to visit every node....................... 5-2 The layered ring LR(2 4, 1). 5-3 The layered ring LR(24 , 2). 5-4 The layered ring LR(2 4, 3). List of Tables 5.1 Greedy traversals of maximum cost for n < 10. ................... .. 69 List of Algorithms 2.1 Leader election in a named network, when given a bound D on the diameter. .... 22 2.2 Construction of a spanning tree, once the root has been chosen ............. .. 24 2.3 Simple aggregation using a convergecast on a spanning tree ............... 25 2.4 Election in a named network, using spanning trees. .......... ... .. 26 3.1 Fast algorithm for edge-biconnected decomposition, given a spanning tree. ...... 40 4.1 Dijkstra's self-stabilizing mutual exclusion algorithm for a ring. ............ 49 4.2 Synchronization in the balancing model . .......... ......... ...... 55 5.1 The Greedy Tourist Algorithm, from the walker's perspective. ........... 62 6.1 The basic Eulerization algorithm. ................... .......... 82 A.1 Message passing using finite automata . ........... ...... ....... 88 A.2 Random walk using finite automata. ................... ........ 89 Chapter 1 Introduction Computability, complexity, and algorithms are relatively new mathematical fields. The usefulness of computers in real life has helped stimulate a great deal of research in theoretical computer sci- ence in the past half-decade. Distributed algorithms, an even newer development, arise when we consider multiple computers that can communicate with one another. Distributed algorithms have applications in networking, supercomputing, and sensor networks. In this thesis, we aim to discuss distributed algorithms from both practical and theoretical standpoints. On the practical side, we include an introduction suitable for someone with no prior knowledge of distributed algorithms, we show simple examples using pseudocode, and we address the problems that distributed algorithms face when they are implemented in real networks. On the theoretical side, we survey current research for the best solutions to graph algorithms, we present several new results, and we describe a new model of distributed computation. 1.1 Summary In Chapter 2, we give a general introduction to distributed algorithms, including some historical background. We introduce a clean model of distributed computation called the message-passing model. This is the most common model used by researchers to describe distributed computation. First, we discuss the fundamental problems of leader election and spanning tree construction in depth, including pseudocode solutions. We discuss why pre-existing unique node IDs are usually needed in deterministic algorithms. Then, we go on to survey the best known distributed solutions to many