The Backburner Render Farm allows you to render Autodesk 3D Studio Max files on a large pool of high-spec computers. With the rendering divided among many computers, it will complete much faster than rendering on a single computer.
Request access to the render farm. You only have to do this once.
When you receive your e-mail, you are set up to use the render farm.
Be aware...
...that rendering a job via the render farm is fussier than doing it in 3dsmax yourself. There are a lot more things that can go wrong. A job that renders happily when you do it manually may fail when submitted to the render farm -- or individual frames may fail. Therefore:
...that Backburner is temperamental. Backburner's only response to any problem, however small, is to give up. Therefore:
|
TIP: Test several frames, from different parts of your scene, to find out whether they will take very different amounts of time. If so, consider breaking your scene up into separate jobs submitted to different Server Groups. | |
|
INFO: Backburner is very fussy about the 3dsmax version. This year, Backburner expects 3dsmax 2024. If you submit from any other version, the job will never be assigned to any render nodes. | |
| ||
|
TIP: Don't choose the Quicksilver renderer. It works interactively, but not in Backburner. | |
Alternatively, set an Iterations limit. | ![]() |
INFO: Do this because jobs routinely think they will need hundreds of hours per frame, and hundreds of thousands of iterations. INFO: You can't set this number as high as you might expect. Some jobs set to 40 never finished. TIP: Submit with a low number, see how it goes, and only resubmit with a higher number if those frames render very quickly. TIP: The Long Frames Server Group operates for 15.5 hours on weeknights. When using it, set a time limit of no more than 7h 30m to complete 2 frames on most render nodes in a single night. Otherwise the render nodes will run out of time just before they would have finished a frame. TIP: Never set a limit higher than 9h 50m. Backburner has a built-in default limit of 10 hours, after which it will abandon the frame anyway. |
| ![]() |
|
| ![]() |
TIP: Don't choose a file format that produces a single output file for the whole thing, like AVI. If Backburner can't break up the output into individual frames, the whole job will be assigned to a single render node. TIP: You must use the UNC. The render nodes must be able to understand and access the output location. They will not be logged on as you and will not have your drive letters. If you submit your job using a drive letter, every frame will fail. TIP: The folder must already exist. Backburner will not create it for you. If the folder doesn't already exist, every frame will fail. |
| ![]() |
TIP: Using the Frames radio button, you can submit noncontiguous frames. Useful to resubmit a few frames that failed in a previous render. TIP: Once you have chosen Submit to Network Rendering, you won't come back to this dialog, so don't do it until you have made all your choices. |
| ![]() |
INFO: You can't use the same name as a job already in the queue. INFO: Use only alphanumeric characters in the job name. TIP: If parts of your scene will take very different times to render, break your scene up into multiple jobs and submit them to different Server Groups. INFO: If there are no jobs in Long Frames just before 17:00, we may move jobs from Medium Frames to get maximum throughput. |
| ||
|
TIP: You can use Monitor to observe your job's progress. |
This is clunky, but it gets there.
Any of the dialogs in this sequence may require additional modifications for your particular job.
This describes only the basics to reassemble your frames. You can do lots more in Video Post.
Q: Which "Server Group" should I submit my job to?
A: This is how the groups compare. Choose a group based on how long your frames will take to render. Render one frame interactively, from the most complex part of your scene, to find out how long your frames take, worst-case.
Server Group | Hours | Purpose | Additional Information | Nodes | Spec |
---|---|---|---|---|---|
Short Frames [under 10min] | 24 hrs | Allows fast-frame jobs to be processed quickly, without getting stuck behind slow jobs. |
Uses brief windows when nodes don't have a user logged on, so expect frames to be abandoned and started over frequently. Will also use idle nodes from the Medium and Long groups. |
245+ | At least: Core i7-7770 3.6 GHz 16 GB RAM |
Medium Frames [10min-4hr] | Weekdays: ~22:00-08:30 Weekends: all day |
Ensures that jobs with moderately long frame times are run only on nodes that have a long uninterrupted weeknight render time. |
In-progress frames will continue to render after 08:30, on nodes where nobody is logged on. If a user logs on, that node will abandon the frame. Abandoned frames will start over when the Server Group's hours resume. |
412 | At least: Core i7-6700 3.4 GHz 16 GB RAM |
Long Frames [over 4hr] | Weekdays: 17:00-08:30 Weekends: all day |
Ensures that jobs with very long frame times are run only on the nodes that have the longest uninterrupted weeknight render time. |
In-progress frames will continue to render after 08:30, on nodes where nobody is logged on. If a user logs on, that node will abandon the frame. Abandoned frames will start over when the Server Group's hours resume. This is the only group that can render frames of the Backburner-default maximum render time, 10 hours. |
239 | Core i7-6700 3.4 GHz 16 GB RAM |
Q: What if I submit my job to the wrong Server Group?
A: If we think your job would be significantly better suited to a different group, we will reassign it. Frames in progress will be abandoned and started over. (We understand that frames in the same job may take very different amounts of time to render. We won't do it lightly.)
Q: What if I submit my job without using any Server Group at all?
A: We will be automatically notified of this. We will delete the job and ask you to resubmit it to the appropriate group.
You don't want to do this anyway. You might think that submitting without choosing a group would allow you to use the entire render farm, but that's wrong. We limit all jobs to 150 nodes anyway (see below), which is fewer nodes than any of the Server Groups contains. Also, each Server Group prioritises its own jobs, so jobs submitted with no Server Group will be lower priority than all other jobs.
Q: How many nodes will process my job?
A: To allow everyone to get some use of the render farm during busy times, we limit all jobs to 150 nodes each. If you break up your render into multiple jobs, and those jobs are monopolising the render farm, we will suspend all but the first job until other people have also had a chance.
Q: What controls how long a frame takes to render?
A: Output type and size appear to have little effect. It appears to be mostly governed by your "quality" settings. (For example, for the ART renderer, this is called "Render Quality". Render times get long surprisingly quickly: if you choose "High" and set a maximum render time of 4 hours, frames will use all of that time without reaching the "target quality".)
Q: How long will it take to process my job?
A: Do the math: (your expected average frame time) * (number of frames). Divide this by your maximum of 150 nodes for your job. It will take longer than this, because you won't always get 150 nodes, and some frames will fail and retry. You should also expect there to be other jobs -- possibly lots -- in the queue ahead of you.
When doing the math, notice whether you are expecting something impossible. If you have a 1500-frame job where every frame is going to take 6 hours, that's an absolute minimum of 60 hours of rendering time, using 150 nodes of capacity the whole time. If 50 other people have put similar jobs in the queue, and you all have a deadline on Monday, that's not going to work.
Q: When can I submit jobs?
A: Anytime. If you submit outside your Server Group's hours of operation, your job will remain "Waiting" until your Server Group's starting time, at which point the job will start by itself. If the nodes are powersaved, within a few minutes the render farm will notice and begin waking them up. It'll take at least 5 minutes for nodes to start up.
Q: May I increase my job's priority, or tick Critical?
A: No. Don't. Changing priority to move yourself up the queue will be treated as queue-jumping and will, on second offence, result in you losing access to the render farm.
Submitting a job with a higher priority causes all frames in progress on currently-running jobs to be abandoned, to free up the nodes to work on the higher-priority job. This is extremely wasteful of render farm time and unfair to other users.
We will delete the job, as there is no way to fix the problem without causing further disruption.
If all jobs are submitted with the same priority, the queue is first-come first-served. If we allowed priority changes, pretty soon everyone would do it, and all jobs would be submitted with the highest possible priority -- at which point they would all be equal, and be handled first-come first-served anyway. So the only thing achieved by changing priority is a lot of wasted effort and angry users.
Q: May I take queue control in Monitor?
A: No. Don't. This will be treated as misconduct and will probably result in you losing access to the render farm. Be aware that we can tell, from the server logs, when this has been done.
There is one circumstance in which you may take control of the queue, and that is to suspend or delete your own job, if, for example, you have realized that you have submitted it without selecting a Server Group. Having done that, you must immediately close Monitor so that I can take back control of the queue.
Q: Can I direct my output somewhere else?
A: No. The render farm doesn't have permissions anywhere else. 3dsmax won't prevent you from specifying a different location, but the render farm will be unable to access it. Every frame will fail.
Q: My job has thousands of frames; is there anything special I should do?
A: Not really. Be aware of other people's deadlines, though; assume that the render farm may be in heavy use and you may not get as much rendering time as you want.
Q: My job's frames will each take hours to render; is there anything special I should do?
A: Assign your job to the "Long Frames [over 4hr]" Server Group. Submit the job on Friday, so it has the whole weekend uninterrupted. Note that there is a 3dsmax-default 10-hour time limit on individual frames, after which they will be abandoned. The time limit can be increased, but we don't recommend it; you're unlikely to get more than 10 uninterrupted hours successfully on render nodes anyway. Instead, find ways to reduce the per-frame render time. Contact me in advance to discuss options if you have a particularly high-requirements job.
Q: How big does a job have to be, to be eligible for the render farm?
A: It can be tiny! Even a single-frame job is fine.
Q: Why are some computers with low-end graphics cards members of the render farm?
A: It turns out that most renderers don't use the graphics card at all, only the CPU. A good graphics card doesn't help.
Q: What happens to my job after it's completed?
A: After a few days, we will delete it from the queue to keep things tidy. (Note that jobs will be deleted sooner at busy times.) If you want to keep a record, in Monitor, select your job, then choose Job | Report. This would be useful if, for example, you want to be able to look up later how long each frame took to render, or which node rendered a frame.
Q: How long will my Backburner output folder exist?
A: We will delete all Backburner output folders at the end of each academic year. Be sure to copy off any materials you want to keep beyond the end of the year.
Q: Why does the Backburner user have "read-only" permissions on my M: drive?
A: When you submit a job to Backburner, all the external files it will need are bundled up and submitted to the server along with the .max file itself, because of course the Backburner user doesn't have access to the various places you may have stored files. This means that unless you make a mistake like setting your output path to a location on your M: drive, Backburner rendering should be entirely independent of the user who submitted the job.
We believe that 3dsmax 2019 has a bug that 2018 didn't. Even though all the files it needs are supplied to each render node, it looks for them wherever they were originally anyway. This "looking for" is really intense: each render node tries about 1500 times per second. Basically it looks for a file, can't even find the path, doesn't take no for an answer, and tries again. For some jobs, this "looking for" continues throughout the rendering of every single frame. For others, it lasts only a couple of minutes at the beginning of each frame. This activity is intense enough to make the server become unavailable to users.
We can't prevent 3dsmax from trying to perform these reads. We therefore have no choice but to grant the Backburner user read-only permissions to the most likely places it will try to look. You can see these permissions using MyDrives (shortcut on your desktop), if you like; run MyDrives, then click Manage Rights.
We are granting the Backburner user read-only permissions in two places on your M: drive:
Depending on your personal work habits, it may require access elsewhere on your M: drive. We don't want to give it read-only access to your entire M: drive, so instead, we are giving it permission to see all folders on your M: drive. This is the folders only, not files. You'll see this permission on the root of your M: drive. It looks like normal read-only permissions, but that's because MyDrives isn't expecting the extremely limited form of permissions I've granted. In MyDrives, if you tick the box "Show advanced options" and then "Show more detail", you'll get extra columns, confirming that these "read-only" permissions are limited to "This folder and subfolders", whereas other normal permissions are granted to "This folder, subfolders and files". This unusual permission will not allow your Backburner job to complete -- the Backburner user will get "access denied" errors if it needs files from locations other than the desktop or My Documents -- but it is sufficient to prevent Backburner from hammering the server trying to access them.
Here you see the the first 21 frames of the job. In the other columns:
You can also use Monitor to see other things, like how many other jobs are in your Server Group's queue, how big they are, and how many render nodes are up.
Be aware that Monitor is flaky and hangs easily. It's more likely to hang when:
When Monitor hangs, all you can do is close and reopen it.
You can use MyDrives to map a drive letter to the Backburner output filestore, but only for your convenience in collecting your output. Do not use that drive letter when submitting a job. If you do, the job will fail.
You now have the Backburner output filestore on P:. You can open this drive letter in Windows Explorer like any other drive letter, to collect your output.
Each render node produces logs. Backburner produces a log, as does 3dsmax. We upload these logs every 5 minutes to a folder on the network for easy access for troubleshooting.
Backburner/3dsmax logs are so full of information that sometimes it's unhelpful. We provide a summarized version, containing only the log lines from today that we think are most likely to be informative, so that you can see just those lines, all at once. These extracts are generated on a server, every two hours, so be aware that they will be out of date. On busy days, it takes more than an hour to generate the extracts!
To open the log extracts:
In each file, the entries are sorted by computer, then time. Each line has a prefix showing the computer name and the time. For example, the following line comes from render node CT6P-001, and the entry was made at 10:36:20 on 11/04/18:
CT6P-001-Max.log:2018/04/11 10:36:20 INF: [07408] [10588] Done loading file: C:\Users\backburner\AppData\Local\backburner\ServerJob\blinz2.max |
A few examples:
Here's what the Backburner logs look like when a node receives a frame, and then completes it (7 hours later!):
CT6P-001-backburnerServer.log:2018/04/11 21:55:11 INF Job 'FIrst attempt' received and ready |
And here's what the Backburner logs look like when a node receives a frame, but the Backburner server goes down while it is still working on it:
CT6P-001-backburnerServer.log:2018/04/12 04:43:26 INF New task assigned: 530 |
The Max logs can include advice about the job:
CT6P-001-Max.log:2018/04/10 16:20:29 WRN: [09028] [01960] SHDR 0.7 82 MB warn : mia_material(_x): Refractive falloff is used, but the shadow mode is not set to 'Segment'. |
|
|
If you want more than just the extracts, you can see the raw log files. Open \\mfs02\dept02\backburner\logs\nodes. Here we upload the local logs from Backburner and from 3dsmax for each render farm node:
You get the message "Job not found" when you click Submit.
You will also find that if you click on the Task Summary tab in Monitor, no tasks are listed. This is the result of the "Job not found" message. We don't know what causes this, but we do know that the job will never render any frames, because it doesn't fully know that it has any frames.
Unfortunately, we can't automatically detect this problem. All the ways we have of looking at the properties of the job show the correct number of frame.
When we notice the problem, we will delete the job.
No output is arriving in my output directory.
Use Monitor to see the status of your job. It may not have started yet!
Every frame failed to render.
The most likely reason is that you didn't specify the output directory correctly, or you forgot to specify the output directory at all. If you're sure that's not the problem, use the Troubleshooting section to investigate.
Monitor shows my job being rendered one frame at a time on a single node.
When you submitted your job, you chose a file type that has to produce a single output file for the whole thing, like AVI or MOV. This causes Backburner to assign the whole job to one node, because it has to keep the job together. Instead, choose a file type which generates one file per frame, e.g. JPEG. Then, when it's finished, reassemble your frames.
WRN: [.....] [.....] You must have valid objects selected.
This message in the logs probably means that you chose Area to Render: Selected. In the render dialog, on the middle left, look for the drop-down list called "Area to Render". If you chose "Selected" but didn't actually select any objects, you'll get this error. Change it to something more suitable, like View or Region.
The first frame repeatedly fails, no matter what the first frame is.
We don't know what causes this. We do know that:
EEE1-028-Max.log:2019/04/04 04:18:12 ERR: [05896] [01468] Object (UVW 1): Line001 requires texture coordinates and may not render correctly |
The real problem is that the first frame will poison all the available nodes. Suppose you submit a job, each frame of which will take about 3 hours. Here's what happens:
We recommend:
Note that at very busy times, you can still have the problem even if you follow these instructions. If your job is late in the queue, it won't get the maximum nodes assigned to it all at once; it will pick up a few nodes at a time, as earlier jobs finish. With fewer nodes, you're into multiple rounds of rendering, so your available nodes will still dwindle. If this happens, contact me. We may have to suspend and restart your jobs when there is less going on, which of course has deadline implications.
If you figure out what causes the problem, do please tell me!
Some things to consider before you get into detailed troubleshooting:
Here we are interested in the frames that Monitor shows as "Failed".
First, look at the pattern of Failed frames and consider, with your knowledge of your scene, whether the failed frames had anything in common, especially any way in which they differ from the frames that succeeded. If, for example, all your early frames fail, but your later frames succeed, what objects are in the early frames but not the later frames?
If not -- if you have frame failures all over the place -- you can try looking at the logs to see what happened when those particular frames were rendered. You might get helpful items like this:
2018/03/31 00:38:04 ERR: [00664] [00792] Object (UVW 1): Sphere481 requires texture coordinates and may not render correctly |
Well, you might.
Here is a Task Summary in Monitor, showing some Failed frames:
Let's troubleshoot Frame 5. In the "Server" column, you can see that Frame 5 was assigned to server CT6P-001. This is the name of the computer that processed, and failed, the frame. You can also see that it was assigned on 11/04/2018 at 10:35:46. You'll need both these pieces of information.
I look first in date_servergroup_Backburner.log. I search for CT6P-001, and, having found its lines, look for times around 10:35. I get this:
CT6P-001-backburnerServer.log:2018/04/11 10:35:48 INF Job 'blinz2' received and ready |
Notice that, after the date and time, most log items are marked as e.g. INF or ERR. You are probably interested in any that have ERR. In this case, our ERR is reported by 3dsmax and it is that "An unexpected exception has occurred". Well, that's just Windows-speak for "I crashed".
So now I look in date_servergroup_Max.log to try to find more useful information. I search for CT6P-001, and look at what happened around 10:36:41. I find this:
CT6P-001-Max.log:2018/04/11 10:36:17 WRN: [07408] [10588] MAXScript Callback script Exception: -- Runtime error: No method found which matched argument list |
Again, we are looking for lines with ERR and their vicinity. Our last two lines are again about a crash. You could, at this point, Google something like "3dsmax exception_access_violation thread tried to read virtual address appropriate access". Unfortunately, you'll find plenty of people getting this message but no single solution (or rather, many suggestions, but all of them very situation-specific). This again appears to be a generic "I died". My best guess for this problem is that it means that your frame had something in it that 3dsmax really didn't like, to the point where it crashed on startup (these errors always happen within a few seconds of the frame being assigned). Unfortunately I see a lot of frames fail with this error; I think it's probably an example of network rendering being more fragile than local, interactive rendering. You may not be able to get to the bottom of a problem like this.