G2-P2P: A Fully Decentralised Fault-Tolerant Cycle-Stealing Framework

Mason, R. and Kelly, W.

    Existing cycle-stealing frameworks are generally based on simple client-server or hierarchical style architectures. G2:P2P moves cycle-stealing into the 'pure' peer-to-peer (P2P), or fully decentralised arena, removing the bottleneck and single point of failure that centralised systems suffer from. Additionally, by utilising direct P2P communication, G2:P2P supports a far broader range of applications than the master-worker style that most cycle-stealing frameworks offer. G2:P2P moves away from the task based programming model typical of cycle-stealing systems to a distributed object abstraction which simplifies communication. It uses a distributed hash table based overlay network to provide an efficient method of referencing application objects while still allowing volunteer machines to come and go from the network. Most importantly, G2:P2P provides a sophisticated fault tolerance mechanism to ensure applications execute correctly. This mechanism is entirely automated, requiring no special effort on the application developer's part. The framework is implemented as an extension to .NET's Remoting framework, providing a familiar model for application programmers and an easy upgrade path for existing .NET sequential applications.
Cite as: Mason, R. and Kelly, W. (2005). G2-P2P: A Fully Decentralised Fault-Tolerant Cycle-Stealing Framework. In Proc. Australasian Workshop on Grid Computing and e-Research (AusGrid 2005), Newcastle, Australia. CRPIT, 44. Buyya, R., Coddington, P. and Wendelborn, A., Eds. ACS. 33-39.
pdf (from crpit.com) pdf (local if available) BibTeX EndNote GS