Rechenzentrum

Die Zentralrechner (zwei 19-Zoll IPC Racks)
In einem eigens für das „Rechenzentrum“ angemieteten Büroraum stehen die zwei Zentralrechner, die auch für das Bryceforum genutzt werden können. Das linke System dient dabei als Steuerconsole und Massenspeicher, das rechte System stellt die Rechrenleistung auf mehreren Subsystemen zur Verfügung. Die beiden IPC-Multiprozessor Cluster (RSX1000 und TMC/4IPX) stellen eine für private Verhältnisse enorme Rechenleistung zum Rendern zur Verfügung. Bis zu 24 virtuelle PC können hier simuliert werden. Eine neue Backplane mit 16 SLOT-CPU Cards mit je einem AMD K7-800 Prozessor und zwei DEC-ALPHA Prozessoren mit 417MHZ als Steuereinheiten mit LINUX als Betriebssystem. Auf der RAM-CARD befinden sich momentan 2048 MB SDRAM.

Zentrale Organistation und Verschaltung (Stand 31.10.2000)

 

Die BRYCEFORUM Arbeitsplattform
Arbeitsstationen

Von insgesamt 6 Monitoren kann das Gesamtsystem, welches natürlich nicht ausschließlich zum Rendern genutzt wird, kontrolliert werden. Neben zwei Statusmonitoren (Für das UNIX und NT-Serversystem) stehen 3 Monitore zur Verfügung, auf welchen beliebige Prozesse aus dem Primär- oder Sekundärsystem abgebildet werden können. Die Bedienung sämtlicher Systeme erfolgt über einen kaskadierbaren 64 fach – CPU-Switch.

Einsatzgebiete und Leistungsdaten

Haupteinsatzgebiete des MP-Systems

  1. Mathematische Berechnungen für Dynamische Modelle und Simulationen (Ökonomische Modelle, Simulation komplexer Systeme, Simulation chaotischer Systeme)
  2. Statistische Auswertungen großer Datenbanken (StBuA, CVS, IMS, Uni FFM)
  3. 3D-Animation und Ray-Tracing / Computergenerierte Kunst / Multireflexionsgrafiken / Berechnung von Fraktalen
  4. Videoschnitt und Videoanimation (in Broadcasting Qualität)
  5. Softwareentwicklung, Datenbankprogrammierung
  6. Physikalische Simulationen (z.B. Mehrkörperprobleme)

Leistungsdaten des MP-Systems

  1. 32 Prozessoren, davon 18 im RSX1000, 12 im IPC98 und 2 Steuerprozessoren für den UNIX-Server
  2. 601 Gigabyte Massenspeicher (inkl. NOVELL Server)
  3. 2048 MB RAM im Hauptsystem, 512 MB RAM im Steuersystem
  4. 16 virtuelle IPC simulierbar, kaskadierbar über IPC zu insgesamt 24
  5. Theoretische Rechenleistung des Hauptsystems: 31,7 Gigaflops*
  6. 67 Lüftungssysteme, 2,56 Kilowatt Stromverbrauch bei Vollast (erstetzt die Heizung im Winter problemlos)

* Gigaflop= Milliarden Floatingpoint Operationen pro Sekunde. Ein FLOP ist eine Berechnung, die mit einer Gleitkommazahl ausgeführt wird.

