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.
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.
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. ]
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.
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. )
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.
Nelchai's Render Farm
Re: Nelchai's Render Farm
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
Basics - Help menu > Tutorials
Manual - Inkscape: Guide to a Vector Drawing Program
Inkscape Community - Inkscape FAQ - Gallery
Inkscape for Cutting Design
Manual - Inkscape: Guide to a Vector Drawing Program
Inkscape Community - Inkscape FAQ - Gallery
Inkscape for Cutting Design
Re: Nelchai's Render Farm
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
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
Re: Nelchai's Render Farm
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
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
( ͡° ͜ʖ ͡°)
RGDS
Ragnar
Re: Nelchai's Render Farm
Hello
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
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
Re: Nelchai's Render Farm
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?
Question is - will it work on older graphic cards and will it work on Windows older than Vista?