490 likes | 706 Views
Membership (2). CS 525, Spring 2008, UIUC Presented by Zixia Huang and Yuhao Zheng. What Is Membership. “Who knows whom” relation A knows C, C knows F But D does not know C, J does not know B . Background Information. P2P Overlay network
E N D
Membership (2) CS 525, Spring 2008, UIUC Presented by Zixia Huang and Yuhao Zheng
What Is Membership • “Who knows whom” relation • A knows C, C knows F • But D does not know C, J does not know B CS525 SP08, UIUC
Background Information • P2P Overlay network • A computer network which is built on top of another network • Nodes in the overlay: connected by logical links • Designed to handle a much higher rate concerning joining and leaving nodes • Application • Multimedia streaming with high QoS • Reliable and efficient content delivery CS525 SP08, UIUC
Background Information • Membership Management of P2P Overlay • Be resilient to massive node failures • Be able to deal with a high node churn (high frequency membership changes) • Application • Build on-demand overlay • Facilitate semantic-based content searching • Self-monitor large clusters of nodes to avoid centralized or hierarchical architectures • Good for multicast and broadcast CS525 SP08, UIUC
Background Information • Traditional gossip-based protocols • Called full membership protocol • Require each node should know every other node • Rely on gossip targets being chosen uniformly at random from among all known members • Impose high requirements on memory and synchronization, and affect their scalability CS525 SP08, UIUC
Papers to be Presented Today • Peer-to-peer membership management for gossip-based protocols • A.J. Ganesh et al • IEEE TOC, Feb 2003 • CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays • S. Voulgaris et al • Journal Network Systems and Management, June 2005 • T-Man: Fast Gossip-based Construction of Large-Scale Overlay Topologies • M. Jelasity et al • U. Bologna Tech Report CS525 SP08, UIUC
CYCLON: Inexpensive Membership Management for Unstructured P2P Overlays Spyros Voulgaris, Daniela Gavidia, Marrten van Steen
Outline • Motivations of CYCLON • Protocols • Basic properties • Adding and removing nodes • Self-healing behavior • Discussions CS525 SP08, UIUC
CYCLON: Inexpensive Membership Management • Only maintains a partial view of node membership • Enhanced version of shuffling: better node degree distributions • Better management of node additions and removals (in terms of efficiency and quality) which does not disrupt the randomness CS525 SP08, UIUC
Protocol: Basic Shuffling • Randomly choose a neighbor to shuffle CS525 SP08, UIUC
Protocol: Cyclon’s Enhanced Shuffling • Select the neighbor whose information is the earliest one to shuffle • Result in a more up-to-date overlay • Impose a predictable lifetime on each pointer so that pointers can be distributed in an even way across all nodes CS525 SP08, UIUC
Basic Properties (I) • Connectivity • Given a fail-free environment, connectivity of the overlay is guaranteed. • No nodes becomes disconnected as the result of a shuffling operation CS525 SP08, UIUC
Basic Properties (II) C: Cache Size • Convergence • Average Path Length: average shortest path lengths between any two nodes CS525 SP08, UIUC
Basic Properties (II) • Convergence • Clustering Coefficient (of a node): the ratio of existing links among the node’s neighbors over the total number of possible links among them • Show what percentage the neighbors of a node are also neighbors among themselves CS525 SP08, UIUC
Basic Properties (III) • Degree distribution • Degree (of a node): the number of links it has to other nodes (in a undirected connection graph) • Related to the robustness of the overlay in the presence of failures • Indication of the way epidemics are spread • Indication of how fairly links are distributed among nodes (also an indication of resource usage including bandwidth, processing, etc) • Directed version of graph • Out-degree: # edges leaving from a node, fixed = cache size • In-degree: # edges ending at the node CS525 SP08, UIUC
Basic Properties (III) • Degree distribution CS525 SP08, UIUC
CYCLON: Adding Nodes • A new node P needs to know any single node that is already part of the overlay (called its introducer) • P’s introducer initiates c (cache size) random walks, setting their TTL to a small value close to the expected average path length. The random walk ends at Q. • Q replaces one of its cache’s entries with a new entry of age 0 and the address of P, and forward the replaced entry to P. • P’s entry is filled up with c randomly chosen neighbors CS525 SP08, UIUC
CYCLON: Removing Nodes • When a node initiates a shuffle with a neighbor and gets no reply within a predefined timeout, it simply assumes the neighbor to be disconnected and removes entry. • Timeout >= twice typical latency • Enhanced shuffling: an older node is less likely to be alive CS525 SP08, UIUC
CYCLON: Self-healing Behavior • By using CYCLONE, most nodes are more likely to be connected in a single large cluster at the presence of node failure. CS525 SP08, UIUC
CYCLON: Bandwidth Consideration • Per-node network load depends on • Amount of data transferred per cycle: two on average • Cycle duration: depends on the underlying network bandwidth availability • Set cache entry size to be 8 and each entry 10 bytes long and cycle duration 10 sec, the result of each node is 32 bytes/s very low BW CS525 SP08, UIUC
Discussions • Assumption: older nodes are less likely to be alive. Is it really true? • Remove nodes if time out: if jitter happens over the internet Node failure? • In P2P overlay, is the cycle duration 10 sec too large? • How many nodes will use CYCLON? And what is the effect of CYCLON if # nodes is small? • If # nodes is high, will accumulating traffic be very high? Even though traffic for each node is low. CS525 SP08, UIUC
Peer-to-Peer Membership Management for Gossip-Based Protocols Ayalvadi J. Ganesh, Anne-Marie Kermarrec, Laurent Massoulie
Outline • Motivations • Basic protocol • Refinements • Experimental results • Conclusions • Discussions CS525 SP08, UIUC
Motivations • Aiming at the weakness of traditional full membership protocols, this paper proposes a protocol that • Each node maintains a partial view of the group membership • Is simple, fully decentralized, and self-configuring • Is as resilient to failures as full membership protocols CS525 SP08, UIUC
Basic Protocol • Basic Protocol Concerns • Node joins: subscription • Node leaves: unsubscription • Recovery from Isolation • Simply solved by using heartbeating and resubscribing • Will not be discussed in this presentation CS525 SP08, UIUC
Basic Protocol - Subscription • Subscription (new node join) • Contact: New nodes join the group by sending a subscription request to an arbitrary member. CS525 SP08, UIUC
Basic Protocol - Subscription • Subscription (new node join) • New subscription: When a node receives a new subscription request, it forwards the new node-id to all members of its own local view. It also creates c additional copies (to be discussed later). CS525 SP08, UIUC
Basic Protocol - Subscription • Subscription (new node join) • Forwarded subscription: When a node receives a forwarded subscription, it either accepts the subscriptionor forwards the subscription CS525 SP08, UIUC
Basic Protocol - Subscription • Subscription (new node join) • Keeping a subscription: When a node decides to keep the subscription, it integrates the new subscriber in its PartialView, and informs the subscriber to update its InView CS525 SP08, UIUC
Basic Protocol - Subscription c is a design parameter that determines the proportion of failures tolerated CS525 SP08, UIUC
Basic Protocol - Subscription CS525 SP08, UIUC
Properties of Subscription • All forwarded subscriptions are eventually kept by some node. • If the new node subscribes to a node with out-degree d, then d+c+1 arcs are added • Let E[Mn] denote the expected number of arcs when the number of nodes is n • E[Mn]≈(c+1)nlogn CS525 SP08, UIUC
Basic Protocol - Unsubscription • Unsubscription (node leaves) • PartialView: i(1)~i(L), InView: j(1)~j(L’) • Informs nodes j (1)~j(L’-c-1) to replace its id with i(1)~i(L’-c-1) (mod L), respectively • Informs nodes j(L’-c)~j(L’) to remove it from their lists. CS525 SP08, UIUC
Properties of Unsubscription • If the leaving node has a in-degree d, the total number of arcs decreases by d+c+1 • d-c-1 by replacing • (c+1)*2 by removing • E[Mn-1]≈(c+1)(n-1)log(n-1) • Unsubscriptions preserve the desired mean degree of arcs CS525 SP08, UIUC
Refinements - Indirection mechanisms • Indirection mechanisms • How would a newly joint node select a node to contact? Choosing at random uniformly among existing members requires global information. • Solution: the initial contact forwards the newcomer’s subscription request to a node which is chosen approximately at random among all existing nodes. CS525 SP08, UIUC
Refinements - Lease mechanisms • Lease mechanisms • Each subscription has a finite lifetime • Each node needs to resubscribe at the time that its subscription expires • Advantages • Helps to rebalance the size of partial views across group members • Removes invalid information caused by leaving the group without unsubscribing CS525 SP08, UIUC
Experimental Results • Distribution of partial view size CS525 SP08, UIUC
Experimental Results • Resilience to node failures CS525 SP08, UIUC
Experimental Results • Impact of the lease mechanisms CS525 SP08, UIUC
Experimental Results ? • Impact of indirection mechanisms CS525 SP08, UIUC
Conclusions • Pros • Fully decentralized protocol with O(logn) partial view size • With a very close performance to full membership protocol • Cons • The reason why indirection does not improve the performance is not solved completely CS525 SP08, UIUC
Discussions • How to set the system parameter c? • Self-adjusted by measuring percentage of node failures? • Without indirection, how to prevent a node from being contacted for too many time? • Allow a node to reject the contact when being contacted too frequently? • Why indirection does not improve the performance? CS525 SP08, UIUC
T-Man: Fast Gossip-based Construction of Large-Scale Overlay Topologies Mark Jelasity, Ozalp Babaoglu
Motivations • For most applications, including gossip-based dissemination and routing • Geographically long range links be used less often than short range links • Meaning that topology also has to reflect physical proximity CS525 SP08, UIUC
Basic Idea • Each node • Periodically gossips with a randomly selected peer to exchange their partial views • Merges the received view with its local view • Selects the first c peers (based on a ranking function) of the merged view as its new view • The last two steps happen both actively and passively CS525 SP08, UIUC
Illustrative Example CS525 SP08, UIUC
Conclusions • Proposed protocol requires logarithmic convergence time independently of the target topology. • But the actual convergence time depends on the target topology itself. CS525 SP08, UIUC
Discussions • What is the advantages and disadvantages of using geographically short links more frequently? CS525 SP08, UIUC
The End Thank you!