Dear Nick,
following your question about Radiance on multi-cpu systems:
You've probably found the many postings on radiance-online (search for 'mosix' or 'parallel'). My two-cent thoughts on this from my experiences over the years at an institute (50 Linux machines) and at my office (6 machines):
* Having the CPUs on one board is a lot easier than over the network
dual Pentium or AMDs are easy to get and relatively cheap, quad
boards are a bit more expensive, but might be worth it if you're
really digging into it.
Sharing the scene and ambient data in RAM is build into rpict
(rather crude and simple, but it works). Both animations and large
images use the CPUs in parallel. Parametric studies with different
octrees require multiple copies of the geometry, of course, but I
haven't found a scene which is limited by RAM yet (typically other
limits like ambient rendering times, function files, etc. limit
rendering before that).
With a few GB of RAM, RAID-1 or RAID-5 disks, a dual power supply
and an UPS, the machine constitutes a reliable and fast
production system.
* Distributing over the network via NFS works too
http://www.ise.fhg.de/alt-aber-aktiv/radiance/animation/ shows an
animation from my Fhg-ISE days and was rendered on the 50 or so
Linux machines we had at that time. They shared all data via NFS,
which works, contrary to an apparent common subliminal feeling.
(well, you have to use nfs-3 and the kernel NFS server on Linux to
get file locking, which is essential for the sharing of ambient
data). Distribution across the machines was done by a small but
effective and failsafe job distribution system I wrote.
We had tried Open-Mosix, but never used it for productions. The
main drawback in my view is that the process 'swims' between
non-homogeneous machines and this adds an extra layer to keep
track of. E.g. rpict's logfile will not tell where the process has
run or is running. In case some machine has faulty hardware it
gets increasingly hard to track, and that's not really what one
wants or needs when rendering a few thousand images under time
constraints. Your mileage may vary, maybe folks out there do use
Mosix happily for production now.
* PVM (parallel virtual machine) is a library and system to
distributed parts of a program across machines (MPI, message
parsing interface is similar, with different concepts). It
requires modifying the source (as far as I recall from the times
when porting to LBNL's Cray-T3 had been a pending idea). Carsten
Bauer ported Radiance to PVM and others checked out MPI/PVM as
early as 1997 (see
http://radsite.lbl.gov/radiance/pub/digest/no_Z/v3n2 and seach for
PVM).
If anyone uses an MPI/PVM enhanced Radiance for commercial or
research grade production I (and others) would be delighted and
enlighted to hear about.
open to all new facts and insights-
cheers
Peter
···
--
pab-opto, Freiburg, Germany, http://www.pab-opto.de
[see web page to check digital email signature]