Verteilte Basisalgorithmen - Mattern, Friedemann 1955- (Springer Berlin Heidelberg, 1989)
Verteilte Algorithmen sind Verfahren, die dadurch charakterisiert sind, daß mehrere autonome Prozesse gleichzeitig Teile eines gemeinsamen Problems in kooperativer Weise bearbeiten und der dabei erforderliche Informationsaustausch ausschließlich über Nachrichten erfolgt. Derartige Algorithmen kommen im Rahmen verteilter Systeme zum Einsatz, bei denen kein gemeinsamer Speicher existiert und die Übertragungs- und Bearbeitungsdauer von Nachrichten i.a. nicht vernachlässigt werden kann. Daß dabei kein Prozeß eine aktuelle konsistente Sicht des globalen Zustands besitzt, führt zusammen mit anderen typischen Eigenschaften der Verfahren, wie Nebenläufigkeit und Nichtdeterminismus, zu interessanten Problemen. In der vorliegenden Arbeit werden einige dieser Probleme analysiert, diskutiert und zueinander in Beziehung gesetzt. Für eine Reihe von Grundproblemen, zu denen das Election-Problem, das Schnappschußproblem und das Terminierungsproblem gehören, werden verschiedene Lösungsalgorithmen angegeben und miteinander verglichen. Die Bewertung der Algorithmen umfaßt analytische und empirische Untersuchungen sowie eine Diskussion der qualitativen Eigenschaften verschiedener Varianten. Um ein tieferes Verständnis des "Prinzips der Verteiltheit" zu erreichen, werden grundsätzliche Aspekte hervorgehoben, wie etwa die Bedeutung des Zeitbegriffs in verteilten Systemen. Darüber hinaus werden einige typische Methoden und Techniken vorgestellt, die auch für die systemnahe oder anwendungsbezogene Programmierung verteilter oder hochgradig paralleler Systeme praktisch relevant sind. Durch die Beschreibung des Umfeldes und der wichtigsten Konzepte der verteilten Programmierung, durch weiterführende Literaturangaben und einige spielerische und gleichnishafte Beispiele werden die Problemstellungen motiviert und die Ergebnisse der Arbeit in den größeren Rahmen des Distributed Computing eingeordnet
Keywords: Computer science; Computer Communication Networks; Computer software; Computer Science; Programming Techniques; Algorithm Analysis and Problem Complexity; Informatik; Verteiltes System; Verteilter Algorithmus; Algorithmus; Hochschulschrift