Die Bedeutung verteilter Algorithmen rührt von der Allgegenwart
verteilter, vernetzter und nebenläufiger Systeme. Trotz der Vielfalt der
Erscheinungsformen liegen verteilter Software eine Reihe fundamentaler
immer wiederkehrender Prinzipien und Algorithmen zugrunde. Beispiele für
typische Fragestellungen sind Informationsverbreitung und -sammlung in
Netzen, Konsensfindung, Bestimmung eines ausgezeichneten Prozesses
(“Leader Election”), Fehlerentdeckung und -behebung, Herstellung von
Synchronizität, Bestimmung eines globalen, konsistenten Schnappschusses und
ähnliches.
Die zugehörigen Algorithem sind oft elegant und kompakt. Dennoch ist ihre
fehlerfreie Entwicklung und Analyse anspruchsvoll, da sich das nebenläufige
Geschehen in beliebigen Netzen nur schwer intuitiv (und korrekt ...)
durchschauen läßt. Die Kenntis der grundlegenden Prinzipien sowie
wichtiger Algorithmen auf diesem Gebiet gehört demzufolge zum
unverzichtbaren Handwerkszeug zur Entwicklung moderner, verteilter Systeme.
Aufbauend auf die Vorlesung im SS06 werden im Seminar ausgewählten
Kapitel aus
dem Buch Distributed Algorithms von Lynch
behandelt. Je nach Umfang des Stoffes werden die
Kapitel an ein oder zwei Seminarteilnehmer vergeben.
Scheinkriterium
Verlangt ist die Ausarbeitung (mit Hilfestellung natürlich) und die
Präsentation eines Vortrages über das gewählte Thema. Relevant sind