19
Super-peer Network

Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella) Essentially a breadth-first search using TTLs Distributed Hash

Embed Size (px)

Citation preview

Page 1: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-peer Network

Page 2: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Motivation: Search in P2P

Centralised (Napster)Flooding (Gnutella)

Essentially a breadth-first search using TTLs

Distributed Hash Tables

Page 3: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

But….all peers are not equal

20% peers have a latency of at most 70ms and 20% have a latency of at least 280ms

Page 4: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Basic Idea

Real-World P2P systems for the open Internet are heterogeneousPeer resources (Bandwidth, CPU, Memory)Peer session-time

Use Peers with better “characteristics” to provide services to other peers in the system

Page 5: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Definition

A super-peer is a node in a peer-to-peer network that operates both as a server to a set of clients, and as an equal in a network of super-peers. [Yang/Molina '03]

Super-peers have high utility relative to non super-peers, where higher utility peers are “better” at providing superpeer service(s).

Page 6: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Networks

Exploit heterogeneity in P2P Networks by using higher utility peers to provide services

A super-peer network operates exactly like a pure P2P network, and each super-peer is connected to a set of clientsClients are connected to a single super-peer

only

Page 7: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Architecture

Page 8: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super peer network

ClusterA super-peer and its clients

Cluster sizeNumber of nodes in the cluster, including the

super-peer itselfA pure p2p network is actually a

“degenerate” super-peer network where cluster size is 1Every node is a super-peer with no clients

Page 9: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super peer network

Super-peer keeps an index over its clients’ dataJoints

Client sends metadata over its collection to its super-peer

Updates

Query processingClient -> super-peerSuper-peer -> neighbors (super-peer)

Page 10: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Design Issues

What services do super-peers provide? Ordinary peer to super-peer connections

Redundancy, Performance, Fairness

Super-Peer Connection Topology Super-peer promotion

Which/how many peers should be super-peers?

Page 11: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

What Services do Super-Peer Systems provide?

File Naming/Retrieval Kazaa E-Donkey

Voice Over IP (VoIP) Skype

Anything you want!

Page 12: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Ordinary Peer to Super-Peer ConnectionsA super-peer become a single point of

failure for its cluster and a potential bottleneck

To provide reliability to the clusterK-redundant

Clients send queries in a round-robin fashion

Page 13: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Ordinary Peer to Super-Peer (SP) Connections

A k-redundant super-peer has much great availability than a single super-peer, howeverThe aggregate cost of a client joint action is k

times greater than beforeThe number of open connections amongst

super-peers increases by a factor of k2 !Super-peer redundancy has the surprising

effect of reducing load on each super-peer, in addition to providing greater reliability

Page 14: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Connection Topology

The type of intra-SP topology affects the type of distributed services they provide

Random NetworkFlooding, Random Walk

DHT (don't know of any systems that do this)

Gradient TopologyGradient search

Page 15: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Search in Random andGradient SP Topologies

Page 16: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Promotion

Options:1. Promote peers that meet local utility

requirements2. Promote the top 'X' percent of peers with

highest utility (requires global knowledge of peer utility distribution)

Page 17: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Promotion usingLocal Knowledge

Promotion algorithm makes a local decision about promotion using:Measurements of the peer’s local utility levels

for Bandwidth, CPU, MemoryA Model of Peer Utility Distributions

Page 18: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Super-Peer Election using Global Knowledge

Too expensive solutionsCentralized ServersClassic Election Algorithms

Gossiping / AggregationUsed by Gradient Topology

Page 19: Super-peer Network. Motivation: Search in P2P Centralised (Napster) Flooding (Gnutella)  Essentially a breadth-first search using TTLs Distributed Hash

Conclusion

A combination of the centralized client-server model (efficiency) and distributed search (load balancing and robustness)