Planetside Software Forums

General => Terragen Discussion => Topic started by: newbhat on June 13, 2011, 02:22:39 PM

Title: Wanting to build a small render farm
Post by: newbhat on June 13, 2011, 02:22:39 PM
Hi everyone, I've been lurking on this forum for a while now, but I'm seeking a bit of help now.

I want to build a small render farm as my senior project in High School, and i've been googling a lot the past few weeks but have only found bits and pieces for the specific thing I want to do. As far as I know i've got all the necessary hardware to build a small render farm (4-5 nodes, from older athlon 64 2000's and up, switch, etc), I'm just downright confused when it comes to the queue managers and such. I don't know if it's possible, but i'd like to keep the farm linux only, at least on the slave nodes. I'd also like to use either drqueue or squidnet (I can use it for free if i have under 10 nodes, i believe) for my managers.

I don't know what the easiest way would be, but if any of you could point me in the right direction, I'd really appreciate it. :)
Title: Re: Wanting to build a small render farm
Post by: Oshyan on June 13, 2011, 02:38:28 PM
Terragen doesn't run natively on Linux so if you want to use Linux nodes, you'll need to use WINE to run it. For simple rendering this should work ok, with some potential performance penalty. Using the GUI under WINE can be much less reliable.

- Oshyan
Title: Re: Wanting to build a small render farm
Post by: newbhat on June 13, 2011, 02:58:57 PM
Hm, perhaps keeping it under windows would work better, especially if i'm not gonna have super performance anyways. Would drqueue be easier to use than squidnet? I found a guide on how to compile and install it on xp, but is that a good route to go? I'm not sure how stable it is. I've also been trying to figure out how to use the command line renderer, but are there any other guides other than the text file located in the program folder?
Title: Re: Wanting to build a small render farm
Post by: Oshyan on June 13, 2011, 03:07:46 PM
Unfortunately I don't have any experience with either DrQueue or Squidnet, so I can't give specific information on how they would be working with TG2. Any queue manager that supports arbitrary commandline executables and options should work though.

The commandline.txt file has all available information about the commandline switches and support. Other than that TG2 works as a pretty standard commandline app.

- Oshyan
Title: Re: Wanting to build a small render farm
Post by: newbhat on June 13, 2011, 03:21:51 PM
I guess I'll just have to read up on commandline apps then as I'm not very familiar with them :D

Thanks for the advice though, Oshyan.

If anyone reading this has a render farm setup with drqueue or squidnet, I'd really appreciate hearing from you.
Title: Re: Wanting to build a small render farm
Post by: neon22 on June 13, 2011, 06:49:45 PM
When I last looked - and it wasn't recently - Condor seemed like a good solution.
It can handle command line clients like TG2 well (it has deeper integration for programs you can get the source to but CLI is fine too)
http://www.cs.wisc.edu/condor/

DrQueue and Squidnet seem well suited for running your own farm.
DrQueue has nice python bindings and appears to be free.
Squidnet requires a commercial license >8 cores. YMMV

The version I am working on is more for individuals who have a machine and want to participate in community based rendering
http://forums.planetside.co.uk/index.php?topic=12384.msg124774#msg124774
My original code (well version 4) is still available and a discussion is here:
http://forums.planetside.co.uk/index.php?topic=5251.0

You can see an example of how to call TG2 here:
http://forums.planetside.co.uk/index.php?topic=5251.msg57238#msg57238
Title: Re: Wanting to build a small render farm
Post by: newbhat on June 13, 2011, 11:15:20 PM
Well, I think DrQueue will be the best choice, if I can get it to work well under windows. At least from the guide that I found.

So, I could pretty much do the same stuff in your batch program? Basically I'd install this on every node, and then set it to render whatever set of frames I choose, with the output pointed at a network drive / NAS server?
Title: Re: Wanting to build a small render farm
Post by: neon22 on June 13, 2011, 11:45:25 PM
If you were running your own renderfarm you could get better management out of it using one of those tools.

But if you had separate machines (and licenses) then each machine could be looking at the online server and getting one piece at a time to render.
The end result gets ftp'd back up to the server.
If you submitted a job then ftp will deliver the rendered images back to your system for compositing (in case of tile, blends, and Panos). The only data flowing to and from the rendering clients is tgds and rendered images.
Obviously (I hope) when submitting a job you set it up to do whatever you need. When acting as a render client - you get to preferentially do jobs for specific people (probably yourself at the top of that list)

