Idea is, probably, that the more distributed nodes the more in parallel they can do. Useful for lots of frames or large images. Neat idea to put it in a browser, but main trouble with making a production rendering is in implementation details and support for applications and shading networks.
This is a huge waste of energy / calculation power, right?
I really, really understand the technical fancy behind this kind of parallel computing projects BUT have to imagine the wast of energy this would cause if really used for a real world calculation jobs compared with a dedicated server farm...
Or did the energy / calc-power realities change significantly lately?
Your own workstation and a dedicated server farm both waste power if they're under-utilized. So for server farms, we've consolidated with "clouds." Unfortunately your workstation still sits idle most of the time, so now this is just a really large cloud to schedule that capacity as well.
The power draw of my laptop under load versus typing this comment is almost 2:1. Under-utilized computers are not a waste of power, they're saving power. I'm especially not OK with unknowingly donating my battery capacity and limited cell data so CrowdProcess can sell it to someone while I read an article. This is just bad business for everyone involved (and the environment).
> Under-utilized computers are not a waste of power, they're saving power.
Does this mean we should fill homes and datacenters with a larger number of machines operating at fractional capacity in an effort to be more efficient than a smaller number fully utilized machines?
> I'm especially not OK with unknowingly donating my battery capacity and limited cell data so CrowdProcess can sell ...
That's fine, and I certainly agree, but it's off-topic to my question and this thread. I don't appreciate being summarily down-voted because every single comment is not in lock-step with berating the submitter on this point. There's a thread mentioning this, and I'm sure we all upvoted it.
Say you have a computational task you want to run.
You can run that on a single server for 1 minute, and use 5 watt-hours of power.
Or you can translate it to JavaScript and run it on 50 web browsers for a minute each, and use at least 50 watt-hours of power. That's what this would look like, since you lose so much to having to use JavaScript, not having a dedicated server-class CPU devoted to your task, and to overhead of transferring the data to/from the client. Heck, you'll waste a bunch of power just sending the code and data to clients that leave the page before sending back results, which means their slice of the work has to be run multiple times on multiple computers.
Same end result, 10+ times more electricity used, through a combination of having to do much more work, and doing it on much less efficient hardware. Money down the drain, pollution in the air. In reality the math is even worse than that for most tasks.
So, nobody's suggesting you fill homes with more PCs for some reason. The suggestion is to leave the PCs we already own alone, drawing a fraction of their maximum possible electric usage. If you're going to try to better utilize existing capacity, do it by buying spot instances on AWS for pennies per hour, because those machines will give you vastly more computation per watt. It would also be more power-efficient to add a brand new dedicated server to the data center for these tasks than to utilize visitor web browsers.
This works fine when you're doing stills with simple scenes. When you've got GBs/TBs of external assets in the form of source geometry and texture data, all nodes need access to the same source data.
Once you start doing Monte Carlo path tracing and need decent sampling, you've also got to be careful that each node is generating the seeds for the random number generator correctly, otherwise you get patterns in the noise when you piece them back together.
For animated stuff, you're better off distributing the different frames across the nodes instead of splitting up each frame.
The underlying technology here is CrowdProcess (https://crowdprocess.com/). Their business model is to use CPU time of visitors of websites to make money, by selling access to that CPU power to people who want to run parallel jobs, like mine bitcoins.
So a more than doubling of performance is unethical because the internet is being used for its intended purpose? Can you elaborate on this criticism? I'm assuming your threshold for "ethical" is perhaps 10x?
The 'ethical' part is likely referring to using visitors' browsers/CPUs to do your compute work without getting consent.
Parent post also mentioned the bandwidth usage is high so you're not only using the CPU but using up a visitor's bandwidth (many of whom have low monthly limits).
15 comments
[ 3.1 ms ] story [ 50.4 ms ] threadhttp://f.cl.ly/items/3t2m1Z241x3E0X2o181L/Screen%20Shot%2020...
I really, really understand the technical fancy behind this kind of parallel computing projects BUT have to imagine the wast of energy this would cause if really used for a real world calculation jobs compared with a dedicated server farm...
Or did the energy / calc-power realities change significantly lately?
Your own workstation and a dedicated server farm both waste power if they're under-utilized. So for server farms, we've consolidated with "clouds." Unfortunately your workstation still sits idle most of the time, so now this is just a really large cloud to schedule that capacity as well.
Does this mean we should fill homes and datacenters with a larger number of machines operating at fractional capacity in an effort to be more efficient than a smaller number fully utilized machines?
This citation, ceteris paribus, seems to disagree: http://stackoverflow.com/questions/6128960/what-is-the-relat...
> I'm especially not OK with unknowingly donating my battery capacity and limited cell data so CrowdProcess can sell ...
That's fine, and I certainly agree, but it's off-topic to my question and this thread. I don't appreciate being summarily down-voted because every single comment is not in lock-step with berating the submitter on this point. There's a thread mentioning this, and I'm sure we all upvoted it.
Thanks.
You can run that on a single server for 1 minute, and use 5 watt-hours of power.
Or you can translate it to JavaScript and run it on 50 web browsers for a minute each, and use at least 50 watt-hours of power. That's what this would look like, since you lose so much to having to use JavaScript, not having a dedicated server-class CPU devoted to your task, and to overhead of transferring the data to/from the client. Heck, you'll waste a bunch of power just sending the code and data to clients that leave the page before sending back results, which means their slice of the work has to be run multiple times on multiple computers.
Same end result, 10+ times more electricity used, through a combination of having to do much more work, and doing it on much less efficient hardware. Money down the drain, pollution in the air. In reality the math is even worse than that for most tasks.
So, nobody's suggesting you fill homes with more PCs for some reason. The suggestion is to leave the PCs we already own alone, drawing a fraction of their maximum possible electric usage. If you're going to try to better utilize existing capacity, do it by buying spot instances on AWS for pennies per hour, because those machines will give you vastly more computation per watt. It would also be more power-efficient to add a brand new dedicated server to the data center for these tasks than to utilize visitor web browsers.
Once you start doing Monte Carlo path tracing and need decent sampling, you've also got to be careful that each node is generating the seeds for the random number generator correctly, otherwise you get patterns in the noise when you piece them back together.
For animated stuff, you're better off distributing the different frames across the nodes instead of splitting up each frame.
I think they should consider the possibility of legal action against them, considering what happened to the guys doing this with a bitcoin miner: http://www.techdirt.com/articles/20140205/17512926103/new-je...
The 'ethical' part is likely referring to using visitors' browsers/CPUs to do your compute work without getting consent.
Parent post also mentioned the bandwidth usage is high so you're not only using the CPU but using up a visitor's bandwidth (many of whom have low monthly limits).
Internet capped at 100KB/s: http://i.imgur.com/NhOiWCz.png