ARCHIV 1999-2006

ARCHIV :: # 2969

Was wurde eigentlich aus...Zilla?

Autor: thyl - Datum: 11.05.2004

Zilla? Häh? Nie gehört? Tja, Zilla war eine weitere Technologie, die unter NeXTSTEP entwickelt worden ist und mit dem Betriebsystem geliefert worden ist. Sie ermöglichte die Clusterung von Computern zu einem Rechnerverbund. Nach dem Aufkauf von NeXT und der ersten Version für Macs "Rhapsody", verschwand auch Zilla von der Bühne. Aus? Vorbei? Wieder ein toller Ansatz in NeXTSTEP, der verschwunden ist; wie so vieles? Hatte ich auch gedacht, bis Anfang des Jahres. Da erschien auf einmal von der "Advanced Computing Group" bei Apple "XGrid", ebenfalls zur Clusterung von Rechnern, und es wurde gerüchtet, dass da das alte Zilla unter neuem Namen (und kräftig augemotzt) wieder aufgetaucht war. Nach sieben Jahren in der Versenkung; und immer noch innovativ. So weit vorneweg war NeXTSTEP.


Wie funktioniert XGrid? In einem XGrid-Cluster gibt es drei verschiedene Arten von Rechnern: Zunächst einmal den Client, an dem der Anwender sitzt, "Jobs" startet und die Ausgabe der Ergebnisse erfolgt. Dann einen "GridServer", der die Koordination der Aktivitäten durchführt; und schließlich die "Agenten", die die eigentlichen Rechenaufgaben erfüllen. Der Gridserver interpretiert die Anweisungen vom Client, zerlegt die Jobs gemäß den Vorgaben der Programmierung in einzelne Aufgaben und schickt die entsprechenden Befehle und Daten an die Agenten. Auf den Agenten eines Clusters läuft ein Gegenstück, vereinfacht gesagt eine Art UNIX-Shell, die in der Lage ist, Programme auf dem Rechner auszuführen und dabei diesen Programmen Argumente (z.B. Daten) zu übergeben. Die Anweisung zur Ausführung von Programmen erhält dieses Programm zusammen mit den Parametern vom XGridServer. Die Ergebnisse werden nicht, wie bei einer lokalen Sitzung, an die Ausgabe auf dem Bildschirm geleitet, sondern ganz einfach über das Netzwerk zurück an XGridServer, der sie an den Client weitergibt, wo sie angezeigt werden. Im Prinzip ist dies ähnlich wie bei einer telnet Sitzung, wo man an einem Rechner Befehle eingibt, die an einem anderen Rechner ausgeführt werden und dann auf dem Rechner, an dem man sitzt, angezeigt werden. Nur eben ohne die Anzeige, denn diese erfolgt erst auf dem Client-Rechner.

In guter neuer Apple-Tradition basiert XGrid auf Internet-Standards, nämlich BEEP und Rendevouz. Damit erfolgt das Auffinden von Rechnern für den Cluster automatisch. Sicherheitsaspekte (Passwörter) und Vorgaben zum Teilen der Rechenleistung sind ebenfalls einstellbar. Xgrid scheint einfach zu bedienen zu sein; bei UNIX-Kommandos/Programmen kann man anscheinend ziemlich einfach eine Clusterung vornehmen; nur die Verteilung der Aufgaben muss speziell programmiert werden; bei Ausgaben in Zeichenform (wie bei der Konsole) könnte vielleicht sogar der als Beispiel XGrid beiliegende "Shell"-Plug-In verwendet werden.

Man muss ganz klar die Beschränkungen von XGrid sehen. Deutlich wird dies beim Vergleich mit dem Cluster der Virginia Tech Uni ("Big Mac"). Dort kommt als Verbindung Infiniband zum Einsatz. Dies gestattet nicht nur wesentlich kürzere Latenzzeiten als Ethernet, sondern auch einen Direktzugriff auf den Hauptspeicher anderer Rechner im Cluster. Bei XGrid wurschtelt jeder Rechner mehr oder weniger vor sich hin. An Daten, die auf anderern Rechnern erzeugt worden sind, kommt er nicht direkt heran. Er bekommt Parameter und gibt Ergebnisse zurück; und das immer nur vom/an den Server.

