Vernetztes System

Vernetztes System

Ein Verteiltes System ist nach der Definition von Andrew Tanenbaum ein Zusammenschluss unabhängiger Computer, der sich für den Benutzer als ein einzelnes System präsentiert. Peter Löhr definiert es etwas grundlegender als „eine Menge interagierender Prozesse (oder Prozessoren), die über keinen gemeinsamen Speicher verfügen und daher über Nachrichten miteinander kommunizieren“.

Inhaltsverzeichnis

Klassifizierungen

Meist unterscheidet man in

Gründe

Es gibt unterschiedliche Motivationen dafür, ein verteiltes System zu realisieren. Ein Grund ist die Realisierung echter Nebenläufigkeit; das heißt, dass mehrere Prozesse echt gleichzeitig ausgeführt werden können. Darüber hinaus ist ein verteiltes System in der Regel auch besser skalierbar als ein einzelner Computer, da man auf einfache Art und Weise durch Hinzufügen weiterer Rechner die Leistungsfähigkeit erhöhen kann. Zudem ist es auch möglich, ein verteiltes System so anzulegen, dass brachliegende Rechenleistung von Einzelplatzrechnern zur Lösung eines Problems genutzt werden, wie es beim verteilten Rechnen (Beispiel: SETI@home) geschieht.

Ein häufig anzutreffendes Szenario ist natürlich auch die Bereitstellung von entfernten Ressourcen, wie es bei der Wikipedia der Fall ist. Außerdem werden verteilte Systeme zur Erhöhung der Ausfallsicherheit benutzt, indem bestimmte Funktionalitäten von mehreren Rechnern angeboten werden (Redundanz), so dass beim Ausfall eines Rechners die gleiche Funktionalität von einem weiteren Rechner angeboten wird.

In vielen Fällen gibt es auch wirtschaftliche Gründe, um preisgünstige Rechner zu vernetzen, statt einen teuren Supercomputer anzuschaffen.

