Distributed render farm network

Started by PG, October 07, 2008, 07:08:01 AM

Previous topic - Next topic

PG

OK, I was looking through for some new research projects to crunch on BOINC (see my sig) when I found a couple of rendering ones. Apparently a lot of the big film studios are using BOINC and distributed computing to allow people to render bits of frames for their movies. I was thinking that we could do the same for TG2. If anyone has a render or animation that is far too big or complex to run on their computer we can upload it to a server which will splice it up into work units and distribute them to volunteers from the community. So instead of leaving your computer for a month to render one frame you can have 20 people rendering bits of it and it'll only take a fraction of the time, and because we can divvy them up so much you could even render multiple work units of all sorts of renders rather than just one at a time, that way we can get massive amounts of renders done in a small amount of time. What do you guys think?
Figured out how to do clicky signatures

bigben

That looks like it would require some re-programming to be able to split up the rendering... so I wouldn't hold my breath.  There are ways of splitting animation rendering jobs amongst many computers, but you'll need to look at the licencing for that.
 
"License for one user and 5 additional render node licenses"

There have been a couple of utilities released for spreading renders across multiple computers. Try seaching for "render farm". Dark Fire's site appears to be down and he hasn't posted anything since June, but his project worked quite nicely. 

I use a database to manage rendering frames and other commandline image manipulations. This process basically ends up with several .bat files that are run on multiple computers, saving their output to a shared network drive.  It's not real network rendering as each computer is responsible for a whole frame, but anything that distributes the load is a plus.

PG

Nope, I can just run a control script through BOINC to crop images and distribute them to be run in command line in Terragen 2. As for licenses, it's up to Planetside, maybe it could be chargeable, Pay $50 for 100 frames or something. The implementation is the easiest part.
Figured out how to do clicky signatures

rcallicotte

"License for one user and 5 additional render node licenses"

That's from Planetside.
So this is Disney World.  Can we live here?

PG

Well sure but that's private network, this would be a public network that Planetside can control access to, and it can get them a new area of funding
Figured out how to do clicky signatures

ajoe

Time to think outside the box.

Seems like a darn good idea to me. Who knows how many people there are that would pay to have a big render done off-site?

old_blaggard

I think that this would be an interesting idea, and I've actually thought about it some before.  Here some points that I've come up with:

I don't think that having a pay-for service would really be particularly useful.  There are already services like Amazon's EC2 that could probably be set up to render Terragen stuff.  Also, I doubt that Planetside wants to have to deal with running a distributed rendering system.

I think that an ideal solution would follow the similar logic to torrents: you get what you give.  A system could be set up where each person would submit jobs to a central server, and that server would then parse it and send them out to other members.  In the meantime, you would be rendering some things for someone else, and get time credited or deducted from your account accordingly.

The first system that came to mind when I was fooling with this a few months ago was Apple's Xgrid.  It's easy to track and manage multiple users and their statistics, and also works very effectively over the internet.  I even have access to the server software required to run it.  The problems are that Terragen isn't currently compatible with Xgrid's system, and Xgrid is Mac only.

I'm not nearly as familiar with the alternatives (Condor, DrQ, etc.) and I'm not clear about their capabilities.  You also have to be careful about how things will look when calculated on different platforms - differences in how processors and operating systems deal with floating point numbers can create significant differences in the same image.

The slickest situation in my opinion would be users uploading a project file and associated materials through a simple website, and then have it handle the distributed rendering in an easy and straightforward process.  While I'm not as familiar with things on the networking side, if anyone would be interested in setting up this kind of a system, I would be more than willing to help with the web design and the bridge between the web server and the information generated by the job distributor.
http://www.terragen.org - A great Terragen resource with models, contests, galleries, and forums.

PG

#7
Amazons Elastic Cloud costs a fortune. Around $175 million compared to BOINCs $124,000. And we don't need to invest in servers capable of dividing huge projects into millions of jobs, nor pay system admins, nor even for web advertising. Just have it on the forums here. So we don't even have to spend anything.
As for the pay-for-service, I only suggest that because it would supply Planetside with a reasonable income to fund Terragen 2 rather than the occasional purchase of TG2 licenses. Touchstone have estimated that they saved $700,000 by doing some frame rendering using Renderfarm@home on BOINC. I think the points system could be  used as a payment for artists who don't use their work for commercial use.
XGrid is a good option but like you say not portable, BOINC runs on Windows, mac, linux and most other unix systems and it can run applications written in pretty much every language without needing the source code, it can just run the executable.
Your idea for the web based system could be integrated with it too. Most projects have the source for the jobs that need doing in the same place as the central server so they don't need an upload facility and as such BOINC doesn't provide one so we'd need a web interface for uploading jobs so they can be spliced into work units.
However this is all in the balance until someone from PS sees this thread.
Figured out how to do clicky signatures

moodflow

Having something like this available would drastically increase the draw and useability of this application for me.  The best, most realistic images require serious detail in my opinion, and this can take a huge amount of time on a single PC. 

I think Planetside should really look into automatic image tiling to render single images over multiple PCs.  The current cropping technique helps, but the GI inconsistencies really throw things off.
http://www.moodflow.com
mood-inspiring images and music

Oshyan

If we could completely solve the GI consistency issues for even a single system with multiple crops, we might have a better chance at doing it across different systems. As it stands there are still more fundamental challenges to overcome.

As to the original idea, it is an interesting one, but the actual practicalities of renderfarm setup and management don't make it a particularly lucrative "side business". I don't think we could fairly charge for simple access to *other* people's resources, so we'd have to setup our own hardware for the rendering, and that's pricey.

I'd love to see something like this put together by the community though, for free. That seems much more feasible. For the moment it would work best with animations since splitting up frame rendering is much easier.

- Oshyan

PG

That's true, we might actually have people making animations which will make finding bugs a lot easier.
Figured out how to do clicky signatures