Page 1 of 1

Using Other's Idle Time?

Posted: Fri Jan 26, 2007 8:24 pm
by pcmattman
I've recently been looking around the internet and finding screensavers that allow 'scientific progress' or whatever by contributing your computing power. How can I create my own version of one of these? And how do they work?

Posted: Fri Jan 26, 2007 8:32 pm
by Brynet-Inc
A good example of this is SETI@home and other BOINC based software..

It's a really neat Open Source distributed computing package, Basically when your not using your system it downloads "packages" of data and uses your computer to process and send results back to the SETI group.. (In this case.. sifting through lots of radio data from space)

(Basically using Internet connected computers to do all the work..)
Wikipedia wrote:With over 5.2 million participants worldwide, the project is the distributed computing project with the most participants to date. Since its launch on May 17, 1999, the project has logged over two million years of aggregate computing time. On September 26, 2001, SETI@home had performed a total of 1021 floating point operations. It is acknowledged by the Guinness World Records as the largest computation in history (Newport 2005). With over 1.2 million computers in the system, as of November 16, 2006, SETI@home has the ability to compute over 238 TeraFLOPS [1]. For comparison, Blue Gene (currently the world's fastest supercomputer) computes 280 TFLOPS.
http://setiathome.ssl.berkeley.edu/
http://en.wikipedia.org/wiki/SETI@home

You can find more about BOINC here: http://boinc.berkeley.edu/

Whats cool is:
(BOINC is distributed under the Lesser GNU Public License. However, BOINC applications need not be open source.)

I myself see it like a very big super computer,

Posted: Fri Jan 26, 2007 8:53 pm
by pcmattman
I've used SETI@Home...
Brynet-Inc wrote: I myself see it like a very big super computer
That's why I want to find out how they do it.

Posted: Fri Jan 26, 2007 10:51 pm
by Brendan
Hi,
pcmattman wrote:
Brynet-Inc wrote:I myself see it like a very big super computer
That's why I want to find out how they do it.
Mostly, the user runs a "client' which connects the the server and asks for N jobs. The server sends N jobs and the client begins processing them. When the client is finished it sends the results and gets more jobs...

It works well if the work can be split into many independant jobs, but doesn't work if the results of one job are needed for the next.

For example, there's one to crack encryption using "brute force" (for a competition - nothing dodgy), where each client is sent a range of numbers (possible encryption keys) and each client tests to see if one of the keys in their range will decrypt the test data correctly. This works because each client only needs a small amount of data to do each job and doesn't need to care about the results from other clients.

If you can't split something up into a lot of small seperate things, then this approach is entirely useless. For example, if you want to find very large prime numbers then you need to know all previous prime numbers to find the next prime number. In this case it can't be split up because the next job needs to know the results from the previous job (and people would need to download a list containing billions of prime numbers before starting any real processing).


Cheers,

Brendan

Posted: Mon Jan 29, 2007 7:31 am
by Solar
Another point is, people must be interested in your project, so that they dedicate their idle time to you (instead of the RCS challenge, Seti@home or whatever)...

Posted: Mon Jan 29, 2007 8:49 am
by Brynet-Inc
@Brendan, BTW won't your OS be similar? I remember reading somewhere on your site that BCOS was an attempt at distributed computing.

Computer 1 uses Computer 2's resources.. etc?

Posted: Mon Jan 29, 2007 12:07 pm
by Brendan
Hi,
Brynet-Inc wrote:@Brendan, BTW won't your OS be similar? I remember reading somewhere on your site that BCOS was an attempt as distributed computing.

Computer 1 uses Computer 2's resources.. etc?
BCOS is a bit different in that all computers (that are part of the cluster) always share all available resources and the cluster as a whole acts like a single larger system, rather than computers giving a limited amount of resources when/if the user gives permission (and acting as clients to a central server).

This means for BCOS, all computers must be "trusted" (as data is shared between computers without any other restrictions), the connections between computers need to be (relatively) low latency, and the system isn't limited to specific types of work.

For things like SETI@home the opposite is true - the client computers don't need to be trusted, the connections between computers can be relatively slow, and it is limited to work that is highly parallel.

IMHO BCOS is a peer-to-peer distributed OS intended for LANs, while things like SETI@home are client/server distributed applications intended for WANs.


Cheers,

Brendan

Posted: Wed Feb 14, 2007 4:28 pm
by TheQuux
They are somewhat cool... but I've been a little worried about them since I wrote one that spends half the time doing computer vision processing, and the other half cracking the passowrds on the computer :-)

If you're wondering about it, the program name was iprocss.exe (image processing screensaver), and it "calls home" to 192.168.1.102. It shouldn't have left my lan, and if it did, it wouldn't cause much damage.

but, the point is that you have no idea how fast these things should progress on given hardware, so you have no idea whether ALL they're doing is what they say they are. I guess the potential for big-brotherly action is too big for my taste.

Now, if there was an OSS one, that I could read the source of before installing it, I would trust it. And, if there was one for Sparc64, I'd be running it on the two boxes next to my desk (because they ain't doing anything else!)

Posted: Wed Feb 14, 2007 8:06 pm
by Brynet-Inc
TheQuux wrote:They are somewhat cool... but I've been a little worried about them since I wrote one that spends half the time doing computer vision processing, and the other half cracking the passowrds on the computer :-)

If you're wondering about it, the program name was iprocss.exe (image processing screensaver), and it "calls home" to 192.168.1.102. It shouldn't have left my lan, and if it did, it wouldn't cause much damage.
Well that's interesting...

Although nobody wants to hear about your previous Windows "cracking" attempts :roll:

People write silly Windows "trojans" like that on a daily basis.

Do you like my technique of emphasis? :wink:
TheQuux wrote:Now, if there was an OSS one, that I could read the source of before installing it, I would trust it. And, if there was one for Sparc64, I'd be running it on the two boxes next to my desk (because they ain't doing anything else!)
SETI@home and other BOINC based software are usually open source, You're free to look at there source..