community computing

Programming, for all ages and all languages.
Post Reply
GLneo
Member
Member
Posts: 237
Joined: Wed Dec 20, 2006 7:56 pm

community computing

Post 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!
User avatar
os64dev
Member
Member
Posts: 553
Joined: Sat Jan 27, 2007 3:21 pm
Location: Best, Netherlands

Post 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.
Author of COBOS
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post 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?
Every good solution is obvious once you've found it.
User avatar
JamesM
Member
Member
Posts: 2935
Joined: Tue Jul 10, 2007 5:27 am
Location: York, United Kingdom
Contact:

Post 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).
GLneo
Member
Member
Posts: 237
Joined: Wed Dec 20, 2006 7:56 pm

Post 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?
User avatar
01000101
Member
Member
Posts: 1599
Joined: Fri Jun 22, 2007 12:47 pm
Contact:

Post 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.
User avatar
Zacariaz
Member
Member
Posts: 1069
Joined: Tue May 22, 2007 2:36 pm
Contact:

Post 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.
This was supposed to be a cool signature...
iammisc
Member
Member
Posts: 269
Joined: Thu Nov 09, 2006 6:23 pm

Post 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.
User avatar
Zacariaz
Member
Member
Posts: 1069
Joined: Tue May 22, 2007 2:36 pm
Contact:

Post 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.
This was supposed to be a cool signature...
GLneo
Member
Member
Posts: 237
Joined: Wed Dec 20, 2006 7:56 pm

Post 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
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Post 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?
Every good solution is obvious once you've found it.
GLneo
Member
Member
Posts: 237
Joined: Wed Dec 20, 2006 7:56 pm

Post 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
iammisc
Member
Member
Posts: 269
Joined: Thu Nov 09, 2006 6:23 pm

Post 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.
GLneo
Member
Member
Posts: 237
Joined: Wed Dec 20, 2006 7:56 pm

Post 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!
Post Reply