Peer-to-Peer Systems and the Grid Jon Crowcroft, Tim Moreton, Ian Pratt, Andrew Twigg University of Cambridge Computer Laboratory, JJ Thomson Avenue, Cambridge, UK [email protected]
In this chapter, we survey recent work on peer-to-peer systems, and venture some opinions about its relevance for the Grid. We try to bring some historical perspective and structure to the area, and highlight techniques and open research issues in the peer-to-peer arena which may be relevant to Grid computing. 1 Introduction Peer-to-peer systems are distributed Internet applications in which the resources of a large number of autonomous participants are harnessed in order to carry out the system's function. In many cases, peers form self-organising networks that are layered over the top of conventional Internet protocols and have no centralized structure.
The assumptions on which peer-to-peer computing has grown are wildly different than those underlying Grid computing. Peer-to-peer systems have evolved to support resource sharing in an environment characterised by users potentially numbering millions, most with homogenous desktop systems and low bandwidth, intermittent connections to the Internet. As such, the emphasis has been on global fault-tolerance and massive scalability. On the other hand, Grid systems have arisen from collaboration between generally smaller, better-connected groups of users with a more diverse set of resources to share.
Though these differences have led to distinct sets of requirements and applications, the long- term objectives of peer-to-peer and Grid systems may not be disjoint. In the short term, research emerging from this field will be applicable to many of the challenges faced by the next-generation Open Grid Services Architecture (OGSA) [50], in areas as diverse as resource discovery, scalable load balancing of computation, and highly available storage and data distribution systems.
This chapter is arranged as follows. After investigating the history of peer-to-peer computing and putting the topic in context, we look at the notion of peer-to-peer middleware along with several broad application areas: storage, computation, and searching. We proceed by investigating the relationship between peer-to-peer and Grid computing, and conclude by looking at possible future developments which build on peer-to-peer and Grid computing. Our view is that the future of peer-to-peer and Grid is exciting, but choices need to be made carefully to avoid the pitfalls of the past. Figure 1: Comparing peer-to-peer and grid computing at a high level
Peer-to-Peer Embodies the global sharing of resources for a specific task