An approach for implementing high throughput computing in a peer-to-peer environment - Trogo, Rhia S. (Animo Repository, 2005)
Peer-to-peer systems are now being used for sharing files and harnessing idle computing resources. Currently, there are peer-to-peer (P2P) systems that harness computing resources (i.e., SETI@Home (SETI Project, 2003) and ChessBrain (ChessBrain, 2003)) but only allow privileged users to send jobs that can be processed by resources available to ordinary computers connected on the Internet. This research provides a system model for high throughput computing (HTC) in a peer-to-peer environment with job distribution. The system model accommodates dynamic membership (i.e., nodes may join and leave the system arbitrarily) through supernodes that keep track of a partial list of peer nodes. The system is designed based on the model that allows peer nodes to submit jobs for other nodes to process and at the same time allow nodes to execute jobs submitted by other nodes. Due to the nature of P2P, nodes can take on the role of a client and a server at the same time. Moreover, the system allows distribution of jobs to qualified server nodes based on job requirements specified by the client node. Each node has a local partial list of server nodes that is organized based on their static properties. In case of unavailability of a qualified server node in the local partial list, the supernode to which the node is registered is contacted by sending the requirements of a job. If a qualified server is still unavailable, the node will get the first supernode in its supernode list. The possibility of stale data was considered because properties of the nodes change over time. The system model was analyzed in terms of message overhead and scalability using a simulator. Walkthroughs for the worst cases were also considered given the algorithm of the system.