POV-Ray : Newsgroups : povray.binaries.utilities : Platform Independent Render Farm Manager? : Re: Platform Independent Render Farm Manager? Server Time
26 Apr 2024 10:03:12 EDT (-0400)
  Re: Platform Independent Render Farm Manager?  
From: Atool
Date: 15 Aug 2003 00:55:01
Message: <web.3f3c664159c54497d76b8750@news.povray.org>
Aerial Bear wrote:
>Does anyone know of a tool that will manage animations across servers
>regardless of platform?
>
>I have a small network running both linux and windows and I'd like an easy
>tool for parceling animation frames across the network.
>
>I'm thinking of writing one in Java but don't want to re-invent the wheel.
>
>The tool I'm imagining would also allow you to split a single frame across
>servers as well.
>
>Thanks.
>

Coincidentally, as a personal programming exercise I just finished writing a
frame-splitting rendering farm manager in Python.  The code runs fine on
(and interoperates with) the linux, win2k, winxp, and win98 machines I
tested it on, and I'm sure it would work on the mac if I could only get the
Unix version of pov 3.5 to compile on my OS X box (as it is, I don't know
if it's possible to get Python to interop with the official "classic" Mac
version).

The basics of the operation are straightforward: a job is given to a central
controller server, which then parcels out horizontal "strips" of the job to
rendering nodes.  Output from each rendering node is sent to any attached
viewer clients, which dynamically display the image as it's being rendered
(similar to the normal POV GUI).  All data, including the .POV source and
image data, is transferred via XML-RPC, so the farm can be distributed
across the internet (although you might run into some I/O bottlenecks
there).

For a system to be a central controller or rendering node, it just needs to
have the standard distribution of Python 2.2 or higher (no extra libraries
are needed) and a version of POV that can be run from the command line.
For a system to run the attached viewer client, it also needs the pygame
library.  The source code is fairly small (about 25k total, with comments),
and the framework would be easy to extend to support farm rendering of
animations and many other kinds of distributed batch jobs.

Anyhow, let me know if you're interested... As I mentioned, I mostly did
this just for fun (the last time I actually used POV for artistic purposes
was back when my Pentium 133 was considered 'speedy'), so it's very
unpolished and there's no real GUI besides the viewer client window.  But
I'd be happy to share the source code.


Post a reply to this message

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