P2P Grid computing seeks the convergence of Grid and P2P technologies. Deploying a P2P Grid middleware on a set of computers enables an organization to automatically barter computing time with other Internet-connected organizations. Such P2P exchanges of computing time enable individual Peers, i.e. organizations, to transparently aggregate large amounts of computational power with minimal infrastructure requirements or administrative cost.
Challenges arise from the requirement for scalability and robustness. Individual worker nodes are unreliable, as P2P Grids operate on unmanaged desktop computers. A specificity of P2P Grids is that each Peer can reclaim at any time the computational power of worker nodes supplied to other Peers, leading to bursts of execution preemption. These are the major contributions of our dissertation:
* Firstly, we propose a new P2P Grid architecture, the Lightweight Bartering Grid (LBG). Through systematic cooperation between Grid nodes, the reliability of execution of computational requests is greater than the sum of the reliabilities of worker nodes.
* Secondly, we propose a highly scalable data transfer architecture. It is based both on the BitTorrent P2P file sharing protocol and on the removal of the temporal cost of downloading redundant copies of input data files.
* Thirdly, besides a middleware implementation of LBG, we also provide an implementation of a discrete-event simulator. Its originality resides in the weaving of the simulator code into the bartering code of the middleware, which is made possible through the virtualization of Grid nodes. This enables reproducible testing and accurate performance evaluation of the bartering policies because the Peers of a simulated Grid make the same bartering decisions as Peers deployed on real computers.
The LBG architecture exhibits the following remarkable features:
* The scheduling model supports the queueing of external requests and the architecture enables a flexible study of bartering policies.
* The architecture is open, flexible, lightweight and facilitates software engineering. It enables the easy development, testing, evaluation and deployment of combinations of scheduling policies.
* The architecture is fully P2P.