|
|
| xgrid |
Einführung
Xgrid ist Apples Lösung zur Ressourcenbündelung im Netzwerk. Auf Rendezvous basierend erlaubt es Xgrid die Rechenleistung mehrerer Macs in einem Netzwerk zu bündeln. So kann für schwierige Berechnungen einfach eine Art Netzwerk Cluster angelegt werden. Durch diese Methode der Grid-Erstellung ermöglicht die Xgrid Technologie eine bedeutende Steigerung der verfügbaren Rechenleistung ohne Kauf zusätzlicher Hardware. Mit Xgrid wird zum anderen die Konfiguration der Software zu einer sehr einfachen Aufgabe.
Unter einem Computer-Grid versteht man eine Gruppe von Computern, die gemeinsam an der Lösung eines Problems arbeiten. Die Systeme in einem Grid können lose miteinander verbunden, geografisch voneinander getrennt und bis zu einem bestimmten Maß verschiedenartig sein. Systeme in einem Cluster sind dagegen oft von gleichem Typ, in unmittelbarer Nachbarschaft angeordnet und nach strengen Regeln verwaltet. Ein weit verteiltes Grid wäre das SETI@Home Projekt. Hierbei ermöglicht es einzlnen Benutzern, ihre nicht benötigte Prozessorleistung für eine bestimmte Aufgabe bereitzustellen.
Die Höhe der von Xgrid unterstützen Rechenleistung ist nahezu unbegrenzt. Die Leistung der Grids wird maßgeblich durch die darin verwendeten Systeme, die ausgeführte Software und das Netzwerk bestimmt. Der Benutzer bestimmt, wie gut sich ein bestimmtes Programm für die Ausführung in einem Computing-Grid eignet.
Topologien
Im Allgemeinen wird eine von drei gängigen Topologien verwendet.
Xgrid Cluster
Bei Computer-Clustern handelt es sich um Systeme gleichen Typs, die auschließlich für Computing-Aufgaben verwendet werden. In einem Cluster sind System gewöhnlich in einem Rack zusammengefasst, über ein leistungsfähiges Netzwerk miteineander verbunden und strenf verwaltet, damit eine größtmögliche Leistung erzielt werden kann. Cluster stellen die effizienteste und teuerste Methode für die Verteilung von Rechenanforderungen dar.
Lokale Grids
Systeme, die in Computerräumen eines Instituts oder anderen Administrationsumgebungen gemeinsam verwaltet werden, können häufig problemlos zu einem Grid verbunden werden, wodurch eine effiziente Nutzung der freien Ressourcen von Desktop-Computern ermöglicht wird. Da sich diese Systeme häufig in einem lokalen Verbund befinden und im Allgemeinen von einer Person verwaltet werden, bieten sie eine potenziell gute Netzwerkleistung und lassen sich leicht verwalten.
Oft sind genau diese Systeme tagsüber in Verwendung, so können Benutzer Grid-Aufgaben durch Bewegen der Maus, Zurücksetzen des Systems oder sogar durch versehentliches Trennen der Netzwerkverbindung unterbrechen. Der Xgrid Controller weist die fehlgeschlagenen Aufgaben einem anderen Agenten zu, sodass der Auftrag erfolgreich beendet wird. In lokalen Grids wird die Leistung durch solche Situationen sowie durch die variierende Leistung aller Agenten im Grid eingeschränkt.
Verteilte Grids
Mithilfe des Xgrid Agenten kann ein Benutzur eine beliebige IP-Adress oder einen beliebigen Hostnamen für den gewünschten Controller angeben. Durch Angabe eines Grids kann ein Benutzer die CPU-Leistung seines Computers diesem Grid zur Verfügung stellen. Sobald ein System Rechenleistung zu Verfügung stellen kann, wird ein verteiltes Grid gebildet. Der Administrator des Controllers besitzt keine direkte Kontrolle oder Informationen über das Agentensystem, kann jedoch dessen CPU-Leistung trotzdem nutzen.
Die Kosten für solche verteilten Grids sind sehr gering.
Xgrid Komponenten
Die Xgrid Architektur besteht aus einem Controller, Agenten und einem oder mehreren Client-Computern. Clients übertragen Aufträge an den Controller.
Agent
Die Xgrid Agenten führen die Rechenanforderungen eines Auftrags aus. Unter Mac OS X Sever ist der Agent standardmäßig deaktiviert. Wenn ein Agent aktiviert wurde und nach dem Starten des Computers aktiv wird, wird er bei einem Controller registriert. Ein Agent kann nur mit jeweils einem Controller gleichzeitig verbunden sein. Der Controller sendet Anweisungen und Daten an den Agenten wie für die Aufträge des Controllers erforderlich. Nachdem der Agent Anweisungen vom Controller erhalten hat, führt er die ihm zugewiesenen Aufgaben aus und sendet die Ergebnisse zurück an den Controller.
Client
Jedes System kann als Xgrid Client verwendet werden. Und das nur mit Mac OS X.4 oder neuer und natürlich es besteht eine Netzwerkverbindung zum Xgrid Controller-System. Abhängig von der Konfiguration eines Controllers muss der Client ein Kennwort angeben oder sich über Kerberos identifizieren, bevor ein Auftrag an das Grid übertragen wird.
Ein Benutzer übermittelt einen Auftrag von einem System mit installierter Xgrid Client-Software an den Controller. Bei diesem System handelt es sich meist um ein Befehlszeilenprogramm, auf das mit dem Terminal zugegriffen wird. Der Auftrag kann Angaben zum gewünschten Controller enthalten oder mithilfe von Multicast-DNS den ersten verfügbaren Controller dynamisch ermitteln. Wurde der Auftrag fertig ausgeführt, informiert der Controller den Client. Der Client kann daraufhin die Ergebnisse des Auftrags abrufen.
Controller
Der Xgrid Controller verwaltet die Kommunikation zwischen den Rechenressourcen eines Grids. Für den Controller ist Mac OS X Server X.4 oder neuer erforderlich. Der Controller akzeptiert Netzwerkverbindungen von Clients und Agenten. Er empfängt Aufträge von Clients, unterteilt die Aufträge in Aufgabe, sendet die Aufgaben an die Agenten und übermittelt die Ergebnisse an die Clients.
Es ist nur ein Controller pro logischem Grid möglich. An jeden Controller kann eine beliebige Anzahl an Agenten angeschlossen sein, Apple hat in Tests allerdings maximal 128 Agenten pro Controller eingesetzt. Die theoretische Obergrenze an Clients wird dabei durch die Anzahl der verfügbaren Anschlüsse am Controller-System bestimmt.
Aufträge
Ein Auftrag ist eine Sammlung an Ausführungsanweisungen, der Daten und ausführbare Dateien enthalten kann. Xgrid kann Scripte, Dienstprogramme und angepasste Software ausführen.
Ein Client sendet einen Auftrag an das Grid. Der Controller akzeptiert den Auftrag und die dazugehörige Dateien, unterteilt den Auftrag in Aufgaben und verteilt die Aufgaben anschließend an die Agenten. Die Agenten akzeptieren die Aufgaben, führen die Berechnungen aus und senden die Ergebnisse zurück an den Controller. Dort werden sie gesammelt und dann an den entprechenden Client zurückgegeben.
Konfiguration von Xgrid
Identifikation
Xgrid Controller müssen sich sowohl bei Clients als auch bei Agenten identifizieren.
Gesamt-Authentifizierung
Die Gesamt-Authentifizierung stellt die leistungsfähigste und flexibelste Form der Identifikationsprüfung dar. Bei dieser Methode wird die Open Directory- und Kerberos-Infrastruktur von Mac OS X.4 genutzt, um die Indetifikationsüberprüfung automatisch und ohne direkte Benutzereingaben auszuführen.
Controllerauswahl
Im wesentlichen ist es einfacher, wenn sich der Controller im selben Teilnetzwerk wie die Agenten und Standard-Clients befindet, sodass sich diese mithilfe vom mDNS erkennen können. Ist das nicht möglich, sollte der Controller über einen Server mit fester IP-Adresse und vollständig qualifiziertem DNS-Namen bereitstehen, damit ihn Agenten und Clients finden können.
Verwaltung des Controllers
Der Controller wird im Allgemeinen wie jeder andere unter Mac OS X Server ausgeführte Dienst verwaltet. Mit Xgrid Admin oder dem Xgrid Befehlszeilenprogramm wird die Warteliste auf dem Controller verwaltet.
Der erforderliche Verwaltungsaufwand hängt auch davon ab, wie viele Wartelisten vorhanden sind und wie viele Benutzer welche Arten von Aufträgen übermitteln. Die Xgrid Version von Mac OS X.4 verwendet eine einfache FIFO-Warteliste für die zeitliche Planung in jedem einzelnen Grid. Als Administrator benötigt man die Unterstützung der Benutzer des Grids, um eine angemessene Verteilung von Ressourcen unter mehreren Benutzern zu gewährleisten.
Einrichten von Xgrid in Server Admin
Mithilfe des Programms "Server Admin" kann der Xgrid Dienst gestartet und der Controller und die Agenten können auf dem Server seperat konfiguriert werden.
Starten und Stoppen von Xgrid
Öffnen des Programms "Server Admin"
Listenauswahl des gewünschten Dienstes "Xgrid"
Durch Klicken in "Dienst starten" oder "Dienst stoppen" wird der Status geändert.
Einrichten eines Xgrid Agenten
Öffnen des Programms "Server Admin"
Listenauswahl des gewünschten Dienstes "Xgrid"
Bestätigung auf "Einstellungen" in der unteren Tastenleiste
Bestätigung auf "Agent" in der oberen Tastenleiste
Bestätigung auf "Agenten-Dienst aktivieren"
Gewünschte Optionen für den Agenten auswählen
Controller festlegen im Einblendemenü oder direkte Eingabe des Controller-Namen
Optionsauswahl für die Indentifikationsprüfung aus dem Einblendemenü und Eingabe des Kennwortes
Das Kennwort muss beim Controller wie beim Agent das gleiche sein oder es wird eine Kerberos Authentifizierung verwendet
Bestätigung auf "Sichern", um Änderungen zu speichern und den Dienst neu zu starten
Einrichten eines Xgrid Controllers
Öffnen des Programms "Server Admin"
Listenauswahl des gewünschten Dienstes "Xgrid"
Bestätigung auf "Einstellungen" in der unteren Tastenleiste
Bestätigung auf "Controller" in der oberen Tastenleiste
Bestätigung auf "Controller-Dienst aktivieren"
Gewünschte Optionen für die Agenten auswählen
Optionsauswahl für die Indentifikationsprüfung aus dem Einblendemenü und Eingabe des Kennwortes
Bestätigung auf "Sichern", um Änderungen zu speichern und den Dienst neu zu starten
Bestätigung der Änderungen durch Neustart
Einrichten von Kennwörtern in Xgrid
Xgrid Komponenten können über Kennwörter oder Kerberos identifizieren oder keine Identifikationsüberprüfung verwenden.
Kennwortoptionen werden im Programm "Server Admin" als Tile der Konfigurationvon Agent und Controller festgelegt.
Identifikationsüberprüfung
Die im Programm "Server Admin" eingegebenen Controller-Kennwörter müssen den Kennwörtern für jeden Agenten und Client entprechen.
Wenn keine Identifikationsüberprüfung verwendet wird, können sich Agenten ohne Identifizierung mit dem Grid verbinden und Clients können zudem ohne Identifizierung Aufträge an das Grid senden.
Kerberos-Identifikationsüberprüfung (Gesamt-Authentifizierung). Bei Verwendung der Kerberos-Identifikationsüberprüfung für Agenten oder Clients muss der als Xgrid Controller dienende Server bereits für Kerberos konfiguriert sein, sich im gleichen Realm wie der Server befinden, der das KDC-System ausführt, und mit dem Open Directory-Master verbunden sein. Der Agent verwendet den Host-Prinzipal aus der Datei "/etc/krb5.keytab". Der Controller verwendet den Xgrid Dienst-Prinzipal aus der Datei "/etc/krb5.keytab".
Agenten. Der Agent bestimmt die Methode für die Identifikationsüberprüfung. Der Controller muss diese Methode und dieses Kennwort berücksichtigen. Wenn ein Agent mit einem standardmäßigen Kennwort konfiguriert wird, muss bei der Konfiguration des Controllers das gleiche Kennweort für die Agenten verwendet werden. Wurde für den Agenten die Gesamt-Authentifizierung angegeben, muss der entprechende Dienst-Prinzipal und die entprechende Host-Prinzipale verfügbar sein.
Clients. Wenn der Server als Controller eines Grids dient, muss die richtige Identifkationsüberprüfung für den Controller bekannt sein. Ein Client kann erst dann einen Auftrag an den Controller senden, wenn sein Kennwort dem des Controllers entspricht oder die jeweilligen Prinzipale für die Gesamt-Authentifizierung (Kerberos) verfügbar sind.
Verwalten von Grids und Aufrägen
Das Programm "Xgrid Admin"
Mit "Xgrid Admin" kann der Status eines Grids und dessen Aktivität, einschließlich der Anzahl der funktionierenden und verfügbaren Agenten, der verwendeten und verfügbaren Verarbeitungsleistung sowie der Anzahl der gerade ausgeführten und noch anstehenden Aufträge überprüft werden. Folgende Liste beschreibt den Umfang von "Xgrid Admin"
Hinzufügen oder Entfernen der zu verwaltenden Controller und Grids
Anzeigen einer Liste der Agenten in einem Grid sowie die für jeden Agenten vefügbare und verwendete CPU-Leistung
Hinzufügen oder Entfernen von Agenten in einem Grid
Anzeigen einer Liste der Aufträge in einem Grid sowie des Datums und der Uhrzeit der Übertragung der Auftrags, dess Fortschritts und der aktiven CPU-Leistung für den Auftrag
Löschen von Aufträgen in einem Grid
Neustarten eines Auftrags, der unterbrochen oder bereits vollständig ausgeführt wurde
"Xgrid Admin" bietet auf der grafischen Benutzeroberfläche Steuerelemente und Menübefehle für alle Optionen des Programms. Alle diese Verwaltungsaufgaben können auch mithilfe des Xgrid Befehlszeilenprogramms ausgeführt werden.
Statusanzeigen. Kleine farbige Kreise geben den Status von Controllern, Agenten und Aufträgen in Xgrid Admin an.
Durchsichtig = Controller oder Agent ist offline, Auftrag ist anstehend
Grau = Auftrag wird übertragen
Grün = Controller ist verbunden, Agent funktioniert, Auftrag wird ausgeführt
Gelb = Agent ist verfügbar, wird jedoch nicht ausgeführt
Rot = Agent ist nicht verfügbar, Auftrag ist fehlgeschlagen oder wurde abgebrochen
Blau = Auftrag ist vollständig
Verwalten eines Grids
Mit "Xgrid Admin" können ein oder mehrere Computing-Grids verwaltet werden. In diesem Kontext bezeichnet ein Grid eine feste Gruppe von Agenten mit eine deidizierten Warteliste. Pro Controller sind mehrere Grids möglich, bisher kann ein Agent jedoch nur zu einem einzigen Grid gehören. Agenten können nicht zwischen Grids bewegt werden, während ein Auftrag oder eine Aufgabe ausgeführt wird.
Verbinden mit dem Controller
"Xgrid Admin" verwenden, um eine verbindung zu einem Controller herzustellen. Der Controller muss einfahc in jedem Netzwerk von einem Administrator-Computer aus erreichbar sein, afu dem "Xgrid Admin" ausgeführt wird.
Nach dem Verbinden von "Xgrid Admin" mit dem Controller kann der Status des entsprechenden Grids angezeigt und die dazugehörigen Agenten und Aufträge verwaltet werden.
Verwalten von Aufträgen
Bei Überlegungen hinsichtlich der Strukturierung eines Auftrags sind möglicherweise einige Testläufe erforderlich, um die beste Vorgehensweise zur Fertigstellung des Auftrags zu ermitteln. Als Beispiel kann man eine einfache, kleine Version eines Auftrags erstellen und dabei entweder alle Aufgaben in einem Auftrag zusammenlegen oder den Auftrag in mehrere sehr kleine Aufträge unterteilen. Wenn beide Testaufträge unter ähnlichen Bedingungen im Grid ausgeführt werden, entsteht ein guter Eindruck davon, welche Vorgehensweise für die Bedingungen besser geeignet sind.
Quelle: http://images.apple.com/movies/euro/de/server/documentation/pdfs/2005/Xgrid_Admin_v10.4.pdf
|
|
|
|
|
|
|
|
|
|