-1

I'm a user of Folding@home and like its ability to leverage idle machine to process tasks. I'd like to do something similar with my work where I can allow users to volunteer their machines and have a client install that will process tasks I have. Ultimately I'll have a centralized system that would coordinate it.

I'm stuck at trying to find the right terminology to lead me to the software/infrastructure to do this. Distributed computing usually assumes control over the machines that you are distributing and in this case I won't have full control, just control through the installed client. Need help on terminology/sample technology where I can start my research.

coreyg
  • 103
  • 3

1 Answers1

1

Distributed computing project is a noun that describes some pleasingly parallel solutions. These are a subset of the broad category of multiple node systems.

Realize that:

  1. The work needs to be extremely parallelizable. Ideally, a small download for many hours of compute, independent of other work units. Few problems are like this, typical transaction processing systems definitely are not.
  2. Almost certainly this will be centrally managed from the beginning. There is infrastructure to distribute and process work units, that you do not see as a user of Folding@Home.

A number of projects are based on Berkeley Open Infrastructure for Network Computing (BOINC), enough to be a column in Wikpedia's table. BOINC is possibly the most popular generic distributed software of this type. Consider creating a project to evaluate using their client and server.

Other job scheduling systems exist. Not all are suitable for idle cycles on PCs.

See also on Server Fault: Distributed computing for a company? Is there such a 'free' thing?

John Mahowald
  • 30,009
  • 1
  • 17
  • 32