Diese Beschränkungen können vielleicht auch der Grund sein, warum nach dem Technologie-Preview Anfang Januar keine reifere Version von XGrid mehr gekommen ist. XGrid ist der kleinste Schritt auf dem Weg zum Cluster:
XGrid: Verteiltes Rechnen mit verteilten Daten; Prozesse werden verteilt
MPI: Verteiltes Rechnen mit gemeinsamen Daten; Prozesse werden verteilt
Kernel: Gemeinsames Betriebsystemimage mit einheitlichen Daten; Threads werden verteilt.

Allerdings steht eine API zur Verfügung, die das unterliegende Protokoll für (Cocoa?) Anwendungen verfügbar macht. Es wäre also theoretisch auch möglich, auf einer Thread-Ebene Rechenaufgaben erledigen zu lassen, z.B. indem ein Bildverarbeitungsprogramm für einen Teil eines Bildes das entsprechende Bildverarbeitungsprogramm auf einem anderen Rechner anweist, den dafür zuständigen Thread mit diesen Bilddaten zu starten. Vermutlich kommt man also durch spezielle Anpassung der Programme auch bis auf eine Thread-Ebene herunter, aber da spekuliere ich.

Für den Kernel gibt es leider bislang von Apple nur Zwei-Prozessor-Lösungen in einem Rechner, obwohl mit Mach auch eine Kernel-Level-Verclusterung von mehreren Rechnern möglich wäre.

Mehr Infos mit kritischen: Anmerkungen.
XGrid Info und Download: Hier

Kommentare

Distributed Objects

Von: Thilo Ettelt | Datum: 11.05.2004 | #1
Vielleicht helfen ja Distributed Objects
http://developer.apple.com/documentation/Cocoa/
Conceptual/DistrObjects/index.html#//
apple_ref/doc/uid/10000102i
das ganze auf Thread-Ebene zu hiefen?


Gruß, Thilo

everybody's cluster ?

Von: RoB*-) | Datum: 11.05.2004 | #2
Aus Xgrid wurde Qmaster - dazu ein etwas längeres Zitat :
>>
"Geschüttelt: Shake 3.5, die auf der NAB vorgestellte neue Version von Apples beliebter Compositing-Software, enthält ein schnuckeliges Feature, das zu näherer Betrachtung nötigt - Qmaster, eine dicke, fette Cluster-Funktion. Mit ihr ist es möglich, die zeitraubende Renderei auf diverse vernetzte Macs zu verteilen - etwa G5-Power Macs und Xserves, aber eigentlich auch PowerBooks und andere "kleinere" Apple-Maschinen. Wie das US-Mac-Insiderportal Think Secret nun berichtet, plant Apple offensichtlich, die Qmaster-Technik (mit der übrigens auch Maya-Rendering unterstützt wird) in all seine Pro-Video-Anwendungen einzubauen. Angedacht sei Qmaster-Support in Final Cut Pro HD (Schnitt), DVD Studio Pro (DVD-Mastering) sowie Motion (Animation) - offenbar kostenlos für bisherige User. So könnte man beispielsweise einen Mac zum Schnitt benutzen, während ein anderer rendert - und gleichzeitig die während des Schnitts freien Kapazitäten mitnutzen. So würde ein großes Manko bisheriger Rechentechnik wegfallen: Dass sie die Hälfte der Zeit einfach nur "herumsteht". Im wissenschaftlichen Bereich nutzt Apple bekanntlich sein Grid-Werkzeug Xgrid - Qmaster scheint eine Abwandlung hiervon zu sein. Wann Qmaster in andere Video-Tools neben Shake Einzug hält, ist bislang noch unklar."
<<

Quelle macnews.morgen [Link]

Zusatzinfo:

Von: booster | Datum: 12.05.2004 | #3
von XGrid gibts seit längerem eine Technologie Preview 2 ( [Link] ) inklusive MPI Support ( Info dazu: [Link] )

Soweit ich mich erinnern kann war im Readme der ersten Preview ein eindeutiger Hinweis auf die Entwicklung aus Zilla drin. Allerdings bin ich mir da nicht ganz sicher, und in der aktuellen Version finde ich davon nichts mehr (ich könnte mich allerdings auch täuschen..)

servus
booster

MacZilla!

Von: Mac since 1994 | Datum: 09.06.2004 | #4
...ja, das war noch Shareware - SCNR;-)