next up previous contents
Next: Die Berechnung von mit Up: PVM-Povray Previous: PVM-Povray   Contents

Ein Beispielbild

Die PVM-Source Strike.pov (siehe auch [26]) ist eine Darstellung einer Seeschlacht. Die Quelle ist ein 642 Zeilen langes Textdokument, in welches diverse Dateien eingebunden sind. Der auf dem Bild (Abbildung 3, Seite [*]) dargestellte Rauch und die Reflexionen auf dem Wasser (insbesondere auf den Wellen) sind sehr aufwendig zu berechnen.

Figure 3: Strike.pov, mit PVMPov gerendert.
\includegraphics[width=15cm]{images/strike.eps}

Das Rendern des Bildes auf einem 28 Node Cluster ergibt etwa folgende, stark verkürzte Ausgabe:

s861002@lsvr03:~/pvm3/bench/krieg > pvmpov Strike.ini +IStrike.pov +v
Persistence of Vision(tm) Ray Tracer Version 3.1g.Linux.gcc
  This is an unofficial version compiled by:
  Jakob Flierl <flierl@luga.de> - PVMPOV Version 3.1e.2
  The POV-Ray Team(tm) is not responsible for supporting this version.
Copyright 1999 POV-Ray Team(tm)
Initializing PVMPOV
  Spawning pvmpov with 29 PVM tasks on 29 hosts...
  ...29 PVM tasks successfully spawned.
  Waiting up to 120s for first slave to start...
  Slave 0 successfully started.
Parsing Options
  Input file: Strike.pov (compatible to version 3.1)
  Remove bounds........On  Split unions........Off
  Library paths: /usr/share/povray31 /usr/share/povray31/include
Output Options
  Image resolution 800 by 600 (rows 1 to 600, columns 1 to 800).
  Output file: Strike.png, 24 bpp PNG
  Render Stream to console........On
  Statistics Stream to console....On
  Warning Stream to console.......On

Starting frame 0...
 Slave 1 at wks70 successfully started.
 Slave 2 at wks26 successfully started.
 Slave 3 at wks38 successfully started.
 Slave 4 at wks04 successfully started.
 Slave 5 at wks24 successfully started.
 Slave 6 at wks09 successfully started.
 Slave 7 at wks44 successfully started.
 Slave 8 at wks73 successfully started.
 Slave 9 at wks19 successfully started.
 Slave 10 at wks07 successfully started.
 Slave 11 at wks25 successfully started.
 Slave 12 at wks08 successfully started.
 Slave 13 at wks17 successfully started.
 Slave 14 at wks05 successfully started.
 Slave 15 at wks53 successfully started.
 Slave 16 at wks20 successfully started.
 Slave 17 at wks21 successfully started.
 Slave 18 at wks02 successfully started.
 Slave 19 at wks14 successfully started.
 Slave 20 at wks30 successfully started.
 Slave 21 at wks18 successfully started.
 Slave 22 at wks22 successfully started.
 Slave 23 at wks39 successfully started.
 Slave 24 at wks13 successfully started.
 Slave 25 at wks15 successfully started.
 Slave 26 at wks54 successfully started.
 Slave 27 at wks48 successfully started.
 Slave 28 at wks23 successfully started.
89.47 of blocks complete.Not using wks04 for reassignment (66%)e 0).
90.11 of blocks complete.
Slave at wks04 has exited.
98.68 of blocks complete.   600 of  600 lines finished (in frame 0).
Finishing frame 0...rtw. 600


Waiting for remaining slave stats.


PVM Task Distribution Statistics:
           host name  [ done ] [ late ]           host name  [ done ] [ late ]
              lsvr03  [12.78%] [11.67%]               wks70  [11.20%] [ 8.75%]
               wks30  [ 0.37%] [ 0.11%]               wks07  [ 5.33%] [ 6.67%]
               wks08  [ 3.63%] [ 2.72%]               wks05  [ 2.35%] [ 0.00%]
               wks39  [ 2.35%] [ 0.00%]               wks44  [ 8.80%] [ 6.93%]
               wks54  [ 1.28%] [ 0.00%]               wks14  [ 3.28%] [ 2.43%]
               wks13  [ 3.04%] [ 0.61%]               wks15  [ 0.21%] [ 0.11%]
               wks04  [ 2.24%] [ 0.00%]               wks02  [ 1.92%] [ 0.00%]
               wks17  [ 0.59%] [ 0.05%]               wks18  [ 0.80%] [ 0.00%]
               wks19  [ 2.13%] [ 0.00%]               wks20  [ 1.92%] [ 0.00%]
               wks21  [ 4.91%] [ 2.75%]               wks22  [ 0.11%] [ 0.05%]
               wks23  [ 1.44%] [ 0.05%]               wks24  [ 1.92%] [ 0.00%]
               wks25  [ 1.49%] [ 0.00%]               wks26  [ 3.84%] [ 1.65%]
               wks38  [10.35%] [ 6.56%]               wks73  [ 6.45%] [ 8.59%]
               wks48  [ 1.28%] [ 0.00%]               wks53  [ 1.92%] [ 0.00%]
               wks09  [ 2.08%] [ 0.00%]
Time For Trace:    5 hours 31 minutes  27.0 seconds (19887 seconds)
    Total Time:    5 hours 31 minutes  27.0 seconds (19887 seconds)
s861002@lsvr03:~/pvm3/bench/krieg >

Zuerst werden die einzelnen Nodes initialisiert. Danach werden die ersten Rechenaufgaben an die Slaves verteil. Am Schluss gibt es eine ausführliche Auswertung der Resultate, indem angezeigt wird, wer wieviel Prozent der Arbeit erledigt hat. Daraus erkennt man auch, welche Rechner schneller sind. Die wks38 ist zum Beispiel ein PII 35014 und hat deshalb bedeutend mehr Arbeit erledigt. Der lsvr03 (der Server) hat nicht viel mehr berechnet, da er die Arbeit noch aufteilen musste. wks70 (auch ein PII 350) war die einzige Maschine, die mit 100MBit ans Netzwerk angeschlossen war, weshalb sie noch mehr (11.2%) erledigt hat als wks38 (10.35%). Dies zeigt, dass man die Leistung noch etwas optimieren könnte, wenn man die Bandbreite des Netzwerks erhöhen würde.

Wenn man dieselbe Berechnung nur mit dem Server (PIII 600Mhz, 256MB) ausführt, dauert es beinahe doppelt so lange:

Time For Trace:   11 hours 39 minutes   3.0 seconds (41943 seconds)
    Total Time:   11 hours 39 minutes   3.0 seconds (41943 seconds)


next up previous contents
Next: Die Berechnung von mit Up: PVM-Povray Previous: PVM-Povray   Contents
Manfred Stock 2003-02-07