DMFW opened this issue on Oct 17, 2005 ยท 15 posts
JavaJones posted Wed, 19 October 2005 at 11:29 PM
I didn't say "networked code is harder to write than multithreaded code". I said "...networked multithreaded code...". That's a key difference. It's easy as pie to render two concurrent frames on the same machine with dual CPU's/cores, or on separate machines by manually launching the processes. But even in that case, when the "effort" is not really in the code and not programmed specifically into the application, it's still easier to do on a single machine than over the network. But rendering something like a single frame across a network (which is equivalent to what you're generally talking about when a renderer is locally multithreaded) is much harder. So when I say it's harder to write networked multithreading code I'm talking about A: rendering applications specifically - including networked web apps is completely meaningless as the methods of doing work are essentially different, with seriously different demands. And B: utilizing the same methods. In other words rendering a single frame on a single machine with 2 processors/cores is a lot easier to accomplish than doing the same over a network. Rendering multiple frames concurrently is similarly easier locally than remotely. The only time it's easier to write networked code would be if you're comparing rendering of a single frame with rendering of multiple frames (single frame on the multicore CPU, multiple across the render farm). But that's comparing apples to oranges. Most major rendering engines have been multithreaded for ages, but comparatively few include actual facility for network rendering of a single frame. As for dedicated render boxes vs. one bigger all around machine, having done a significant amount of benchmarking myself I can tell you that e-mail, web apps, etc. impact rendering applications very insignificantly. Perhaps a few percent at most, amounting to perhaps an hour or two lost over several days of rendering. I think I made it clear that there is no doubt a render farm will accomplish more work for less money. I certainly don't argue that. But if your current machine needs upgrading anyway, it makes more sense to get a nice main machine and later get a bunch of network boxes. It seemed like the original poster was already interested in a new machine. People should also be aware of the space and power issues involved in having a render farm. I think you can all imagine, even with small cases, how much space several machines would take up. And power can be a problem too. Around here a kilowatt of power use costs upwards of 20 cents per hour. If you have 5 machines, which will run at an average of 150 watts or so even with smaller PSU's, you're running 750 watts of power, and if you're using it consistendly that's over 500kw of power use per month, or translated into local power costs over $100/mo. That being said if you're serious about rendering, especially if this is part of how you make a living, there is no method more cost-effective than a bunch of cheap render boxes. So bottom line I think we're in agreement here. ;) - Oshyan