I guess we're all familiar with projects such a SETI@home, or distributed.net
, where millions of computers, mostly located in people's homes, crunch away at data packets sent out by their servers. The net result of this combined computing effort equals that of a massive supercomputer, like no other that exists today. Although the SETI@home project has more than proven the concept, there's actually a lot more potential surrounding this or similar forms of distributed computing.
The magnitude of computing power that SETI@home can tap into is more than any professional research institute or university has available. If that kind of computing power could be devoted to other things, such as scientific calculations and simulations, or materials research and other fields of study, we will see a significant increase in efficiency and progress. Many projects can be finalized in months rather than years, and with much lower budgets since we can make models more complex, with more variables. The more people and machines brought in to support the project, the more complex or more time-efficient the calculations can be.
However, how do we persuade home users, or even better whole companies, to run a client application on their machines? Well, that's where the problem lies; we'll simply have to make it worthwhile to participate. Whereas the SETI@home project has to make do with individuals who donate spare CPU cycles to a good cause, lots of users will not be that motivated by just any project. The solution could be simple yet effective: pay for CPU cycles. Many individuals and companies operate a growing number of PCs, which cost money every minute they're not used, so if we could tap into those unused cycles and compensate the owners, they could recover part of their equipment's expense.
Actually, in case of a large company, running a large number of machines during lunch or even overnight would quickly result in lots of data processed for the project and generate a fair bit of money. This money can cover, for example, routine maintenance, upgrades or even buying new equipment. Ideally, not a CPU cycle would be lost, and all of the idle time will be put to good use. So in the end both the project and its participants profit, the project taps into the required computing power, and each individual user gets compensated for CPU cycles which otherwise would go unused.