Topological Self-Stabilization with Name-Passing Process Calculi

Reading time: 6 minute
...

📝 Abstract

Topological self-stabilization describes the ability of a distributed system to let the nodes themselves establish a meaningful overlay network. Independent from the initial network topology, the system converges to the desired topology via forwarding, inserting, and deleting links to neighboring nodes. Name-passing process calculi, like the pi-calculus, are a well-known and widely used method to model concurrent and distributed algorithms. The pi-calculus is designed to naturally express processes with a changing link infrastructure, as the communication between processes may carry information that can be used for a change in the linkage between the processes. We redesign a simple local linearization algorithm with asynchronous message-passing that was originally designed for a shared memory model. We use an extended localized pi-calculus, a variant of the pi-calculus, to model the algorithm. Subsequently, we formally prove the self-stabilizing properties closure, weak convergence for every arbitrary initial configuration, and strong convergence for two special cases. In our proofs we utilize rather an assertional reasoning than an action-based style. Furthermore, we describe the challenges in proving (strong) convergence in the general case. Additionally, we give strong arguments for strong convergence, supported by further proven lemmata, and discuss different approaches for a formal proof.

💡 Analysis

Topological self-stabilization describes the ability of a distributed system to let the nodes themselves establish a meaningful overlay network. Independent from the initial network topology, the system converges to the desired topology via forwarding, inserting, and deleting links to neighboring nodes. Name-passing process calculi, like the pi-calculus, are a well-known and widely used method to model concurrent and distributed algorithms. The pi-calculus is designed to naturally express processes with a changing link infrastructure, as the communication between processes may carry information that can be used for a change in the linkage between the processes. We redesign a simple local linearization algorithm with asynchronous message-passing that was originally designed for a shared memory model. We use an extended localized pi-calculus, a variant of the pi-calculus, to model the algorithm. Subsequently, we formally prove the self-stabilizing properties closure, weak convergence for every arbitrary initial configuration, and strong convergence for two special cases. In our proofs we utilize rather an assertional reasoning than an action-based style. Furthermore, we describe the challenges in proving (strong) convergence in the general case. Additionally, we give strong arguments for strong convergence, supported by further proven lemmata, and discuss different approaches for a formal proof.

📄 Content

Topological Self-Stabilization with Name-Passing Process Calculi vorgelegt von Christina Julia Rickmann Matrikelnummer 314392 Masterarbeit Informatik 2. Oktober 2015 Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Institut für Softwaretechnik und Theoretische Informatik Fachbereich Modelle und Theorie Verteilter Systeme Gutachter: Prof. Dr.-Ing. Uwe Nestmann, Erstkorrektor Dr. Stefan Schmid, Zweitkorrektor Betreuer: Dipl.-Inf. Christoph Wagner Berlin, Technische Universität Berlin, 2015 Eidesstattliche Erklärung Hiermit erkläre ich, dass ich die vorliegende Arbeit selbstständig und eigenhändig sowie ohne unerlaubte fremde Hilfe und ausschließlich unter Verwendung der aufgeführten Quellen und Hilfsmittel angefertig habe. Berlin, 2. Oktober 2015 Christina Julia Rickmann i Abstract Topological self-stabilization describes the ability of a distributed system to let the nodes themselves establish a meaningful overlay network. Independent from the initial network topology, the system converges to the desired topology via forwarding, inserting, and deleting links to neighboring nodes. Name-passing process calculi, like the π-calculus, are a well-known and widely used method to model concurrent and distributed algorithms. The π-calculus is designed to naturally express processes with a changing link infrastructure, as the communication between processes may carry information that can be used for a change in the linkage between the processes. We redesign a simple local linearization algorithm with asynchronous message-passing that was originally designed for a shared memory model. We use an extended localized π-calculus, a variant of the π-calculus, to model the algorithm. Subsequently, we formally prove the self-stabilizing properties closure, weak convergence for every arbitrary initial configuration, and strong convergence for two special cases. In our proofs we utilize rather an assertional reasoning than an action-based style. Furthermore, we describe the challenges in proving (strong) convergence in the general case. Additionally, we give strong arguments for strong convergence, supported by further proven lemmata, and discuss different approaches for a formal proof. Key words: Distributed Algorithms, Fault Tolerance, Topological Self-Stabilization, Lineariza- tion, Process Calculi iii Zusammenfassung Topologische Selbstabilisierung beschreibt die Fähigkeit eines verteilten Systems, dass die Knoten selbstständing in der Lage sind ein sinnvolles Overlay-Netzwerk zu etablieren. Das System nähert sich unanhängig von der initialen Topologie, durch die Weiterleitung und das Hinzufügen und Löschen von Verbindungen zwischen benachbarten Knoten, der angestrebten Topologie an. Name-passing Prozesskalküle, wie der π-Kalkül, sind eine gut erforschte und weitverbreitete Methode zur Modellierung von nebenläufigen und verteilten Algorithmen. Der π-Kalkül ist konzipiert um in natürlicher Weise Prozesse mit einer sich ändernden Verbindungsinfrastruk- tur ausdrücken zu können, da die Kommunikation zwischen den Prozessen Informationen übertragen kann, die zu einer Veränderung der Vernetzung genutzt werden können. Ein einfacher Linearisierungsalgorithmus, ursprünglich für ein System mit Shared Memory entworfen, wird so umgestaltet, dass er mit asynchroner Nachrichtenübertragung funktioniert. Um den Algorithmus zu modellieren, wurde eine Erweitung des Localized π-Kalküls, eine Vari- ante des π-Kalküls, verwendet. Darauffolgend werden die selbststabilisierenden Eigenschaften der Abgeschlossenheit, schwache Konvergenz für jede beliebige initiale Konfiguration und starke Konvergenz für zwei Spezialfälle formal bewiesen. In den Beweisen werden Schlussfol- gerungen eher basierend auf dem Zustand des Systems gezogen, als einen aktionsbasierten Stil zu verfolgen. Des Weiteren werden die Herrausforderungen des Beweisens von starker Konvergenz für den allgemeinen Fall beschrieben. Zusätzlich werden starke Argumente für starke Konvergenz gegeben, unterstützt von weiteren bewiesenen Lemmata, und verschiedene Ansätze für einen formalen Beweis diskutiert. Stichwörter: Verteilte Algorithmen, Fehlertoleranz, Topologische Selbststabilisierung, Lineari- sierung, Prozesskalküle v Contents Abstract (English/Deutsch) iii Introduction 1 1 Technical Preliminaries 3 1.1 Distributed Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Models of Distributed Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2.1 Timing Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2 Communication Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.3 Models of Faults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3 Fault tolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.1 Fault Intolerance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.3.2 Masking . . . . . . . . . . . . .

This content is AI-processed based on ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut