Fangen Sie an, etwas über die Theorie verteilter Systeme zu lernen?

24

Was ist der beste Weg, den jemand tun kann, um eine gute Einführung in die Theorie des verteilten Systems, in Bücher oder Referenzen sowie in Themen zu erhalten?

Sameh Kamal
quelle

Antworten:

22

Die Vorlesungssammlung von Roger Wattenhofer zu Prinzipien des Distributed Computing ist ebenfalls ein guter Anfang.

Es ist online frei verfügbar, setzt keine Vorkenntnisse in diesem Bereich voraus und das Material ist auf dem neuesten Stand - es deckt sogar einige Ergebnisse ab, die vor einigen Monaten auf Konferenzen vorgestellt wurden.

Jukka Suomela
quelle
Ich denke, dieses Skript ist einfach und gut. Vielen Dank.
Sameh Kamal
9

Ein guter Start wäre von Distributed Systems von Nancy Lynch. Es ist vielleicht ein bisschen veraltet, aber nichts ist falsch an dem Buch als solchem. Ein Unmöglichkeitsergebnis ändert sich nicht mit der Zeit.

Dave Clarke
quelle
9

Die beiden in den anderen Beiträgen erwähnten Bücher sind gut, aber ich mag:

  • Entwurf und Analyse verteilter Algorithmen, Nicola Santoro.
  • Einführung in verteilte Algorithmen, Gerard Tel.

Lynch und Wattenhofer, zwei große Namen in der Theorie verteilter Systeme, konzentrieren sich "sehr" auf synchrone Systeme. Andererseits konzentrieren sich Santoro und Tel mehr auf asynchrone Systeme (ohne die synchronen Systeme zu vergessen). Ihrer Meinung nach ist die Synchronität eines verteilten Systems eine "zusätzliche Annahme"! (Das heißt, ein verteiltes System ist von Natur aus asynchron). In Anbetracht dessen konzentrieren Sie sich mehr auf die Komplexität von Nachrichten, während in den anderen Büchern die zeitliche Komplexität im Vordergrund steht. Meiner Meinung nach ist es eine andere Schule für verteiltes Rechnen.

N. Santoro-Buch war das Buch, mit dem ich studiert habe (N. Santoro ist eigentlich mein Lehrer). Wenn Sie dem Buch folgen, werden Sie die wichtigsten Grundgedanken des verteilten Rechnens beherrschen. Es basiert auf Kursnotizen und Recherchen, an denen der Autor beteiligt war. Deshalb ist es nicht das vollständigste Buch. Aber es ist sehr gut geschrieben!

Für G. Telbook gibt es ein interessantes Maß an Formalismus. Mir gefällt, dass er ein Kapitel über sich selbst stabilisierende verteilte Algorithmen enthält. Ich denke, es enthält mehr Themen als N. Santoro Buch.

Ein weiteres weit verbreitetes Buch ist Distributed Computing (Attiya und Welch - zwei bekannte Gelehrte mit großem Einfluss auf das Fachgebiet). Ich habe es ein paar Mal als Referenz benutzt, aber ich kann kein Urteil fällen.

AJed
quelle
7

Alle erwähnten Bücher sind großartig, aber ich empfehle Ihnen die James Aspnes- Hinweise zur Theorie verteilter Systeme . Es ist ein sehr gutes und aktuelles Buch, das sich mit theoretischen Aspekten verteilter Systeme befasst. Es ist auch kostenlos!

Ich habe diese Notizen verwendet, als ich TA war und die Schüler waren sehr glücklich darüber. Es gibt viele Fragen mit ihren Lösungen.

Reza
quelle
4

Ein Kurs über deterministisch verteilte Algorithmen von Jukka Suomela.

Handelt von:

  • verteilte Systeme als Rechenmodell.
  • verteilte Algorithmen im Portnummerierungsmodell.
  • Optimierungsprobleme bei Vertex-Covers und kantenbeherrschenden Mengen.
  • Netzwerke mit eindeutigen Kennungen.
  • Ramsey Theorie und Anwendung der Theorie.
Claudio Biale
quelle
Ja, Jukka Suomela ist eine kluge Forscherin. Ich mag seine Papiere.
AJed
0

Ich möchte eine Einführung in die zuverlässige und sichere verteilte Programmierung von Christian Cachin, Rachid Guerraoui und Luís Rodrigues (amazon link) hinzufügen .

Dieses Buch ist großartig, da es auf den Grundlagen der Theorie der verteilten Programmierung aufbaut und relevante Themen wie Konsens und byzantinische Vereinbarung ausführlich behandelt .

Daniel
quelle
-2

Das Buch Verteilte Systeme: Konzepte und Design von George Coulouris, Jean Dollimore, Tim Kindberg und Gordon Blair.

Abraham Guchi
quelle
7
Warum beantwortet dies die Frage von OP? Bitte machen Sie nähere Angaben zum Inhalt des Buches.
Pål GD
2
Es ist zwar nicht ich, der downvoted .. aber dieses Buch behandelt nicht die theoretischen Aspekte des verteilten Rechnens aus der Perspektive der Informatik . Es ist eher ein Ingenieurbuch. In jedem Fall denke ich, dass es die Frage oben beantwortet.
AJed