Jonathan Morton wrote:
Eric mentioned the clustering question some time ago, and I thought up a basic protocol which could distribute the work among ordinary desktop PCs (without clustering software). I think I even managed to make it DoS resistant, in that performance would never get worse than if the PCs remained standalone.
All you need to do is broadcast a request packet every minute when you have work to do, while working on it yourself. Any PCs that hear it can choose to help. Requests that are not refreshed for more than 5 minutes are cancelled. Each PC *always* works on it's own requests in preference to others', but may then work on other requests in random order. Once a solution is found by any PC, it is also broadcast, being a signal for all PCs who hear it to cancel that request.
The basis of Abelard's philosophy, which he taught to Heloise, was that logic had to be applied to religion in order to arrive at the truth.