So different mechanism - same end result.
My intention is to make it simple for users to add their machines to the pool - and to do their own renders preferentially (so there is no disadvantage to yourself)
Title: Re: Wanting to build a small render farm
Post by: newbhat on June 14, 2011, 02:22:13 AM
That is such a clever idea, neon. But like you said, I could probably manage them better using drqueue and such (for the setup i'm trying to achieve). I just really wish I could find a guide specifically on setting up drqueue with terragen. I'll just keep searching though, perhaps there is one out there. However, if anyone has any extra info, I'd be glad to hear it. :)
Title: Re: Wanting to build a small render farm
Post by: newbhat on July 23, 2011, 11:28:11 PM
I've been really busy lately, thus not having much time to work on this. I'm just stuck a bit though. All my systems are p4 / amd 2000's and up, and I was wondering if there was any way I can install terragen onto them with them not having a whole gig of ram. Is it possible to install a command line version only? I'm just really lost on all this, any help would be amazing.
Title: Re: Wanting to build a small render farm
Post by: Oshyan on July 24, 2011, 08:26:51 PM
You can use TG2 from the commandline, yes, but the UI doesn't actually use that much memory. With less than 1GB of RAM you would likely only be able to render fairly basic scenes at low-ish resolutions.

- Oshyan
Title: Re: Wanting to build a small render farm
Post by: newbhat on July 30, 2011, 05:01:13 PM
Hmmm, I wasn't able to get it to install with half a gig, but if i loaded them all up with 2 gigs each, I'd be able to render some fairly decent animations If i had about 5-6 systems? Of course it would take quite a while, but that's ok. I'll mess with it some more though. My weekends are a bit hectic at the moment and I've got work still school starts, but I'll definitely be posting back here with more questions, as long as you guys don't mind.
Title: Re: Wanting to build a small render farm
Post by: AP on August 10, 2011, 12:29:37 AM
147 PCs. Now that would be something to see. Do you have any photographs of this farm. Is it still around and operational?
Title: Re: Wanting to build a small render farm
Post by: Tangled-Universe on August 10, 2011, 09:34:30 AM
You wouldn't need a roomheater ;D
Title: Re: Wanting to build a small render farm
Post by: Cadmium77 on August 10, 2011, 10:25:54 PM
Quote from: newbhat on June 13, 2011, 02:22:39 PM
Hi everyone, I've been lurking on this forum for a while now, but I'm seeking a bit of help now.

I want to build a small render farm as my senior project in High School, and i've been googling a lot the past few weeks but have only found bits and pieces for the specific thing I want to do. As far as I know i've got all the necessary hardware to build a small render farm (4-5 nodes, from older athlon 64 2000's and up, switch, etc), I'm just downright confused when it comes to the queue managers and such. I don't know if it's possible, but i'd like to keep the farm linux only, at least on the slave nodes. I'd also like to use either drqueue or squidnet (I can use it for free if i have under 10 nodes, i believe) for my managers.

I don't know what the easiest way would be, but if any of you could point me in the right direction, I'd really appreciate it. :)


This is a lot cheaper and you'll have access to much more powerful blades..


https://www.blackskycomputing.com/
Title: Re: Wanting to build a small render farm
Post by: newbhat on August 19, 2011, 07:46:56 PM
I don't quite understand what you mean, Cadmium :s The whole purpose of this project is for me to build it and learn along side the way. I do understand that if I was working more on just specifically rendering something, but I'm really wanting to do both. I've been thinking lately that this might be a little bit more difficult than when I first imagined, but I just need to do something with all these pc's I have.

GenTerra, could you give me a little info on what exactly / how you did it? I'm just really lost in terms of where to go after I have everything hooked up.
Title: Re: Wanting to build a small render farm
Post by: Dune on August 20, 2011, 03:30:34 AM
QuoteGenTerra, could you give me a little info on what exactly / how you did it? I'm just really lost in terms of where to go after I have everything hooked up.
Yes, that would be very interesting to see as well  ;)
Title: Re: Wanting to build a small render farm
Post by: newbhat on August 22, 2011, 11:35:23 PM
Hmm... I've been rethinking this project a bit.. and I just wanted to ask how much of an advantage I'd get if I did go through with it. My machines will be p4's / athlon xp 2000's and up (not very far though), I'll have about 4-5 of them. I've got a 10/100 switch for my network, and all the other little bits, but, would this really be worth it in the longrun? Would I really save that much render time? I've got to figure out for sure what my project will be in the next coming weeks, and how difficult this will be.

I'm just starting to think that this may be a lot of work for just a tinnny bit of time saved while rendering, but I'm really not sure. Any info at all would be awesome. :)
Title: Re: Wanting to build a small render farm
Post by: Oshyan on August 23, 2011, 12:13:09 AM
Unfortunately it will be something of a headache to manage a farm and the render time improvements vs. a single modern system will be questionable. For example a single P4 with 1 core at 3Ghz is roughly equivalent to a single core (out of 4) for a modern Intel Core i7 at 2.2-2.4Ghz. You can get an i7 2600 system for about $800 these days, which is at 3.4Ghz and has 4 cores *plus* hyperthreading. That single machine would probably be faster than the whole farm you're describing, if not in absolute raw terms, then at least in terms of being able to just click *render* and get the maximum output. So sadly this is just a novelty project. Even if you think of it from a cost savings perspective you only save money up-front. The i7 will save you a lot in power bills over the course of a year of rendering vs. a farm of 4-5 machines (especially P4s which use a lot more power). So it really just makes sense to get a single new i7 machine if speed is what you're trying to achieve. Again that's true even if cost is an issue because although you can probably setup your farm for relatively little money up-front, the power costs over time may make cost you as much as an i7 anyway.

- Oshyan
Title: Re: Wanting to build a small render farm
Post by: newbhat on August 23, 2011, 12:31:42 AM
Well, I'm glad you told it to me upfront at least. These last few weeks I've been starting to doubt the feasibility of this, but, I'd still like to see if there's anything i can do with all this hardware. I know this is a bit unrelated, but since you all seem like really knowledgeable folks, is there any other sort cluster I could build? Something not terribly difficult to build, that could show there is still usability out of old, outdated hardware.
Title: Re: Wanting to build a small render farm
Post by: Oshyan on August 23, 2011, 12:35:49 AM
I haven't really played with that sort of thing myself, efficiency tends to be more my focus so I have a couple of i7's here fortunately. ;) But there are definitely enthusiast communities for that kind of "cluster computing" stuff. I'm afraid I don't have any links off the top of my head, but I would think an Internet search with appropriate keywords could turn up some starting points at least. Good luck, it seems like a novel project.

- Oshyan