1 / 26

Gia : Making Gnutella-like P2P Systems Scalable

Gia : Making Gnutella-like P2P Systems Scalable. HY558 Giorgos Saloustros (gesalous@csd.uoc.gr). Roadmap. Introduction P2P systems Distributed Hash Tables (DHT) Gia Design And Implementation Evaluation Questions. Roadmap. Introduction P2P systems Distributed Hash Tables (DHT)

hateya
Télécharger la présentation

Gia : Making Gnutella-like P2P Systems Scalable

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gia: Making Gnutella-like P2P Systems Scalable HY558 GiorgosSaloustros (gesalous@csd.uoc.gr)

  2. Roadmap • Introduction • P2P systems • Distributed Hash Tables (DHT) • Gia Design And Implementation • Evaluation • Questions

  3. Roadmap • Introduction • P2P systems • Distributed Hash Tables (DHT) • Gia Design And Implementation • Evaluation • Questions

  4. P2P Systems • Distributed Systems that have no central servers • Peers forms an overlay network • All peers have equivalent functionalities • Advantages: Scalability, Resource utilization, Reducing administrative costs • Look Up operation is the main problem all P2P networks need to address

  5. Early P2P Systems • Napster • Centralized file index • P2P file transfer • Gnutella (GNU + Nutella) • Unstructured overlay network, topology and placement of files unconstained • Uses simple flooding for file search among peers • KaZaA • Supernodes and Ordinary nodes • Flooding between Supernodes

  6. Distributed Hash Tables (DHT) • Hash Tables Distributed over multiple nodes • LookUp operation requires O(logn) steps • Examples: Chord • Why not use DHT? • Sensitive in High Churn Rate • Need for Keyword Searches • Look for popular objects

  7. Roadmap • Introduction • P2P systems • Distributed Hash Tables (DHT) • Gia Design And Implementation • Evaluation • Questions

  8. Gia • Goals • Scalability • Higher Aggregate Query Rates(!) • Gia design principles • Topology Adaptation: Nodes are Closer to High Capacity Nodes • Flow Control • One-hop replication of content info • Biased Random Walks

  9. Topology Adaptation • Bootstrapping via host cache or equivalent schemes • Construction of an overlay network with low capability nodes close to high capability nodes • Use of satisfaction metric • Number of Peers [min_nbrs, max_nbrs]

  10. The Algorithm

  11. Satisfaction Calculation Algorithm

  12. Satisfaction Calculation Algorithm • Each Node recalculates S in a time gap • T maximum interval between iterations • K aggressiveness of the adaptation

  13. Flow Control • Active flow control assigns tokens to neighbours • X forwards a query to Y only if X has received a token from Y • Elimination of query packets dropping since gia uses random walks • Token allocation rate varies on query-processing capability and buffer queue of every peer • Start-time Fair Queueing is used with weight as the neighbours’ advertized capacity

  14. One-hop replication • Content information is exchanged during connection and updated incrementally • High capacity peers act as proxy for low capacity peers

  15. Search Protocol • Random walk to highest capability peer with flow token received • Uses GUID to send queries to different paths • TTL and max_responses bounds propagation • Advantage: Reduce flooding / congestion • Disadvantage: Sensitive to peer failures • Solution: keep-alive messages, with app-level retries

  16. Roadmap • Introduction • P2P systems • Distributed Hash Tables (DHT) • Gia Design And Implementation • Evaluation • Questions

  17. Evaluation • Gia is compared with • FLOOD – Gnutella model • RWRT – random walks over random topologies • SUPER – KaZaA model, flooding only between super nodes • Query rate is equal for all peers, bounded only from their capacity

  18. Evaluation • Gia: Random graph with topology adaptation. TTL=1024 • min_nbrs = 3, max_nbrs = 128 • Min_alloc=4 • max_nbrs = min(max_nbrs, Capacity/min_alloc) • RWRT: Random graph with uniform degree distributions. TTL=1024. Average degree = 8. • FLOOD: Random graph with uniform degree distributions. TTL=10. Average degree = 8. • SUPER: Random graph for supernodes. Ordinary nodes connect randomly to one super node (TTL=10).

  19. Gia Performance metrics

  20. CP and CP-HC • Collapse Point (CP) the per node query rate at the knee where the query rate drops below 90%. CP is the metric for the total system capacity • Hop-count before collapse (CP-HC) average hop count before collapse

  21. Performance Comparison • Max Responses = 1

  22. Multiple Search Responses

  23. Factor Analysis

  24. Impact of heterogenity

  25. Robustness CP CP-HC

  26. Questions?

More Related