POV-Ray : Newsgroups : povray.general : JCGrid (a tools for POVRay rendering on clusters) Server Time
15 Nov 2024 23:23:30 EST (-0500)
  JCGrid (a tools for POVRay rendering on clusters) (Message 1 to 10 of 15)  
Goto Latest 10 Messages Next 5 Messages >>>
From: David Bucciarelli
Subject: JCGrid (a tools for POVRay rendering on clusters)
Date: 13 May 2004 10:24:15
Message: <40a3850f$1@news.povray.org>
I have written a tool for POVRay rendering on clusters. The name of the 
tool is JCGrid. Thanks to JCGrid, you can use as many 
Workstations/PCs/Macs as you like for the rendering of a single POVRay 
image.

It doesn't require a any patch for POVRay and it works running POVRay 
like an external command. Any file required for the rendering is 
transferred between the nodes of the grid by JCGrid. Once you have setup 
a JCGrid, it can be used by many user even at the same time. You can 
look at a POVRay JCGrid like a rendering service. Check the demos page 
for some interesting performance comparison.

The homepage is at http://jcgrid.sourceforge.net/
You can download sources and binaries from: 
http://sourceforge.net/project/showfiles.php?group_id=109146

Just to give you a raw idea of the kind of performance results you 
obtain by using JCGrid:

Rendering time (Plants.pov available at http://www.f-lohmueller.de/ 
image 1280x1024 AA enabled)

POVRay
1xAthlon XP 1800+ (BogoMIPS=3014)
Total rendering time = 01:58:29 (184pixel/sec) (1.0 speed-up)
Total Grid BogoMIPS = 3014 (1.0 speed-up)
Total Grid Index = 1.00 speed-up

Grid 1 with JCGrid(128 fragment size)
[1xAthlon XP 1800+ (BogoMIPS=3014)] => Server+Client+1xWorker
Total rendering time = 01:26:07 (253pixel/sec)
Total Grid BogoMIPS = 3014 (1.0 speed-up)
Total Grid Index = 0.89 speed-up

Grid 2 with JCGrid(128 fragment size)
[1xAthlon XP 1800+(BogoMIPS=3014)] => Server+Client+1xWorker
[2xAthlon MP 2800+(BogoMIPS=2x4246)] => 2xWorker
Total rendering time = 00:17:40 (1235pixel/sec)
Total Grid BogoMIPS = 11506 (3.81 speed-up)
Total Grid Index = 4.34 speed-up

Grid 3 with JCGrid(128 fragment size)
[1xAthlon XP 1800+(BogoMIPS=3014)] => Server+Client+1xWorker
[2xAthlon MP 2800+(BogoMIPS=2x4246)] => 2xWorker
[2xAthlon MP 2800+ (BogoMIPS=2x4246)] => 2xWorker
Total rendering time = 00:10:20 (2110pixel/sec)
Total Grid BogoMIPS = 19998 (6.63 speed-up)
Total Grid Index = 7.42 speed-up

Grid 3b with JCGrid(64 fragment size)
[1xAthlon XP 1800+(BogoMIPS=3014)] => Server+Client+1xWorker
[2xAthlon MP 2800+(BogoMIPS=2x4246)] => 2xWorker
[2xAthlon MP 2800+ (BogoMIPS=2x4246)] => 2xWorker
Total rendering time = 00:11:13 (1946pixel/sec)
Total Grid BogoMIPS = 19998 (6.63 speed-up)
Total Grid Index = 6.85 speed-up

NOTE: JCGrid is in a very early stage of the development so be patience 
if the documentation is incomplete or if the tool is untested (any help 
is wellcome).

David Bucciarelli
Pisa
Italy


Post a reply to this message

From: Christoph Hormann
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 13 May 2004 12:20:02
Message: <c8073v$od3$1@chho.imagico.de>
David Bucciarelli wrote:
> I have written a tool for POVRay rendering on clusters. The name of the 
> tool is JCGrid. Thanks to JCGrid, you can use as many 
> Workstations/PCs/Macs as you like for the rendering of a single POVRay 
> image.
> 
> It doesn't require a any patch for POVRay and it works running POVRay 
> like an external command. Any file required for the rendering is 
> transferred between the nodes of the grid by JCGrid.
> [...]

