Hello,
While reading the new Synfig demo reel post, I thought about setting up a rendering farm for Synfig users. Here are some figments of my imagination, as to how Synfig could be synonym to “under 15 seconds rendering” for all its users in 2015 (or even 2012 .
Shortly put: a rendering farm harnesses a few (up to hundreds of) computers to jointly render the same project (read: “synfig animation”), providing the result far quicker.
My story would be:
Some more details:
- Synfig defines whether it’s best “farming” the rendering or not, and an efficient amount of nodes, from a first assessment of the complexity & length of the scenes, “internet connectivity speed test” and (dynamic) list of available nodes.
- P2P protocols (such as private torrent) could be used to share resources and identify available nodes, instead of direct upload.
- benefactors could give some resources of their (unused) Amazon EC2 servers (or other cloud resource) to the Synfig community for free.
- the rendering service could be seen as an exchange: you only get to use it if you share your CPU as well. Some “ratio” could be computed to prevent obvious abuses (similar to some P2P mechanisms, per user/IP/other).
- further options could define whether resources are directly deleted from nodes or kept for some hours as a new rendering job is expected soon with the same resources.
- it obviously should work great on an Intranet with a few machines, as well.
- background rendering must never crash the node.
- some quota/limit on CPU / disk could be defined to protect the node, even if not much disk space would be needed.
- some protection mechanism could be set up for “confidential” projects, to prevent access/reuse of their resources & rendered frames from the client and connection spying. traditional encryption could do.
Some links that may inspire you:
- DRQueue (open source rendering queue): - seems to work just fine in a local network with the major OSes and command-line apps (that includes Synfig!), works readily for Render, Maya, Pixie, Terragen and many others.
- to put it in the cloud: DrQueueCloudControl - info to set it up under ubuntu
- GPU: P2P CPU share (open source clustering) - usually more for mathematical jobs, the file distributor seems like a good match for Synfig… too bad it requires centralized resources repository and runs on Win only (wine ok though).
- P2P: en.wikipedia.org/wiki/Peer-to-peer
- encryption: en.wikipedia.org/wiki/Encryption
- many tools from Grid Computing, maybe too performance/scientific oriented though: Condor HTC, DIET
- brender, another render queue for Blender; renderweb does it with facebook