[Radiance-general] multiprocessor systems, Radiance, and you

Peter Apian-Bennewitz [email protected]
Thu, 16 Jan 2003 23:45:08 +0100


Hi Rob,
...
> 
> (several paragraphs later he gets to the questions...)  My questions are
> for those of you on the list with MP linux experience.  I guess I'm hazy
> on the way the two processors are utilized.  Do you tend to run one job
> on one CPU and a second one on the other, or do you use rpiece to work
> one job across both, as if the the CPUs are two different hosts?  Or is
> there some OS and/or Radiance compile tweak that you do to simply make
> both CPUs act as one, obviating the need for rpiece? Seems like you
> still need rpiece so the ambient cache is managed properly. As far as
> CPU, do I *have* to use the Athlon MP, or can I run two XPs?  Anyone
> have hardware recommendations?  I like Abit motherboards, but they don't
> seem to offer a dual socket variant.  What about OS?  I had great
> success with RHL 8.0 on an old Dell -- it installed and compiled
> Radiance without a single hiccup.  Anyone using it on a dual box?  Any
> compile changes to either the OS or Radiance?

+ compile changes - most certainly not (Greg relies on the general idea
of copy-on-demand page reuse for standard fork/exec, that seems to work.
I'm not a system guru, maybe threading would be better for whatever
reasons) . There's no general, UNIX internal, way to present two CPUs as
one to a program. Except PVM (parallel virtual machine) or other
libraries (which are operating in user space and not kernel space, if
I'm correctly aligned). LBNL had a project which extended Radiance for
that, - don't know if and when that gets merged back into mainstream
Radiance.

+ Linux distributions - Slackware 8.0 seems ok (gcc version 2.95.3, 
/lib/libc-2.2.3.so), if others experienced problems, I'd suggest adding
output of ("gcc -v" and "ls -la /lib/libc*so", maybe more)

+ MP hardware - dual PIII/1Ghz on Tyan motherboard, no known problems,
(dual PII/400 on ASUS had been fine too, some years ago)

+ rpiece/ambient/rpict - rpiece organizes just the rpicts; sharing
ambient values works with rtraces started by hand too. Running two
rtraces/rpicts on the same octree is memory efficient, as the scenery is
shared (that's what the earlier "copy-on-demand page reuse" yuckspeak
wants to say). If scene memory is not a limiting factor, I wouldn't care
how rendering is organized. Depends on your coding style of shell
scripts, makefiles, m4 etc. 

+ NFS (now, I fear this will haunt me for years) is working between
slackware boxes if nfs-3 is used. However, I do had weird experiences
with lockd/statd on IRIX,HP-UX,Linux over the years, so anyone building
on NFS file locking for commercial work should add a few weeks of
testing before going productive with the machines. (file locking is
crucial to sharing ambient files via NFS)

cheers
Peter

-- 
 pab-opto, Freiburg, Germany, www.pab-opto.de