1 / 38

Adaptive Counting Networks

Adaptive Counting Networks. Srikanta Tirthapura Elec. And Computer Engg. Iowa State University. Example: Producer - Consumer. Jobs. Resources. Distributed Structure. Centralized Solutions don’t scale, look for distributed solutions. Distributed Load Balancing. Load Balancing

dustinf
Download Presentation

Adaptive Counting Networks

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. Adaptive Counting Networks Srikanta Tirthapura Elec. And Computer Engg.Iowa State University Adaptive Counting Networks

  2. Example: Producer - Consumer Jobs Resources Distributed Structure Centralized Solutions don’t scale, look for distributed solutions Adaptive Counting Networks

  3. Distributed Load Balancing Load Balancing Network Routing Tasks to Processors Adaptive Counting Networks

  4. Counting Network Counting Network Adaptive Counting Networks

  5. Counting Network Counting Network: Step Property Input Tokens(imbalanced) Output Tokens(balanced) Adaptive Counting Networks

  6. Counting Network Step Property Adaptive Counting Networks

  7. Counting Network Step Property Adaptive Counting Networks

  8. Counting Network Step Property Adaptive Counting Networks

  9. Counting Network Step Property Adaptive Counting Networks

  10. Applications • Load Balancing • Producer-Consumer solved using two back-to-back counting networks • Shared Counters in a Distributed System Adaptive Counting Networks

  11. Counting Network Construction • Bitonic network, Periodic network (Aspnes, Herlihy, Shavit – 1991) • Network of basic elements called balancers • State of the system distributed over the network • No sequential bottleneck Adaptive Counting Networks

  12. Balancer Adaptive Counting Networks

  13. Balancer Adaptive Counting Networks

  14. Balancer Adaptive Counting Networks

  15. Balancer Adaptive Counting Networks

  16. Balancer Adaptive Counting Networks

  17. Balancer Adaptive Counting Networks

  18. Scalable Construction Bitonic[2] Bitonic[4] Adaptive Counting Networks

  19. Bitonic[8] Network Adaptive Counting Networks

  20. Recursive Construction of Bitonic[w] Mix[w/2] Bitonic[w/2] Merger[w/2] Bitonic[w/2] Merger[w/2] Mix[w/2] Adaptive Counting Networks

  21. Overlay Networks • Plan: Counting network as a peer-to-peer overlay network • Balancers  nodes of the network • Wires  communication links between nodes • Structured peer-to-peer network • Efficient lookup service • Plaxton et. al., Chord, CAN, etc • Good local estimates of network size • Manku, Viceroy, Horowitz-Malkhi, … Adaptive Counting Networks

  22. Problem • All Current Constructions of counting networks are Static • Degree of parallelism (width) has to be decided in advance • System size changes with time! • Does not scale with the underlying network size • Bad: • Width 64 network for a system with 20 nodes • Width 4 network with 1000 nodes • Question: How to build an adaptive counting network (or your favorite distributed data structure)? Adaptive Counting Networks

  23. Adaptive Counting Network Degree of parallelism tunes itself to current network conditions • As underlying physical network expands and contracts, so will the counting network • Expansion and contraction are local operations (no central control) • Decision of when to expand and contract also local Adaptive Counting Networks

  24. Solution Ideas for Bitonic Network • Network built using variable sized components rather than fixed sized balancers • Network size changes with underlying physical network size • Expand: A component splits into more components • Contract: Many components merge into a single one • Distributed Decisions for Splitting and Merging • Sense current network conditions using Distributed Network Size Estimation Adaptive Counting Networks

  25. Component 0 Component[k] 0 1 1 2 2 k-1 k-1 j th input token leaves on wire (j mod k) Can be implemented trivially on a single node Adaptive Counting Networks

  26. Adaptive Bitonic Network • Choose a maximum width for the network Suppose maximum width = 32 • Initially the whole network is implemented as a single component Bitonic[32] Input Output Adaptive Counting Networks

  27. Load Increases: Split Components Bitonic[16] Merger[16] Mix[16] Bitonic[16] Merger[16] Mix[16] Adaptive Counting Networks

  28. More Splits – “Irregular” Network B[16] M[16] X[16] X[8] B[8] M[8] X[8] M[16] B[8] M[8] X[8] X[8] On a single node, each component can be implemented trivially Adaptive Counting Networks

  29. Flexibility • Using components rather than balancers allows many more possibilities • Network can morph into the best possible implementation for the current conditions Adaptive Counting Networks

  30. When to Split and Merge? • Decision local to each node • Possible Strategies: • Based on Load experienced by a node • Based on Estimate of network size • Our Recipe (yields provable theoretical bounds): • Locally estimate network size • If network size estimate > threshold, then split • If network size estimate < threshold, then merge • Threshold varies with the component Adaptive Counting Networks

  31. Each node uses local estimate of physical network size Example: Chord p2p system Nodes organized in a ring Rough estimate = 1/(distance to successor) Better estimate = k/(distance to kth successor) Local (inaccurate) estimates are enough for our purposes Local Decisions are approximate, but aggregate of decisions is “pretty good” Network Size Estimation N = number of nodes E[dist]=1/N Adaptive Counting Networks

  32. Component Hierarchy B[32] B[16] B[16] M[16] M[16] X[16] X[16] M[8] M[8] X[8] X[8] Intuition: N < 6 nodes, level 1 is ideal N = 6 to 24 nodes, level 2 is best N = 24 to 80, level 3 is best We show that the level estimate of every component is close to the “optimal” Adaptive Counting Networks

  33. Balanced Hierarchy Highly Unlikely More Likely Adaptive Counting Networks

  34. Our Results for Bitonic Network Definitions: • Effective Width = number of edge disjoint paths from input to output • Effective Depth = longest path from input to output Adaptive Counting Networks

  35. If N = number of nodescurrently in the physical network With high probability, Total Number of Components = O(N) Effective width Effective Depth Total number of components= Effective width = w is a constant Effective depth = Our Results for Bitonic Network Adaptive Network Static Network Adaptive Counting Networks

  36. Conclusions • Counting networks built out of variable width components rather than fixed width balancers • Distributed Decisions expand and contract the Network • Final Network is provably tuned to the current network conditions (assuming a structured p2p overlay) • Applies to any distributed data structure • That can be decomposed recursively • Needs to resize dynamically in response to system load Adaptive Counting Networks

  37. How to Locate Components? • Each component has a name, derived from its position in the recursive decomposition • Lookup component location by name (using the distributed hash table) • If output component changes during execution, then re-compute location Adaptive Counting Networks

  38. Acknowledgments • Thanks to Costas Busch for help with the presentation Adaptive Counting Networks

More Related