Tuesday, May 20, 2008

Distributed JS Supercomputer

The idea is as simple as crazy: create a JavaScript library to perform distributed computing. Put this library on sites with low postbacks rate, e.g. Google Reader or YouTube.com. While users are watching videos your JavaScript library will search the next biggest prime number or extraterrestrial civilizations.

Yes, there will be many things to solve. Here are the most obvious:
  1. Security. Client-side computation can not be considered as reliable. But you can easily check correctness of computation by giving the same portion of tasks to several different clients. Furthermore there are many problems where it is hard to calculate an answer but easy to check whether specified answer is valid.
  2. Performance. JavaScript is not multithreaded. But you can give small portions of time to your "worker" functions...
Anyway, you guys are much smarter than me. Maybe you could improve this idea ;)?