Very well but you miss the most important information: *how* are the 
files transferred between the nodes?

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 01 May. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: David Bucciarelli
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 14 May 2004 03:22:14
Message: <40a473a6@news.povray.org>
Christoph Hormann wrote:
> David Bucciarelli wrote:
> 
>> I have written a tool for POVRay rendering on clusters. The name of 
>> the tool is JCGrid. Thanks to JCGrid, you can use as many 
>> Workstations/PCs/Macs as you like for the rendering of a single POVRay 
>> image.
>>
>> It doesn't require a any patch for POVRay and it works running POVRay 
>> like an external command. Any file required for the rendering is 
>> transferred between the nodes of the grid by JCGrid.
>> [...]
> 
> 
> Very well but you miss the most important information: *how* are the 
> files transferred between the nodes?

A working directory and a session name is defined each time you run a 
JCGrid client. The client sends the list of files/subdirectories in the 
working directory with MD5 checksum and size to the server.

The server checks the cache and if the file/subdirectory doesn't exists 
or if the MD5 checksum doesn't match, it requires to the client to send 
the entire file.

There is exactly the same kind of interaction between the server and all 
the workers. The client and all the workers are connected to the server 
by using sockets.

Only required files will be transfered and only modified files will be 
transferred between different runs with the same session name.

It works very well with POVRay: you can put all the files of a scene in 
a directory, use that directory like the JCGrid client working directory 
and run the rendering. You can modify some file and rerun the rendering 
(and only modified files will be transferred).

I hope this has answered to your question.

David Bucciarelli
Pisa
Italy


Post a reply to this message

From: Christoph Hormann
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 14 May 2004 04:05:02
Message: <c81uit$21i$1@chho.imagico.de>
David Bucciarelli wrote:
> [...]
> 
> I hope this has answered to your question.
> 

No, i was not asking for the caching mechanism, i was interested in 
information about the method of *transport* of data between the nodes. 
I assume some kind of network protocol.  Are there 
authentification/encryption techniques used (would be important for use 
via internet)?

Christoph

-- 
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 01 May. 2004 _____./\/^>_*_<^\/\.______


Post a reply to this message

From: David Bucciarelli
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 14 May 2004 05:34:38
Message: <40a492ae$1@news.povray.org>
Christoph Hormann wrote:
> David Bucciarelli wrote:
> 
>> [...]
>>
>> I hope this has answered to your question.
>>
> 
> No, i was not asking for the caching mechanism, i was interested in 
> information about the method of *transport* of data between the nodes. I 
> assume some kind of network protocol.  Are there 
> authentification/encryption techniques used (would be important for use 
> via internet)?


The client and all the workers are connected to the server by using 
TCP/IP sockets. The default port 10101 is used by the server to receive 
client connections and default port 10102 is used to receive worker 
connections. You can use command line options in order to change default 
ports. The clients and workers can be beyond a NAT. If the server is 
beyond a NAT, you have to map used ports to the server.

The JCGrid communication protocol between client/server/worker uses Java 
Object Serialization in order to exchange messages. Exchanged data can 
be compressed (GZIP) by using a command line option in order to save 
bandwidth. SSL encryption can be enabled by using a command line option 
too. The access to the server can be restricted by using a password.

You can setup public grid over Internet with anonymous access. People 
can donate their CPU time and use other user's CPU like in P2P network.

NOTE: JCGrid is still in a very early stage of the development and 
setting up a public anonymous Grid is too dangerous. Enabling encryption 
is untested too and require some more complex setup (creating the Java 
keystore, etc.).

Any other question ?

David Bucciarelli
Pisa
Italy


Post a reply to this message

From: David Bucciarelli
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 29 May 2004 11:35:59
Message: <40b8addf$1@news.povray.org>
David Bucciarelli wrote:
> I have written a tool for POVRay rendering on clusters. The name of the 
> tool is JCGrid. Thanks to JCGrid, you can use as many 
> Workstations/PCs/Macs as you like for the rendering of a single POVRay 
> image.
< [...]
> The homepage is at http://jcgrid.sourceforge.net/
> You can download sources and binaries from: 
> http://sourceforge.net/project/showfiles.php?group_id=109146

