community computing
community computing
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!
how does this sound?
thanks!
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
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?
And Joe Average has what, a 512 kBit / sec. uplink?
Every good solution is obvious once you've found it.
Hardly - ADSL in the UK at least usually only has 256KBit upload (but much faster download).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?
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.
still extremely unuseful due to the overhead.
I agree with the obove posters though, it's not worth it with everyday calculations.
Website: https://joscor.com
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.
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...
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.
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.
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...
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?
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.
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
The system will still have a centralized server for data transmission, kinda like Bittorent but with possessing data instead of sending files
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.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?
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.
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!