P2P computing and interaction with grids

Peer-to-Peer environments are characterized by large scale (thousands to millions of participants), intermittent user and resource participation, lack of trust, and lack of implicit incentives for good behavior. Designing mechanisms for Peer-to-Peer (P2P) environments proved to be a stimulating research problem that led to remarkable results in scalability, robustness, location, distributed storage, and system measurements. The “P2P” term is often associated with file sharing, because the P2P systems gained popularity with the large use of file-sharing applications such as Napster, Gnutella and Kazaa. A less addressed and more challenging problem is computing in a P2P environment: computation is notoriously hard to distribute, yet the potential of harnessing millions of computers is tremendous. Grid computing focuses on distributing computation on wide-area collections of shared resources. Rooted in the high-performance scientific computing community, the driving force for Grid computing is supporting computation-, data-, and network-intensive applications. While P2P and Grid systems share the same focus on harnessing resources across multiple administrative domains, they differ in many respects: Grids address support for a variety of applications and hence focus on providing infrastructure with quality-of-service guarantees to moderate-sized, homogeneous, and partially trusted communities. In contrast, P2P systems concentrate on providing support for intermittent participation in vertically integrated applications for significantly larger communities of untrusted, anonymous individuals. However, the convergence of the two systems is increasingly visible: the two research communities started to acknowledge each other by forming multiple research groups that study the potential lessons that can be exchanged; P2P research focuses more and more on providing infrastructure and diversifying the set of applications; Grid research is starting to pay particular attention to increasing scalability. This special issue of Future Generation Computer Systems aims to highlight this convergence by mainly focusing on computation (characteristic to Grids) in P2P networks. To this end, the papers presented here address P2P infrastructure, computational resource management in a global-computing setting, the design of scientific applications over P2P infrastructures, and mechanisms that deal with the intrinsic lack of trust in P2P environments. In addition, the interest for scalable and dynamic Grids is present via an architecture for federatedGridlets. Particular attention is given in this issue to building, evaluating and using infrastructure for supporting applications in P2P environments. Hence, the paper by F. Cappello et al. introduces a computational framework, XtremWeb, which provides a framework for multi-user, multi-paradigm parallel applications. The paper reports on the architecture of the system and its motivations, the parallel programming paradigms and their implementation, deployment and security issues. Infrastructure for building P2P applications is present in this issue through a performance review of the JXTA protocol and two if its implementations. In their paper “The JXTA Performance Model and Evaluation”, E. Halepovic and R. Deters propose a performance model and a set of benchmarks for the evaluation of JXTA. The performance results presented here are helpful in suggesting models of programming efficient P2P applications with JXTA.