Version 0.03 is now available.

Change log since 0.02: JCGridWorker can now run multiple workers (useful 
on SMP); Investigated the "Failed to execute" problem under RedHat 9.0; 
Grid statistics can be accessed by using the GUI; Grid statistics are 
now available; Grid administration mechanism is now available; New class 
design in the server package; The GUI client for POVRay now supports 
partial image rendering; Written a GUI client for POVRay.

Since 0.01:  Written installation instruction for Windows; Will 
Lloyd-Davies has written the scripts for using JCGrid with POVRay under 
Windows; Docs are now included in binary releases.

David Bucciarelli
Pisa
Italy


Post a reply to this message

From: Dennis Miller
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 31 May 2004 10:20:22
Message: <40bb3f26$1@news.povray.org>
Hi, How well will this work for animations across, say 150 computers?
Thanks,
Dennis
"David Bucciarelli" <dav### [at] tinit> wrote in message
news:40b8addf$1@news.povray.org...
> David Bucciarelli wrote:
> > I have written a tool for POVRay rendering on clusters. The name of the
> > tool is JCGrid. Thanks to JCGrid, you can use as many
> > Workstations/PCs/Macs as you like for the rendering of a single POVRay
> > image.
> < [...]
> > The homepage is at http://jcgrid.sourceforge.net/
> > You can download sources and binaries from:
> > http://sourceforge.net/project/showfiles.php?group_id=109146
>
> Version 0.03 is now available.
>
> Change log since 0.02: JCGridWorker can now run multiple workers (useful
> on SMP); Investigated the "Failed to execute" problem under RedHat 9.0;
> Grid statistics can be accessed by using the GUI; Grid statistics are
> now available; Grid administration mechanism is now available; New class
> design in the server package; The GUI client for POVRay now supports
> partial image rendering; Written a GUI client for POVRay.
>
> Since 0.01:  Written installation instruction for Windows; Will
> Lloyd-Davies has written the scripts for using JCGrid with POVRay under
> Windows; Docs are now included in binary releases.
>
> David Bucciarelli
> Pisa
> Italy


Post a reply to this message

From: David Bucciarelli
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 31 May 2004 11:26:44
Message: <40bb4eb4@news.povray.org>
Dennis Miller wrote:
> Hi, How well will this work for animations across, say 150 computers?

The larger grid I have ever used until today includes 8 nodes: 3xDual 
Athlon SMP and 2xPC. It is something very small compared to one with 150 
nodes so the true answer is: I don't know :-)

Anyway, I don't see why it shouldn't work. The performances of a so 
large grid will be highly related to the amount of data (.pov files, 
etc.) JCGrid needs to transfer between the server and the nodes for the 
rendering.

JCGrid uses a centralized model (1 server, many workers) and this model 
can not scale up infinitely. However the limit can be very high for a 
time consuming task like rendering.

In a grid with 150 nodes, if the rendering of a single image fragment 
requires 3 minutes, the server will have to handle something like 1 or 2 
requests for seconds (a low load for a good workstation). More time 
requires the rendering of the single image fragment and less load the 
server has to handle.

I would really like to run a test on a 150 nodes grid.

David Bucciarelli
Pisa
Italy


Post a reply to this message

From: stephen parkinson
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 1 Jun 2004 03:38:15
Message: <40bc3267@news.povray.org>
David Bucciarelli wrote:
> David Bucciarelli wrote:
> 
>> I have written a tool for POVRay rendering on clusters. The name of 
>> the tool is JCGrid. Thanks to JCGrid, you can use as many 
>> Workstations/PCs/Macs as you like for the rendering of a single POVRay 
>> image.
> 
> < [...]
> 
>> The homepage is at http://jcgrid.sourceforge.net/
>> You can download sources and binaries from: 
>> http://sourceforge.net/project/showfiles.php?group_id=109146
> 
> 
> Version 0.03 is now available.
> 
i seem to have a couple of minor problems,

first was a classpath error, but did a re-install of j2sdk1.4.2, seems 
to have gone now (rtfm next time) - works now on dual p3-1ghz, now to 
fix the xeon :-)
xeon now ok

second is
edited the .sh scripts for server/worker/client and fired them off

box sizes in gui are rather squished, in particularly the host and 
session name boxes

