Page 1 of 1

community computing

Posted: Mon May 19, 2008 9:08 pm
by GLneo
Hey all!, OK, I was looking at distributed computer projects and got an idea, how about a project where you donate your computers free time for a point system, then if you need a calculation done you can redeem your points and your task will be distributed to others, you unneeded idle time will be used to help someone and when you need something the favor is returned with great speed!

how does this sound?

thanks!

Posted: Tue May 20, 2008 12:16 am
by os64dev
I have worked in the distributed computing field for a few years. There aren't a whole lot of suitable jobs for it. Sure if you have something like seti and cancer research it works because you have small data packets and immense complex calculations. On avarge just doing stuff on a multicore system will be faster. Communication overhead is a b*tch and 1 GiB/s a minimum requirement.

Posted: Tue May 20, 2008 6:29 am
by Solar
You'd need to tell the other systems what calculations you need. Stuff like Seti@Home or the RC5 challenge are / were highly specialized clients who could check radio transmissions or a RC5 keyspace, but wouldn't know how to encode a MP3 or shrink a DVD.

And Joe Average has what, a 512 kBit / sec. uplink?

Posted: Tue May 20, 2008 6:33 am
by JamesM
Solar wrote:You'd need to tell the other systems what calculations you need. Stuff like Seti@Home or the RC5 challenge are / were highly specialized clients who could check radio transmissions or a RC5 keyspace, but wouldn't know how to encode a MP3 or shrink a DVD.

And Joe Average has what, a 512 kBit / sec. uplink?
Hardly - ADSL in the UK at least usually only has 256KBit upload (but much faster download).

Posted: Tue May 20, 2008 10:02 am
by GLneo
well what if you need a md5 hash reversed, it wont be useful for encoding music or movies, but there are some calculations that one might need done?

Posted: Tue May 20, 2008 12:13 pm
by 01000101
praises my 2 Mb/s upload speed. =)
still extremely unuseful due to the overhead.

I agree with the obove posters though, it's not worth it with everyday calculations.

Posted: Tue May 20, 2008 2:10 pm
by Zacariaz
Still, there are tasks which could benefit from distributed computing.
For a while I was involved in GIMPS (Great Internet Mersenne Prime Search), but the fact that it would take a month to complete a single test annoyed me.

What I'd rather be involved in is a project where no profit organizations, students and so on, who could benefit from such a system, could use some of my computing power.

Posted: Tue May 20, 2008 4:52 pm
by iammisc
I'm working on a distributed programming language but it is only meant for clusters of computers that are connected over a high speed network. I do not believe that the internet will be able to handle the load needed for true distributed general-purpose computing for a couple of years. Hopefully with new connectivity options such as fiber-optic and such, these things will become faster.

Posted: Tue May 20, 2008 5:11 pm
by Zacariaz
i don't think that speed alone will ever justify general purpose distributed computing.
I guess it all comes down to this:
[completion time on host]-([time used to send]+[time used to receive]+[time spend in transfer]) > [completion time on client]

That is if it's efficiency you are after, however, as I see it it's more a matter of cost of a supercomputer vs. speed needed.

I any event a task need to be broken down into smaller bit, which is not always possible.


hmm, maybe I'm not making much sense... I'm kinda tired.

Posted: Tue May 20, 2008 5:17 pm
by GLneo
well i'm not in any way suggesting general computing ( decoding DVD for viewing ) should be done this way but more mathematical, stuff students and researchers could use

Posted: Wed May 21, 2008 7:06 am
by Solar
You still haven't addressed one of the central questions.

RC5, Seti@Home, Mersenne Prime calculation, ... - all of them specific clients with a specific calculation and a specific protocol for sharing the workload of a central repository.

How do you picture general distributed computing? If control over the type of calculation and source and target of calculation data are to be passed over to "other people on the net"... how do you avoid malicious code, how do you avoid my machine being used in a DDoS attack?

Posted: Wed May 21, 2008 11:24 am
by GLneo
Good question, the program and data will be sent to the client, but I could implement an API or a new language for the program code, the interpretor will only allow write access to a small confined folder of user defined size.

The system will still have a centralized server for data transmission, kinda like Bittorent but with possessing data instead of sending files

Posted: Wed May 21, 2008 4:34 pm
by iammisc
How do you picture general distributed computing? If control over the type of calculation and source and target of calculation data are to be passed over to "other people on the net"... how do you avoid malicious code, how do you avoid my machine being used in a DDoS attack?
If this is aimed at me, then let me rephrase. When I wrote general-purpose distributed computing over the internet, I meant you would have a system like software as a service where you buy computing power from a company. My system uses the actor model. I envision the majority of actors that make up a certain component to be running on the main servers while speed critical things could be handled on the remote server. In addition, users can choose to share computing resources between other individuals who they deem to be trustworthy.

I will avoid malicious code through my interpreter and the execution environment which only allows actors to modify and touch only things it is allowed to. It can also be used to stop DDoS attacks. Speed isn't an issue because like a JVM, the system uses a just-in-time compiler. Because the language is based on bytecode, it could also be used to connect hetergenous computers.

Posted: Wed May 21, 2008 11:20 pm
by GLneo
Some time ago me and and a few others here made an md5 reverser ( possibly one of the fastest with source available ): http://www.osdev.org/phpBB2/viewtopic.php?t=14280 and I think this could be a very good practice test for such a system, re-write this program in the interpreted language and send it to clients for solving, just a thought to get stuff rolling, I'll work on something tomorrow!