Einige Anmerkungen zur Vorgehensweise auf dem IPC-Cluster
Bryce ist ja grundsätzlich nicht multiprozessorfähig, d.h. es kann immer nur singulär auf einem PC laufen und nutzt weitere Prozessoren nicht aus. Allerdings sind die üblichen Prozesse, die Bryce vollziehen soll beinahe beliebig parallelisierbar. Ein komplexes Bild z.B. mit 1024×768 Pixeln kann entweder als einzelner Prozeß laufen, der insgesamt 786432 Bildpunkte berechnet, oder aber beispielsweise als vier Subprozesse, die je 196608 Bildpunke berechnen. Auch wenn nicht jeder Prozeß in derselben Zeit beendet wird (manche Ausschnitte benötigen mehr Rechenzeit, obwohl sie von der Zahl der Bildpunkte gleich groß sind) ist es doch möglich, mit der Unterteilung viel Zeit zu sparen. Dabei dauert das Gesamtprozedere dann so lange, wie der langsamste der vier Einzelprozesse. Ähnlich gut lassen sich dann natürlich auch Filmsequenzen unterteilen. Mein System besitzt (wie oben beschrieben) eine Backplane mit 12 virtuellen PC, denen je ein Intel Pentium II-450 Prozessor zur Verfügung steht und welche sich 2048MB Hauptspeicher teilen. Damit habe ich rechnerisch etwa 5,4 Gigahertz P-II-Rechenleistung zur Verfügung, die natürlich nur ein theoretischer Wert sind. Im Schnitt kommen davon je nach Art des Renderns zwischen 4 und 5 Gigahertz zur Geltung – also im Schnitt etwa das acht- bis zehnfache eines normalen PC. Der Performancevorteil existiert natürlich nur beim reinen Rendern – während der Konstruktionsphase nutze ich einen normalen 750Mhz AMD-Athlon-Prozessor und 512 MB Hauptspeicher. Das genügt aber vollauf. Wenn es dann ans Rendern geht, muß ich erst mal entscheiden, ob des Rendern über den Cluster notwendig ist, oder nicht. Ich habe mich entschieden, alle Prozesse, die <1h benötigen nicht auf das MP-System auszulagern, sondern sie über den Standard PC laufen zu lassen. Liegt die „etimated calculation time“ von Bryce aber weitaus höher (z.B. 38 Stunden), dann lohnt die Auslagerung natürlich sehr. Ein von mir selbst geschriebenes NT-Programm (ich nenne es „BryceMaster 14*“) übernimmt dann die Steuerung der Rechenanlage über das Interne Netzwerk und beginnt mit der Verteilung der Prozesse. Bei einem Film werden die Brycedateien so umgeschrieben, daß jeder Rechner im Cluster genau 1 Bild des Films berechnet – in der Primärphase also genau 12 Bilder los geschickt werden. Dazu bedarf es wie gesagt einer Änderung in den Quelldateien des Brycemodells. Die Parameter der Animation (welche Bilder berechnet werden sollen (Range)) müssen bei jedem der Prozesse angepaßt werden – das macht meine Software automatisch und beauftragt Bryce dann über eine Windows Call-Funktion genau dieses Bild zu berechnen und das Bild anschließend unter einem vorgegebenen Namen (z.B. PROJ1-001.BMP) zu Speichern und dann das Programm Bryce zu beenden. Sobald der Prozess vollkommen abgeschlossen ist ergeht eine Meldung an das Verteilerprogramm (TSR-Überwachung im Hintergrund), welches dann Bild Nr.13 an den Ersten Cluster PC schickt, welcher mit seinem Bild fertig wurde. Bei einer längeren Filmsequenz kann also jeder Cluster auch mehrere Bilder hintereinander berechnen. Die auf dem Netz abgelegten Ergebnisse müssen dann nur noch über einen weiteren Programmteil zur AVI-Sequenz zusammengefügt werden – fertig. Reine Einzelbilder werden bei mir grundsätzlich automatisch in 12 Ausschnitte zerlegt und dann berechnet – hier wird jeder IPC-Rechner nur einmal genutzt. Mehr Aufwand lohnt dabei auch nicht. Die Zeitverluste für das jeweilige Aktivieren und Deaktivieren von Bryce sind im Vergleich zum Gewinn undramatisch. Man mag mir vorwerfen, daß das ein wenig „EDV-zu Fuss“ ist, aber da Bryce leider keine Kommandozeilenbefehle entgegennimmt, scheint mir dieser (umständliche) Weg der einzig gangbare zu sein. Jedenfalls muss ich mich dabei um nichts kümmern und meine 38h Rendersequenz ist meist nach drei bis vier Stunden schon fertig. Das genügt mir! Ich hoffe, damit konnte ich einen kleinen Einblick in die Vorgehensweise verschaffen. *ist schon die 14te Version