Future Of Internet-Based Distributed Computing
miss_america writes: "CNN is running an article about how the Internet has fueled distributed/parallel computing. It talks about the limitations, implications and possibilities of internet-based distributed computing. The article highlights UC Berkeley's SETI@home project, Distributed.net, and the ProcessTree Network."
What CNN doesn't talk about is security for the participants' machines. Open source is helpful, because you can see what you're running, and people can find bugs in it, but that's really most effective for the first few special projects like GIMPS, distributed.net and SETI than it will be for running arbitrary code in a large distributed-processing industry. The worst case would be malicious distributed-processing code (either viruses or simple DDOS applications), but even non-malicious code with buffer overflow bugs could be a real disaster, both to the PC users and to whoever their machines might be used to target. It's possible to be somewhat safer by using sandboxed computing environments, such as Java, so everybody knows their machine will be safe, but they tend to be much slower than running compiled native applications. This can be improved somewhat by using standard compiled libraries, e.g. bignum calculations, but it's still a wide open problem.
Are there any environments you know about that are safer, or safe enough and faster?
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
Place: Distributed.net HQ
Time: end of 198 year long search for the meaning of life.
"... and the answer is: ......"
"42."
"42? What the hell!?!."
Ham on rye, hold the mayo please.
thelocust[dot]org
correct me if I'm wrong, but isn't this exactly what process tree is supposed to do? (eventually) they will essentially buy your extra processor cycles...
We've got volunteer/non-profit CPU cycle networks, and we're going to have at least one for-profit group starting up soon. I don't speak for everyone, but I am more likely to donate my cycles to a project that has a strong benefit for everyone, which is not done for profit motives. Why should I donate cycles to a project to make someone else rich? That said, I might be persuaded to *sell* cycles to a for-profit company provided it was worth my time.
If tits were wings it'd be flying around.
When reading the article, it occured to me that massively distributed projects can only be really effective for tasks that don't require low latency. You can't exactly run Quake on a distributed supercomputer that goes over the internet, because by the time the packet returned with the end-results, the frame they were for would be many seconds in the past.
Distributed computing is currently only effective for things like Seti or Distributed.net where blocks can disapear into distributed space for hours before returning a result. For this reason, I can't see the current level of distributed technology taking off.
The second item, and possibly the most important, is getting people to run a distributed client itself. Think about it, people run Seti@Home because of an almost religious conviction that they might be able to help find extraterrestrial life. With distributed.net, it's all about the geek-romance of brute forcing huge keys. I can't see people getting passionate about speeding up financial forecasts or bragging to their friend how they helped render part of a frame of some undergrads Multi-media project.
People need to be passionately involved to run distributed clients. If you paid people for their distributed time, the total would probably come up to a few pennies a month. Most people would spend more then that in their own time simply downloading and installing the program!
Distributed computing on this scale can't be effective unless the users who offer their CPU ticks are passionately involved. Business models based on selling ticks are doomed to fail if they can't capitalize on emotional involvement in distributed projects. Money, as shocking as this may sound, just ain't enough for this application.