Nelchai's Render Farm

Introduce yourself, get to know each other.
nelchai
Posts: 31
Joined: Sun May 05, 2013 9:58 pm

Nelchai's Render Farm

Postby nelchai » Sun May 12, 2013 7:09 pm

Hello

This post should actually be rather short. I will consider what I mean by the term "render farm" as a precursor to the act of displaying data to a screen.

:idea: :idea: :idea:

The internet = a network " out there "

An intranet = a network " in here " ( in this case, data transfer would be limited to the computers within one's studio )

Render farm = intranet = a network

SVG is the best way to present graphic data across a network.

Unfortunately, it takes time to render ( mathematically calculate ) and then print the information to a computer monitor. Time needs increase as one zooms an image. Sure, SVG files are smaller than bitmaps. But, it takes a while to render that data to a screen.

:idea: :idea: :idea:

How can that be improved?

CPU processing speed is a hardware design issue.
Boards have just so many wires into the CPU.
Even the best task management algorithms cannot improve the speed of a --- render and print to screen sequence --- beyond the potential of a render farm intranet. The problem is the number of wires into and out of the CPU. Adding wires = adding boards = render farm. This is basically all a render farm does for a system.

[ For those who do not understand the CPU and board --- let me use a metaphor - think of a big jug - you want to pour water into it - you have only one size funnel - if you pour too quickly you get the error of a spill - pouring too slow wastes time - you can not use a different funnel because the hole to the jug is just so large - how then do you store more water in the same amount of time? Get another jug and pour into both. CPUs are a big jug for electrons - the funnel and opening are the insertion points where the wires transferring data ( water ) enter the CPU - the only way to store and process more data, when the openings are already full, is to pour into another CPU. One can create a special funnel which has a single " in hole " and several " out holes " which can each be placed into its own jug. Time management won't help. ]

:idea: :idea: :idea:

SVG - being for the internet - is already constructed to facilitate network distribution.

Simply develop inkscape to allow distribution of that data over an intranet for calculation and data re-composition before the print to screen.


:idea: :idea: :idea:

Say there is a determined threshold of 1 million calculations. At that number, say it takes five minutes to calculate the render and print it to the artist's screen.

The system can be designed so that it knows, at 500,000 calculations - to call upon the resource of a second board. Both boards calculate the render - the data is composited - data is printed to the monitor - the artist saves 2.5 minutes. Being scalable, the render farm ( an intranet ) can be built with a total of 5 boards. Render time just went from 5 minutes to only 1 minute.

( I know the numbers are not actually as clean as I am presenting them, but many readers will probably appreciate the simplicity. )

:idea: :idea: :idea:

I actually remember a time when computers had both a motherboard and a baby board.

At first, users will probably need to manually connect their primary computer to a second one through the Ethernet or other port. If the speed becomes popular, hardware manufacturers may return to a miniaturized version of the multi-board design.

As the internet grows - more people will task it to display more graphic data on the internet and such - they will experience slow speeds - this can be a solution.

SVG is being developed, in part, to solve these types of issues.

The work should actually enhance not only the artist's experience but also the potential of the web itself.

Tanks
James

PS - I just know someone is going to tell me that water will make mother boards and computer hardware short circuit. :twisted:

User avatar
brynn
Posts: 10309
Joined: Wed Sep 26, 2007 4:34 pm
Location: western USA
Contact:

Re: Nelchai's Render Farm

Postby brynn » Sun May 12, 2013 11:07 pm

I'm hardly qualified to offer any helpful comments on this (I don't even get the 'water on the motherboard' joke) and again, may regret it. But this also sounds like something that should be targetted to the level above Inkscape -- something for which SVG/XML can be used, and which Inkscape may utilize or not. Just my humble, and probably unqualified, opinion :D

nelchai
Posts: 31
Joined: Sun May 05, 2013 9:58 pm

Re: Nelchai's Render Farm

Postby nelchai » Sun May 19, 2013 6:31 pm

Hello

The basic concept of a render is that the calculations are sent to the CPU for conversion into another format. In this case from Vector to Bitmap.

Inkscape sends all of that data to only one CPU.

Software which can use a render farm basically divides the calculation set so that it can be sent as "tiles" to several CPUs and boards. The key here is the increased number of boards because a CPU has just so many openings or wires into it. Regardless of how fast the CPU is, it can only receive and send data at a set maximum rate due to their physical design. The only way to get more processing is to have more openings. The only way to get that is to add more boards and CPUs = render farm.

SVG - and inkscape - were written for use on network systems.
Render farms are a network system.

It should be rather easy to use the networking capabilities of the software to divide the data so that it can be sent out to a render farm, converted on a group of boards and CPUs and then sent back to the central or primary computer's mother board and CPU for - basically - compositing with either a PNG file as the result or faster display times to monitor.

The thing is that the software must be able to facilitate this sharing of the work load. The plugging in of additional computers will not make it happen. The software must be able to manage those systems for the divisioning and recomposition.

Tanks
James

User avatar
ragstian
Posts: 1181
Joined: Thu Oct 11, 2012 2:44 am
Location: Stavanger-Norway

Re: Nelchai's Render Farm

Postby ragstian » Sun May 19, 2013 8:14 pm

Hi.

The most efficient - and cost effective - "render farm" for personal use today is the the GPU (Graphics Processing Unit) on a modern screen card.

A Nvidia 780 based card achieves 2234.3 Gigaflops - (flops = Floating point operations per second) - price 650 US$.
A modern CPU - i7-870 @ 3.2GHz(Stock) achieves around 41.2 Gigaflops.
A high end GPU - the Tesla K20 - with 2496 cores achieves a peak of 3.52 Teraflops - at a price of around 3500 US$.

For a deeper explanation; http://www.nvidia.com/object/what-is-gpu-computing.html

RGDS
Ragnar
Good Luck!
( ͡° ͜ʖ ͡°)
RGDS
Ragnar

nelchai
Posts: 31
Joined: Sun May 05, 2013 9:58 pm

Re: Nelchai's Render Farm

Postby nelchai » Sun May 19, 2013 8:28 pm

Hello

:idea: Reply to Ragstian

Yeah, GPUs are great and they drive the very rapid displays in video games. Unfortunately, as far as I can discover, current Inkscape does not prioritize their use for render ( export to PNG ) or as a render prior to print to screen functions when zooming in on a file.

I am not a GPU expert, but the only downside I see is that each one may have its own codec.

The render farm based on CPUs and boards would allow greater diversity of resource allocation over time = greater stability?


Tanks
James

User avatar
Grobe
Posts: 411
Joined: Tue Feb 02, 2010 2:20 am

Re: Nelchai's Render Farm

Postby Grobe » Tue May 21, 2013 12:48 am

If I was about to have my own render farm, I then need at least two computers on my home network. Sure I would be better off if render engine was based on GPU.
Question is - will it work on older graphic cards and will it work on Windows older than Vista?
:lol:


Return to “Personal discussions”