Dezentrales Management von großen verteilten Systemen

  • Verteilte Systeme werden immer komplexer und größer. Beispiele für solch große verteilte Systeme sind Cloud-Computing-Rechenzentren. Tausende von Computern arbeiten zusammen, um dem Cloud-Computing-Benutzer unbegrenzte Ressourcen zu simulieren. Durch die dynamische Aufteilung der vorhandenen Ressourcen auf verschiedene Benutzer mit unterschiedlichem Nutzungsverhalten kann eine hohe Auslastung erzielt werden. Deshalb ist es für Kunden wirtschaftlicher, geteilte Cloud-Computing-Ressourcen zu nutzen, anstatt eigene Kapazitäten aufzubauen, die meistens ungenutzt sind und nur zu Spitzenzeiten voll ausgelastet werden. Der Kunde kann schnell neue Ressourcen zu seiner Anwendung hinzufügen und wieder entfernen, sollten diese nicht mehr benötigt werden. Die Überwachung solcher Cloud-Computing-Systeme und die Berechnung des Ressourcenbedarfs geschieht zentral. Ein Ausfall oder Fehler der zentralen Überwachung kann die komplette Anwendung lahmlegen. In dieser Arbeit wird ein KonzeptVerteilte Systeme werden immer komplexer und größer. Beispiele für solch große verteilte Systeme sind Cloud-Computing-Rechenzentren. Tausende von Computern arbeiten zusammen, um dem Cloud-Computing-Benutzer unbegrenzte Ressourcen zu simulieren. Durch die dynamische Aufteilung der vorhandenen Ressourcen auf verschiedene Benutzer mit unterschiedlichem Nutzungsverhalten kann eine hohe Auslastung erzielt werden. Deshalb ist es für Kunden wirtschaftlicher, geteilte Cloud-Computing-Ressourcen zu nutzen, anstatt eigene Kapazitäten aufzubauen, die meistens ungenutzt sind und nur zu Spitzenzeiten voll ausgelastet werden. Der Kunde kann schnell neue Ressourcen zu seiner Anwendung hinzufügen und wieder entfernen, sollten diese nicht mehr benötigt werden. Die Überwachung solcher Cloud-Computing-Systeme und die Berechnung des Ressourcenbedarfs geschieht zentral. Ein Ausfall oder Fehler der zentralen Überwachung kann die komplette Anwendung lahmlegen. In dieser Arbeit wird ein Konzept präsentiert, wie große Cloud-Computing-Systeme komplett dezentral gesteuert werden können. Durch die dezentrale Steuerung kann die Anwendung selbst bei dem Ausfall einer großen Anzahl von Komponenten noch reagieren und sich selbst heilen. Als Beispiel wird eine Internetanwendung vorgestellt. Dabei werden die Internetseitenbesucher auf verschiedene Server einer Cloud-Computing-Anwendung verteilt und dort die Anfragen bearbeitet. Um die Bearbeitungszeit konstant zu halten, werden je nach Besucherzahlen mehr oder weniger virtuelle Computer benutzt. Der Internetseitenbetreiber will die Kosten minimieren und daher möglichst wenige Ressourcen anmieten. Andererseits sollen keine Seitenbesucher durch lange Antwortzeiten abgeschreckt werden. Die Antwortzeit kann durch eine größere Anzahl von Servern verringert werden. Eine verteilte Steuerung muss in der Lage sein, diese beiden gegensätzlichen Ziele zu erfüllen. Um die Steuerung solch großer verteilter Cloud-Computing-Systeme mit tausenden von Servern zu implementieren, werden zwei Aspekte untersucht. Als erstes müssen Lastdaten einzelner Maschinen an alle anderen gesendet werden. Peer-to-Peer-Algorithmen sind häufig komplett dezentral und besitzen eine hohe Toleranz gegenüber Serverausfällen. Auf Grund dieser Eigenschaften wurden für die Informationsverteilung dezentrale, auf Peer-to-Peer-Netzebasierende Verteilungsalgorithmen entwickelt und untersucht. Diese Algorithmen garantieren die komplette Verteilung der Informationen, allerdings sind nicht alle Informationen aktuell. Durch Aggregation der gesammelten Informationen kann die Belastung des Netzwerks gesenkt werden, jedoch werden die Informationen ungenauer. Im zweiten Schritt wird mit diesen Informationen die Anzahl der Maschinen gesteuert. Die Steuerung muss mit den ungenauen und teilweise veralteten Daten umgehen und das System verwalten. Dafür werden zwei dezentrale Methoden untersucht und jeweils mit einer zentralen Implementierung verglichen. Es werden arithmetische und Fuzzylogik-Steuerungen untersucht und diskutiert. Beide Methoden werden jeweils mit und ohne aggregierten Informationen implementiert. Die zentralen Steuerungsalgorithmen konnten auf Grund des globalen Wissens das System mit kürzeren Reaktionszeiten stabiler halten. Mit den in dieser Arbeit vorgestellten Verteilungs- und Steuerungsalgorithmen kann das System komplett dezentral gesteuert werden. Die vorgestellte Fuzzylogik-Steuerung kann das System mit einer Abweichung der Antwortzeit von 5,8 %, statt 4,1 % bei der zentralen Steuerung, erfolgreich steuern. Die dezentrale Steuerung benötigt 3,5 % mehr Ressourcen, erspart dafür aber die aufwändige Absicherung einer zentralen Überwachungsinstanz. Durch die dezentrale Steuerung kann darauf verzichtet werden.show moreshow less

Download full text files

Export metadata

Statistics

Number of document requests

Additional Services

Share in Twitter Search Google Scholar
Metadaten
Author:Michael Roth
URN:urn:nbn:de:bvb:384-opus4-33905
Frontdoor URLhttps://opus.bibliothek.uni-augsburg.de/opus4/3390
Advisor:Theo Ungerer
Type:Doctoral Thesis
Language:German
Publishing Institution:Universität Augsburg
Granting Institution:Universität Augsburg, Fakultät für Angewandte Informatik
Date of final exam:2015/02/10
Release Date:2016/01/19
GND-Keyword:Verteiltes System; Cloud Computing; Peer-to-Peer-Netz; Selbstorganisation
Institutes:Fakultät für Angewandte Informatik
Fakultät für Angewandte Informatik / Institut für Informatik
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
Licence (German):Deutsches Urheberrecht mit Print on Demand