Friday, March 30, 2007

Distributed render (a la seti@home)

Render queue management softwares are usually aimed at Local Area Networks, and are not suited for internet, because of:
.- Bandwith limits: 3D scenes and textures can be quite big so the time savings form getting additional processing power would be lost because of transfer delays.
.- Unreliability: If a remote machine or network goes down, even momentarily, stopped tasks have to be relaunched on the remaining working part of the system, and sometimes these last frames can be a real pain to be finished...
.- Security concerns: Although there are several web-interface based render queue systems available, I don´t think they are designed to be installed on a publicly reachable site. Of course you can password-protect them but even so you would need to open specific ports on the different routers/firewalls to enable the communication between client and server, and sometimes this simply is not possible because of the companies policies.

Anyway, if these drawbacks can somehow be cleared, this opens a whole world of opportunities for small projects. Just do the maths: How many hours is your computer on, but not using its processing power? If this time can somehow be shared between users, the end result is an increased rendering power for everyone. I am thinking of some sort of "MHz exchange system" where you could end up getting back the CPU time you have given first...

This, of course is nothing new, and has already been thought off, you can read more about the general concept in Grid Café.

In this sense, BOINC is: (from their web) "a software platform for distributed computing using volunteered computer resources".

Under BOINC´s infrastructure there are several projects, one of them is BURP (from their web) "Aims to develop a publicly distributed system for rendering 3D animations".
It currently has a Windows Blender client, but "Please note that this project is still in its testing phase and does not yet provide the security and stability of a full-blown BOINC project"

A similar idea, but structured in a P2P fashion, is behind GPU a (from their web) : "a Gnutella client that allows users to share CPU-resources (...) Right now, this client allows rendering of Terragen movies."

No comments: