Fwd: [Beowulf] 3d rendering cluster

Paul K Egell-Johnsen paul.k.egell.johnsen at gmail.com
Wed May 25 13:34:30 PDT 2005

Ah, forgot to reply to list.

---------- Forwarded message ----------
From: Paul K Egell-Johnsen <paul.k.egell.johnsen at gmail.com>
Date: May 25, 2005 10:32 PM
Subject: Re: [Beowulf] 3d rendering cluster
To: "Robert G. Brown" <rgb at phy.duke.edu>

> De nada.  Sounds like you are very much on track.  It's really
> interesting to realize that multichannel audio rendering is yet another
> perfectly legitimate parallel application for a cluster (one I had not
> thought of in those terms).

Well, it is also used to do effects processing on the render nodes, ie
reverb, eq, etc. and those costs cycles too.

> Does the orchestral mixing have to be delivered in "real time"?  Can't
> you just render the channels separately and asynchronously on the nodes
> and mix them on a head node?  Or is the creative process heavily
> interactive, so that you constantly need for all the channels to be
> rebuilt/remixed?

I write the score in Sibelius and send the signals out on several
virtual midi ports over the lan. On the rendering nodes those
instructions are received and the instruments are played and routed to
the mixing computer, which is my main workstation (the digital audio
workstation, DAW).

> If the former, then you have a lot of ways to do the rendering and
> delivery on top of linux (using much the same sort of process you'll use
> for rendering/delivering/assembling frames).  If the latter, hmmm, it
> doesn't sound like it would be THAT difficult to write a parallel app on
> top of PVM or MPI that would farm out the scores to nodes for rendering
> and receive back the results in chunks for mixing and delivery.  I'd
> also expect each node to be fast enough (most likely) to deliver
> multiple channels on its own -- you have billions of cycles per second
> for computation compared to sampling rates in the hundreds of kilocycles
> per second, or order of a few thousand instructions per sample to
> dispose of.  Just how much computation IS required per channel?

Not much at all. I can easily reach 60-70 virtual channels mixed down
on the eight "physical" channels going to the DAW without tasking the
processor that much 25-40%, depending of intstrument. Physical as in
the actual mixed channels in the DAW. The virtual channels are one per
note until the note is played through, so 60-70 virtual channels are
just  a lot of decay and release of notes played much earlier, but
very important for the full ambience. The channels are used round
robbin vise when it reaches 128, or rather round robbin on those which
aren't currently  still being played (as in long pipe organ basses
lying 10-20 seconds in the background).

As I mentioned above, I can use up the processor power by using
effects on those sounds, either directly on each played note, or on
each "physical" channel before the DAW gets the results.

But the main hurdle is actually the RAM and the speed to the
harddisks. There will often be snapping and crackling on the audio if
I try to play too much on one computer. Therefore at home I have three
computers working purely on sample library playback and one for the
DAW. I just add a general reverb and EQ on the headphones mix of
everything while I do my scoring.

When it comes to real mix down the software will do a bounce to disk,
ie. it will use whatever time it takes to add all the effects and
reverbs and write it to an audio file on the harddisk. Then I can use
the bounce with other bounces and create even more complex mixes, by
for example detuning vocals and playing them atop each other several
times (a cheap knock off from Enya, who according to her own
statements sings every layer herself up to 3 digit times...)

> Regarding the 3ds max and workstation issue -- there I understand.  A
> mission critical application is just that.  I have no idea if linux has
> anything competitive in this arena.  OUTSIDE the critical app pathway,
> though, linux on the desktop is currently pretty darn complete and
> functional, although one can still get into a bit of trouble with Office
> compatibility with really complex documents (Open Office handles simple
> ones pretty perfectly, to my experience, but can barf on ppt slides
> containing e.g. embedded spreadsheet graphs actively connected to a db
> or spreadsheet or word processed document, and sometimes gets things
> like graph scales wrong).

Well, I've never touched PowerPoint, except when people ask me about
things they can't do with it, then I usually am able to find the
needed solution then and there. You know the drill.

I use Open Office myself, I only like Excel of all the MS products in
the Office package.

There are quite a few 3d rendering libraries for linux some which
interface directly into 3d studio max. So I think the only obstacle to
implementing open source solutions is the perception that linux isn't
good enough.

I'm having a couple of very fruitfull discussions with professionals
in the field outside of this list, and I will pursue those avenues
since they are very relevant to exactly the kind  of work we will do,
and I'll use this list later when I have more specific questions
related to what you all know best :)

Thanks again,

More information about the Beowulf mailing list