using the gui to select an ini file, browse to /usr/share/povray-3.5/ini 
and select allscene.ini, gives "-3.5/ini/allstill.ini" on clicking ok

should give "/usr/share/povray-3.5/ini/allscene.ini"

another silly suggestion, check if JAVA_HOME is none null before 
configuring as /opt.... ?

looking better

in the scripts i see the server option as
  -server org.homedns.dade.jcgrid.cmd.povray.JCGridServer

is there an explanation of what this does?
should it be something different on home network of 
[amd32|xeon|dual|zmemw16].lan.uk hosts

on a network do i only run a server on one host or on all? i suspect one
is the answer

a thought occurs that this is the -server field, so if i run 
jcgrid-server on xeon.lan.uk -  if i then run server on other hosts, do 
i need
something along lines of
-server xeon.lan.uk or export JCGRID_SERVER_NAME=xeon.lan.uk

where does the rest of it "jcgrid.cmd.povray.JCGridServer" come from
or is it specific for your setup?


ok i have three machines for doing this, povray available on all

xeon.lan.uk - best box
amd32.lan.uk
zmemw16.lan.uk

server on xeon or all?
client or clients on each ?
workers on all?

any chance of a structure diagram for such a setup, useful for a 
tutorial :-)

slightly confused set of questions i'm afraid, but i'm slightly confused
as to the topology(sp?)/structure of this

stephen


Post a reply to this message

From: David Bucciarelli
Subject: Re: JCGrid (a tools for POVRay rendering on clusters)
Date: 1 Jun 2004 10:24:39
Message: <40bc91a7@news.povray.org>
stephen parkinson wrote:
> David Bucciarelli wrote:
>> Version 0.03 is now available.
>>
> i seem to have a couple of minor problems,
> 
> first was a classpath error, but did a re-install of j2sdk1.4.2, seems 
> to have gone now (rtfm next time) - works now on dual p3-1ghz, now to 
> fix the xeon :-)
> xeon now ok
> 
> second is
> edited the .sh scripts for server/worker/client and fired them off
> 
> box sizes in gui are rather squished, in particularly the host and 
> session name boxes

This could be related to your system default font (larger than mine I 
guess). Anyway the default window size should be larger and it will be 
larger in next release. BTW, you can resize the window.

> using the gui to select an ini file, browse to /usr/share/povray-3.5/ini 
> and select allscene.ini, gives "-3.5/ini/allstill.ini" on clicking ok
> 
> should give "/usr/share/povray-3.5/ini/allscene.ini"

This one looks like a bug, I will check.

> another silly suggestion, check if JAVA_HOME is none null before 
> configuring as /opt.... ?
> 
> looking better
> 
> in the scripts i see the server option as
>  -server org.homedns.dade.jcgrid.cmd.povray.JCGridServer
> 
> is there an explanation of what this does?

"-server" is an option of the java virtual machine. It should give some 
performace advantage for server-like applications. It is an 
optimization, it is not strictly required.

"org.hmedns.dade.jcgrid.cmd.povray.JCGridServer" is the name of the 
class (a file with Java code) to run (if you unzip the jcgrid.jar 
archive, you will find a file named 
org/homedns/dade/jcgrid/cmd/povray/JCGridServer.class")

The two keywords are not related.

> should it be something different on home network of 
> [amd32|xeon|dual|zmemw16].lan.uk hosts

No, it is just the name of a file (it is the java way to name packages). 
It is not related to the workstation where you run the software.

> ok i have three machines for doing this, povray available on all
> 
> xeon.lan.uk - best box
> amd32.lan.uk
> zmemw16.lan.uk
> 
> server on xeon or all?
> client or clients on each ?
> workers on all?

I suggest you:

- One Server on Xeon;
- Workers on all (don't forget to set JCGRID_WOKER_CPU=4 on dual xeon 
and JCGRID_WOKER_CPU=2 on dual PentiumIII);
- Clients on any host where you want to use JCGrid/POVRay for rendering.

Run a client and the rendering will be splitted among the 7 workers 
available on your grid.

Let me know if it is still unclear.

David Bucciarelli
Pisa - Italy


Post a reply to this message

Goto Latest 10 Messages Next 5 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.