Render Farm Build 41

DISCLAIMER: This is a continuing series detailing the painful story of a DIY render farm build.  It is terribly technics and
somewhat frustrating.  Those who are unprepared for such “entertainment” are advised to ignore these posts.

These posts are going to get fewer and further between as I get this beast running and maintained.

I imaged “Whore” and set it up the exact same power strip.  So now I have a power strip with all seven machines plus an outlet containing the ethernet switch.

But when I shut everything down and powered it up again, the fuse on the power strip popped.  This is, of course, what I want everything to do should there be a sudden power shutdown – automatically startup, mount everything, and join the render pool again. So this is not good.

I unplugged two units and let them hang for now.  Here’s a screenshot showing five units ready to go.  So that’s 20 cores and 50Gb to apply to any task, plus two machines waiting and a spare if any of them go down.

Picture 1

Apparently my office shares a 15 amp circuit with the one next door PLUS it seems to be sharing an additional 15 amp circuit on the other side.  I say this because the opposite end of this tiny room seems to be supporting the PDC, an additional monitor, my office iMac, the old DIY Cintiq build, plus a microwave (850W).  So I seem to have enough power if I can swing it right.  No way the microwave can be used if I plug the additional two machines in.  I am contemplating dragging an orange extension cable through the drop ceiling to Bob’s office and drawing the last 500W for the additional two machines from there.

If I had the use of the proper CSUF network I would not worry.  I could set up machine in far-flung rooms at the University and they would all find each other and rendering could happen much faster, probably.  But I am a renegade farm, operating in secret and on my own closed network, so I cannot do such things.

So far I’ve kept things stable at 5 units instead of 7, mostly because 7 units draws so much power on startup that it blows the fuse on the power strip.  Careful analysis shows that each Mac Pro draws about 250W at high use.  This means I can only really get 6 of them on a standard 15 amp circuit before I pop something.

It was time to run some tests.

Picture 2

Here’s an early screenshot showing an After Effects project (from a class exercise) going through just fine.  There were a few things to learn about After Effects and Dr. Queue, though:

  1. The Job Submission requires that you list the composition by name.  This makes sense, as AEFX projects could hold a ton of compositions.
  2. The Compositions must be properly named – which is to say Unix-style – no spaces.  You can use CamelCase, underlines, or dashes, but no spaces or it drops the commands right after the space, as you’d figure.  You cannot escape them with a slash in the string either.
  3. You must know the number of frames you want rendered.  This is new to me, as I usually just submit whole comps to the After Effects Render Queue without a second thought as to number of frames!
  4. Right now my job script wants to put a trailing slash at the end of the pathname to the tmp directory, like so: “/drqueue/tmp/”  This guarantees no one can find it.  The slash must be manually removed, giving us “/drqueue/tmp.”  I probably did something in the job script generator to get that.
  5. Here’s the weirdest one. The Command Line on the job submit panel will always show “/drqueue/tmp/jobscript.”  This will make each render node look for a local directory called “/drqueue,” which, of course, they all have.  But I need them to reference the mounted volume “/drqueue,” which is a shared directory from the PDC.  Thus I must manually enter “/Volumes” on the command line (resulting in “/Volumes/drqueue/tmp/jobscript”) or nothing will happen.

These are not major by any means.  If I write them down (as I did here) I will have a handy reference for when I submit AEFX jobs.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.