How do you schedule compute resources?
We have the same basic approach to rendering a scene file that is employed by any other render farm. That is, we schedule one frame or tile per render node. If the render job consists of 2 or more frames to be rendered, it is scheduled as one frame per node until complete. If a render job consists of only 1 frame, and it meets all the requirements necessary for tile rendering, it will be scheduled as 1 tile per node until complete. If a render job consists of only 1 frame, but does not meet the tile rendering requirements, it will be scheduled on only one node.
How many nodes, or CPU’s, are working on frames or tiles of your job is controlled by the Power level. The higher the Power, the higher the limit on maximum CPU’s exposed to your job. This does not, and can not, overcome the basic scheduling limitations allowed by render applications today. For example, if your job only has 15 frames left to render, but your Power level exposes the job to more than 15 nodes, there will still only be 15 nodes working on those frames. An individual frame is the smallest sub-dividable portion of the job, and since this case has that maximum as lower than the maximum allowed by your selected Power level, the lower is as good as it gets.
We make every effort to be rendering all jobs, all the time. Given the constraints of finite hardware resources and a completely uncontrolled and unforeseeable input queue, the number of nodes exposed to any given job may need to be less than it would otherwise be if the farm were not under heavy load. In those cases of heavy farm load, the number of nodes exposed to each job is reduced proportionally to their respective Power levels. When the farm emerges from heavy load, normal node counts per Power level are restored. Additionally, if there are idle nodes available when emerging from heavy farm load, they are used automatically to “catch up” any jobs that were impacted by a reduced CPU count. This is done as an effort to deliver as consistent a compute throughput experience as possible.
Lastly, there are “bonus” scheduling bumps in CPU/node count for some jobs. For every $100 spent in the last 7 days, an additional CPU/node is scheduled in addition to that which your chosen Power level affords. Again, this is done entirely automatically by our scheduling system. We hope to encourage sustained, repeat use by offering this free compute throughput bonus.