Distributed Rendering

Consumer distributed computing first became vogue in the mid 90's. While the NSA was busy simulating nuclear blasts on big iron, thousands of off-the-shelf computers a day were happily rendering frames for graphic artists. Even as Donald Becker and Thomas Sterling were coining the phrase, "Beowulf Cluster", people at Pixar and Alias were already well experienced in render scheduling on expensive SGI machines, but almost immediately, people began toying with the idea of splitting render jobs over multiple Windows NT machines. The Windows NT render farms were really the first Beowulf clusters used for anything important, and not surprisingly, there happens to be a lot of distributed rendering software out there. The process of rendering - that is taking a raw 3D data file and then raytracing it to produce a high quality image or set of images - happens to be very distributed computing friendly. Early render farms were very basic; if 100 frames needed to be rendered and 10 machines had render software, the host machine simply sent 10 frames to each computer and waited for them to render. Today's software is much more advanced, and network latencies are low enough that the host renderer can apply components of a frame to several different computers at once.

There is some really excellent software like Rush Render Queue that will enable us to use software like Mental Ray for multiplatform rendering. Apple's QMaster also has some great features for distributed rendering for Shake. Today, however, we are just looking at a free ray tracer, POV-Ray. Below, you can see how our configurations ran under various options of the SMPOV addon for POV-Ray.



This test fringes theoretical. Since there are no Linux SMP or multiprocessor versions of POV-Ray, we had to improvise. POV-Ray allows us to render only a component of a scene if we desire, so using NFS we setup a directory where all the XBOX nodes had access the benchmark.ini files. Each file was modified to only render a specific portion of the scene based on the machine host name, and then the benchmark was launched via our scripts. We went through the same process for our Opteron and Xeon machines, launching one render process per processor, effectively running the renderer in SMP mode.
If our Distributed Compiling test was any forewarning, we weren't surprised that the XBOX cluster had a very difficult time being very effective here. Let's hope that the cluster can hold up a little better under encryption algorithms.

Distributed Compiling Distributed Hashing
Comments Locked

30 Comments

View All Comments

  • TimPope - Thursday, May 12, 2005 - link

    not bad information but i would have liked to see some kind of real world performance using openmosix.. a single x box on its own as a pc is slow but stick 2-4 together using open mosix could make a reasonably good machine and still be pretty cheap
  • Halz - Wednesday, November 17, 2004 - link

    The rule followed in the article for the -j option, "number of proccessors + 1", overlooked the logical proccessors of the Xeon's Hyperthreading.. -j should have then been something around 5 instead of 3
  • Halz - Wednesday, November 17, 2004 - link

    Simply compiling on the Opteron and Xeon with the same number of threads as the full cluster would have illustraighted a difference.

    More testing should have gone into finding how many threads was the ideal number for the given platforms.
  • artifex - Saturday, November 13, 2004 - link

    Aikouka, can't you just use one of those "HD Loader" type programs WITHOUT a modchip?
    I'd be all for modding my PS/2 if I thought I could actually do something useful with it, like stream audio/video from a PC or a ReplayTV or something.
  • KristopherKubicki - Saturday, November 13, 2004 - link

    Halz: what should it have been?

    Kristopher
  • Aikouka - Thursday, November 11, 2004 - link

    23, yes, you can still do just about anything. I know with the software mod that I use, I've been having problems getting the original MS Dash to load up, but I've gotten around that using other programs for the original dashboard's functionality (dvd etc).

    You know, you can also replace the HDD with just a software mod, and it's not that hard. So, if you don't want to hardware mod and want more space, you can still put in a bigger HDD. As much as some people don't like the XBOX, in my opinion, it's probably the best console to mod.

    24, 2) Modchips also allow hdd loading if you have the PS2 HDD (using HDDLoader.) Also, it lets the warez'ers download and play games on the PS2 that they don't really own.
  • artifex - Thursday, November 11, 2004 - link

    1) what we really need is a usb-based tv tuner that actually works. That would be excellent for adding functionality both to XBoxen as cheap PVRs (though I'd still just use XBMC to stream from my ReplayTV, most of the time), but also would be great for iMacs. I'm sure if someone came up with a decent open architecture design, the community would come up with drivers for both types of systems.

    2) what are modchips for PS2s useful for, other than playing import games? Especially with the new PS2s having no drive (is there still a header on the new board style to add one back?)

    3) did I miss the obligatory dnetc test? You gotta do that, you know.
  • Booty - Thursday, November 11, 2004 - link

    I don't even own an Xbox, but reading this article has me reaching for my wallet...

    But first, I want to get this straight - I can mod the Xbox and still use XLink, right? I doubt I'd get a Live subscription anyway, but it'd be nice to have that option possible.

    Ideally I'd like to throw a bigger hard drive in there and then run XBMC, without losing the normal XBox capabilities.

    So if I can do that, I'm goin' to the store this weekend... :)
  • Halz - Thursday, November 11, 2004 - link

    The compile options for the Opteron and Xeon were starving the CPUs; the number of jobs (-j) was no where near optimal.
  • Halz - Thursday, November 11, 2004 - link

Log in

Don't have an account? Sign up now