Managing Peer-to-Peer Applications Vana Kalogeraki Hewlett-Packard - - PowerPoint PPT Presentation

▶
managing peer to peer applications
SMART_READER_LITE
LIVE PREVIEW

Managing Peer-to-Peer Applications Vana Kalogeraki Hewlett-Packard - - PowerPoint PPT Presentation

Managing Peer-to-Peer Applications Vana Kalogeraki Hewlett-Packard Laboratories Palo Alto, CA 94304 vana@hpl.hp.com Vana Kalogeraki H 1 What is a P2P System?


slide-1
SLIDE 1

Vana Kalogeraki

H

1

Managing Peer-to-Peer Applications

Vana Kalogeraki Hewlett-Packard Laboratories Palo Alto, CA 94304

vana@hpl.hp.com

slide-2
SLIDE 2

Vana Kalogeraki

H

2

What is a P2P System?

❏ Virtual point to multipoint network of many peers ❏ Symmetric communications between peers ❏ Ad-hoc communication & collaboration between peers

slide-3
SLIDE 3

Vana Kalogeraki

H

3

P2P Taxonomy

❏ Distributed Computations/Edge Services

★

Employ and aggregate unused processing power and storage resources of individual computers

★

Seti@Home, Intel, Entropia

❏ Distributed Search/Information Sharing

★

Message broadcasting system to discover peers and search for information

★

Gnutella, Freenet, Napster

❏ Distributed Computing Platform

★

Real-Time Collaboration

★

Sun’s JXTA, Groove, Proksim

slide-4
SLIDE 4

Vana Kalogeraki

H

4

P2P Success Stories

❏ Popularity of Napster

★

Online users: 9,842

★

Shared MP3 files: 1,633,585

★

Shared drive space (GB): 6,838

❏ Popularity of Gnutella Network

★

Online peers: 43,546

★

Shared files: 1,843,549

★

Shared drive space (GB): 41,170

❏ Popularity of JXTA

★

Online users: 6,809

★

CVS Commits: 769

slide-5
SLIDE 5

Vana Kalogeraki

H

5

The Advantages are Compelling

❏ Innovation at the edges of the network ❏ Cost savings

★

Aggregate existing resources

❏ Autonomous, decentralized systems

★

Direct & real-time connectivity

❏ High-availability

★

Remove single point of failure

❏ Various Transparencies

★

Location, migration, language/OS/platform

slide-6
SLIDE 6

Vana Kalogeraki

H

6

But what are the challenges?

❏ How to build a system that will scale with exponential network growth? ❏ How to efficiently propagate the requests through a large number of peers? ❏ How to monitor the actual behavior of the peers and the actual usage of the resources? ❏ How to dynamically deploy the objects on the peers and balance the load on the resources? ❏ How to provide end-to-end QoS and real-time guarantees?

slide-7
SLIDE 7

Vana Kalogeraki

H

7

Peer-to-Peer Applications

❏ Modeled as a sequence

  • f method invocations of
  • bjects across multiple

processors ❏ Topology of the resulting network could be random ❏ Dynamically setup routes ❏ Problem: which peers to connect to?

slide-8
SLIDE 8

Vana Kalogeraki

H

8

Issues in the P2P networks

❏ Architectural organization ❏ Routing of queries in the network ❏ These are difficult problems because..

★

Dealing with the dynamic aspects of the system

  • Peer arrival/departures
  • Data publishing/withdrawal

★

Peers have limited knowledge

★

Peers make autonomous decisions

slide-9
SLIDE 9

Vana Kalogeraki

H

9

The Model

❏ Peer

★

Set of interests

★

List of peers

★

Horizon

★

Local Knowledge

★

Resource capabilities (communication, processing, storage)

★

Asynchronous requests for information

★

Timely delivery of critical content

slide-10
SLIDE 10

Vana Kalogeraki

H

10

Searching in the Network

❏ Messages are sent over multiple hops from one peer to another ❏ P2P Protocol

★

Ping: discover active peers in the network

★

Pong: reply to a Ping message including IP address

★

Query: search for data in the network

★

QueryHit: reply to a Query message with the corresponding results

Queuering Peer Query Hit Query

slide-11
SLIDE 11

Vana Kalogeraki

H

11

Peer Profiles

Monitor ❏ Search requests (type & time) ❏ Number & source of replies ❏ Time to get a result ❏ Immediate peer who propagated the results ❏ Peer failures

Queuering Peer Immediate Peer Indirect Peer

slide-12
SLIDE 12

Vana Kalogeraki

H

12

Resource Monitoring

❏ Current utilization of processor resources

★

processor (i.e., cpu, memory)

★

storage (i.e., disk)

❏ Bandwidth on the communication links ❏ Percentage of resources used by executing requests ❏ Profiling frequency is important

★

User behavior

slide-13
SLIDE 13

Vana Kalogeraki

H

13

System Objectives

❏ Importance of a Peer ❏ Minimize the number of messages in the network ❏ Retrieve data fast ) 1 , ( * ) 1 ( ) ( ) ( * ) , ( − − + = t q Importance a q s averNumHop q its percQueryH a t q Importance

p p p p

slide-14
SLIDE 14

Vana Kalogeraki

H

14

Performance Results

Number of QueryHits

10000 20000 30000 40000 50000 1 5 9 13 17 21 25 29 33 Num of Decision Points Num of QueryHits Gnutella Our Model

slide-15
SLIDE 15

Vana Kalogeraki

H

15

Performance Results (cont.)

Mean Num of Hops

1 2 3 4 1 4 7 10 13 16 19 22 25 28 31 34 Num of De cision Points Num of Hopts Gnutella Our Model

slide-16
SLIDE 16

Vana Kalogeraki

H

16

Impact of Applications at the Edges

❏ Objects maintained by peers not unique ❏ Popular objects highly replicated ❏ Each object characterized by meta-data (e.g., name, provider, keywords)

★

keyword searches

❏ Problem: how to uniquely identify the objects among the peers

slide-17
SLIDE 17

Vana Kalogeraki

H

17

Load Balancing

❏ Distribute objects on peers to meet end-to-end real-time response requirements ❏ Improve performance and availability of applications ❏ Best location to deploy objects based on

★

Number of object replicas in the network

★

Load on the peers

★

Latencies of the applications

★

Number and frequency of object invocations made by users

❏ Peer-to-Peer applications both originated and delivered from the edges of the network

slide-18
SLIDE 18

Vana Kalogeraki

H

18

Conclusions

❏ Decentralized management of peer-to-peer applications ❏ Connections between the peers established dynamically

Future Work

❏ Global state of system cannot be captured ❏ Current work has focused in the sharing of “small” objects ❏ Assure reliability of applications despite the unreliability of the peers ❏ Security issues (eg., user authentication, encryption..)