Weitere Gründe:

  • geringere Fehleranfälligkeit (Erreichbarkeit durch redundante/replizierte Server; Ausfallsicherheit durch Backups)
  • Fernzugriff auf bestimmte Ressourcen (Drucker, …)
  • Kooperation (Computer Supported Cooperative Work)
  • Lastverteilung (je nach Last kann eine Aufgabe zum größeren Teil auf dem Server oder seinen Klienten ausgeführt werden (siehe AJAX als Beispiel zur Berechnung auf dem Klienten und JSP, CGI, … als Beispiel zur Berechnung auf dem Server)

Transparenz

Hauptartikel: Transparenz (Computer)

Für den Benutzer sowie für die Applikation eines verteilten Systems ist die Art der Verteilung nicht relevant und idealerweise auch nicht ersichtlich. Das System verhält sich transparent (i.S.v. durchsichtig), als hätte der Nutzer es mit einem Gesamtsystem zu tun.

Probleme

Da es bei verteilten Systemen zu einem Teilausfall kommen kann, von dem einzelne Rechner oder Teile des Netzwerkes betroffen sind, sollte darauf geachtet werden, dass es keinen Single Point of Failure im System gibt. Dabei ist zu bemerken, dass die Wahrscheinlichkeit eines Fehlverhaltens eines Prozesses mit der Anzahl der beteiligten Prozesse steigt (siehe Verfügbarkeit).

In verteilten Systemen ist zwar eine echte Nebenläufigkeit möglich, allerdings können Prozesse in unterschiedlichen Geschwindigkeiten abgearbeitet werden. Eine hierdurch bedingte starke Form von Nicht-Determinismus erhöht die Anforderungen zur Synchronisierung von Prozessen. Aus diesem Grunde ist eine Nebenläufigkeitskontrolle meist sehr wichtig: Zum einen im Bezug auf Transaktionen und zum anderen beim Zugriff auf gemeinsame Ressourcen (Mutex).

Gesamtzustände (Summe der Zustände aller beteiligten Prozesse) und Abläufe können in einem verteilten System oft im Nachhinein nicht nachvollzogen werden. Eine Diagnose im Fehlerfall wird hierdurch erschwert.

Verteilte Systeme teilen sich keinen gemeinsamen Speicher und müssen ihre gesamte Kommunikation darum durch das Versenden und Empfangen von Nachrichten realisieren. Eine solche Kommunikation ist sehr fehleranfällig, so dass es zu Problemen durch Verfälschung von Nachrichten, Duplizierung von Nachrichten und den Verlust von Nachrichten kommen kann. Außerdem ist die Nachrichtenlaufzeit unvorhersehbar, so dass man nie mit Sicherheit vorhersehen kann, ob ein System ausgefallen ist oder ob es nur eine lange Antwortzeit hat.

Ein weiteres Problem der Nachrichten ist, dass diese Art der Kommunikation unsicher sein kann, also durch Angreifer abgehört oder bewusst manipuliert werden kann.

Bei komplexen Prozessen ist es oft notwendig, einen gemeinsamen Zeitbegriff in der Datenverarbeitung zu realisieren (Synchronisierung ohne Prozess-Kommunikation). Hierfür muss sichergestellt werden, dass die jedem Prozess bekannte Zeit nur mit kleinen Abweichungen übereinstimmt. Nur so lassen sich verteilte Transaktionen sicher durchführen, da durch Timeouts eine Veralterung ausgesendeter Nachrichten vermeiden lässt. (Siehe auch „Algorithmen zur Uhren-Synchronisation“ unten).

Modelle

Bei verteilten Systemen geht man von unterschiedlichen Kommunikationsmodellen aus.

Asynchrones Modell

Prozesse haben im asynchronen Modell nur den Zustand aktiv und passiv. Nur ein aktiver Prozess versendet Nachrichten. Ein aktiver Prozess kann jederzeit passiv werden, wohingegen ein passiver Prozess nur durch eine Nachricht reaktiviert werden kann.

Synchrones Modell

Beim synchronen Modell haben Nachrichten selbst keine Laufzeit. Diese Verhaltensweise wird in der Praxis durch die Synchrone Kommunikation erreicht.

Atommodell

Beim Atommodell haben zwar die Nachrichten eine Laufzeit, allerdings haben die Prozesse selbst keine Laufzeit.

Algorithmen

Algorithmen zur Uhren-Synchronisation

Logische Uhren

Logische Uhren geben Ereignissen eindeutige Zeitstempel. Anders als bei Echtzeituhren ist der Anspruch hier nicht das Messen der physikalischen Zeit, sondern allein ein monoton steigender Zeitwert, um eine Kausalordnung der Ereignisse erkennbar zu machen.

Physikalische Uhren-Synchronisation

Broadcastalgorithmen

Das Ziel eines Broadcasts ist die Verteilung einer Information im gesamten Netz.

Beispiele:

Auswahlalgorithmen

Auswahlalgorithmen können in zwei Kategorien unterteilt werden: Algorithmen, die aus einer Menge von identischen Knoten einen eindeutigen Knoten auswählen und Maximumsalgorithmen, die aus einer Menge von Knoten mit eindeutiger ID den Knoten mit der größten ID auswählen.

Beispiele:

Nebenläufigkeitskontrolle

Siehe auch

Literatur

  • Günther Bengel, Christian Baun, Marcel Kunze, Karl-Uwe Stucky: Masterkurs Parallele und Verteilte Systeme. Vieweg+Teubner, 2008, ISBN 978-3-8348-0394-8
  • Andrew S. Tanenbaum, Maarten van Steen: Verteilte Systeme. 2., aktualisierte Auflage, Pearson Studium, 2007, ISBN 978-3-8273-7293-2
  • Günther Bengel: Verteilte Systeme. 3. Auflage, Vieweg, 2004, ISBN 3528257385
  • George Coulouris, Jean Dollimore, Tim Kindberg: Distributed Systems: Concepts and Design. Addison-Wesley Longman, Amsterdam; Auflage: 4th rev. ed. (14. Juni 2005), ISBN 0321263545

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Passenger Transport System — Bukit Panjang LRT Line in Singapur Der aus dem Englischen übernommene Sammelbegriff Peoplemover (wörtlich: Personenbeförderer) bezeichnet meist schienengebundene und in der Regel automatisch verkehrende Verkehrsmittel für kurze Strecken, wie man… …   Deutsch Wikipedia

  • Frederic Vester — (* 23. November 1925 in Saarbrücken; † 2. November 2003 in München) war ein deutscher Biochemiker, Umweltexperte und populärwissenschaftlicher Autor. Inhaltsverzeichnis 1 Leben 2 Vernetztes Denken …   Deutsch Wikipedia

  • Frederic Vester — (November 23, 1925 November 2, 2003) was a German biochemist, expert on ecology. Biography Vester was born in Saarbrücken. He studied chemistry at the universities of Mainz and Paris. From 1955 to 1957 he was postdoctoral fellow at Yale… …   Wikipedia

  • Vester — Vẹster   [f ], Frederic, Biochemiker, * Saarbrücken 23. 11. 1925; lehrte in Saarbrücken (1957 65) und München; gründete 1970 die seither von ihm geleitete Studiengruppe für Biologie und Umwelt GmbH in München, die Umweltprobleme mit… …   Universal-Lexikon

  • Ganzheitsmedizin — Ganzheitliche Medizin oder Ganzheitsmedizin bezeichnet Konzepte und Methoden im Bereich der Medizin, die die Natur und den kranken Menschen in umfassenden Zusammenhängen betrachten und behandeln. Hinter dem Begriff „ganzheitlich“ stehen… …   Deutsch Wikipedia

  • Ganzheitliche Medizin — oder Ganzheitsmedizin bezeichnet Konzepte und Methoden im Bereich der Medizin, die die Natur und den kranken Menschen in umfassenden Zusammenhängen betrachten und behandeln. Hinter dem Begriff „ganzheitlich“ stehen unterschiedliche… …   Deutsch Wikipedia

  • Münchner Stadtbäche — Karte der Münchner Stadtbäche Die Münchner Stadtbäche sind ein System aus ursprünglich natürlichen, später kanalisierten Seitenarmen der Isar. Sie spielten für die wirtschaftliche Entwicklung Münchens vom Mittelalter bis in das 19. Jahrhundert… …   Deutsch Wikipedia

  • psychophysiologische Grundlagen geistiger Prozesse —   Seit der Begründung der modernen Psychologie im 19. Jahrhundert, unter anderem durch Gustav Fechner, Wilhelm Wundt, Francis Galton und James McKeen Cattell, stützt man sich auf funktionelle Forschungsmodelle, um psychische Leistungen zu… …   Universal-Lexikon

  • Cerha — Friedrich Cerha (* 17. Februar 1926 in Wien) ist ein österreichischer Komponist und Dirigent. Inhaltsverzeichnis 1 Leben 2 Stil 3 Auszeichnungen 4 Werkauswahl …   Deutsch Wikipedia

  • Friedrich Cerha — (* 17. Februar 1926 in Wien) ist ein österreichischer Komponist und Dirigent. Inhaltsverzeichnis 1 Leben 2 Stil 3 Auszeichnungen 4 …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”