SUB2 SUB SelfOrganizing Collaborative Contentbased PubSub Spyros Voulgaris
“SUB-2 -SUB” Self-Organizing Collaborative Content-based Pub/Sub Spyros Voulgaris, Etienne Rivière, Anne-Marie Kermarrec, Maarten van Steen
Publish/Subscribe n n What are pub/sub systems? ¨ Subscribers register their interest ¨ Publishers issue events ¨ An event is delivered to all interested subscribers, and no others Here: Content-based Pub/Sub ¨ Range subscriptions on multiple numeric attributes. 2
Current solutions n Current systems: Centralized servers (e. g. , Tibco) ¨ Broker-based (e. g. , Siena) ¨ n Servers become a bottleneck/single point of failure network size increases ¨ node churn increases ¨ more events are published ¨ n Triggered interest in decentralized P 2 P solutions 3
Interest in P 2 P solutions n What kind of P 2 P system is suitable? n Most research has focused on Structured P 2 P (DHTs) ¨ Map attribute to peer n ¨ Peers handling popular attributes get overloaded Map (attribute, value) to peer n Can lead to explosion of registrations for range subscriptions n Meghdoot, based on CAN DHT, supports ranges too n We show Unstructured P 2 P can give a simple and efficient solution, supporting ranges 4
Sub-2 -Sub: System Model n Assume N attributes (real numbers) ¨ A 1, A 2, …, AN n Subscriptions are range (trivially exact) predicates on one or more attributes ¨ E. g. A 2==3. 07 && (2. 5< A 4<4. 7) ¨ One subscription per peer n Events define exact values for all attributes ¨ E. g. {A 1, A 2, A 3, A 4} = {3, 0, 7, 10. 5} n The set of all possible events define the event space ¨ It’s an N-dimensional, continuous space 5
Sub-2 -Sub: Key Concept “Partition event space in homogeneous subspaces” (homogeneous subspace: all its events have the same subscribers) 6
Sub-2 -Sub: Operation 1. Let subscribers of “near” subspaces discover each other 2. Organize subscribers of the each subspace in a ring 3. To publish an event, navigate to the target subspace, and hand the event to any one subscriber ¨ Event reaches all and only interested subscribers, autonomously! 7
How do we build Sub-2 -Sub? n n How do we… ¨ Q 1: …maintain connectivity in the face of churn / failures? ¨ Q 2: …form links between related subscribers? ¨ Q 3: …organize subscribers within a subspace in a ring? Each node 3 sets of links to other nodes ¨ Managed by 3 gossiping protocols 8
Q 1: Maintaining connectivity n We use the CYCLON gossiping protocol [S. Voulgaris, D. Gavidia, M. van Steen. Journal of Network and Systems Management, Vol. 13, No. 2, June 2005] n Nodes maintain a few links to other nodes n Periodically a node gossips to exchange some links n CYCLON overlays have shown to: Resemble random graphs ¨ Be extremely robust to failures / churn ¨ Fast adaptive to network changes ¨ 9
Q 2: Forming links (related subscr. ) n We need some notion of distance n In this case we use the Euclidean distance between two subscriptions ¨ n Note: Distance 0 denotes overlap Nodes gossip similarly to CYCLON, but keep neighbors of minimum distance ¨ “VICINITY” protocol ¨ [S. Voulgaris, M. van Steen. Euro. Par 2005] n Why not run VICINITY alone (without CYCLON)? ¨ The network would fall apart in no time! 10
Q 3: Organizing subscribers in rings n We run VICINITY again, with another distance metric. n Please refer to the paper! 11
Sub-2 -Sub: To recap Random subscribers (CYCLON) Overlapping subscr. (VICINITY) Ring links (VICINITY) 12
Performance Evaluation n Simulated experiment: ¨ ¨ ¨ 10 K nodes 3 attributes For each attribute: n n n Power-law (1/x^3) value popularity Uniformly random range widths Evaluation criteria ¨ ¨ ¨ How fast the network self-organizes How fast publishers reach target subspace How fast events are disseminated 13
Self-organization evolution Each bar corresponds to 10, 000 random events 14
# publishers Hops to reach target subspace 15
hops to complete dissemination Hops for Event Dissemination # subscribers in subspace 16
Summary n Showed that Unstructured P 2 P can build overlays for apps as complex as pub/sub n Sub-2 -Sub ¨ ¨ ¨ Accurate All and only interested nodes receive event Autonomous, Self-contained No need for extra devices Collaborative Self-organized Very scalable 17
Questions? spyros@cs. vu. nl 18
Ring sizes 19
- Slides: 19