ICDCS 05Adaptive Counting Networks Srikanta Tirthapura Elec. And Computer Engg. Iowa State University.

Slides:



Advertisements
Similar presentations
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
Advertisements

P2P data retrieval DHT (Distributed Hash Tables) Partially based on Hellerstein’s presentation at VLDB2004.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Parallel Sorting Sathish Vadhiyar. Sorting  Sorting n keys over p processors  Sort and move the keys to the appropriate processor so that every key.
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
1 A Deterministic Algorithm for Summarizing Asynchronous Streams over a Sliding Window Costas Busch Rensselaer Polytechnic Institute Srikanta Tirthapura.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Sorting Comparison-based algorithm review –You should know most of the algorithms –We will concentrate on their analyses –Special emphasis: Heapsort Lower.
TOPOLOGIES FOR POWER EFFICIENT WIRELESS SENSOR NETWORKS ---KRISHNA JETTI.
PDPTA03, Las Vegas, June S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord Valentin Mesaros 1, Bruno Carton 2, and Peter Van Roy 1 1.
Chord: A scalable peer-to- peer lookup service for Internet applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashock, Hari Balakrishnan.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
1 Distributed Computing Algorithms CSCI Distributed Computing: everything not centralized many processors.
1 Tuesday, November 14, 2006 “UNIX was never designed to keep people from doing stupid things, because that policy would also keep them from doing clever.
1 A Tree Based Router Search Engine Architecture With Single Port Memories Author: Baboescu, F.Baboescu, F. Tullsen, D.M. Rosu, G. Singh, S. Tullsen, D.M.Rosu,
Topics in Reliable Distributed Systems Lecture 2, Fall Dr. Idit Keidar.
Distributed Computing Group A Self-Repairing Peer-to-Peer System Resilient to Dynamic Adversarial Churn Fabian Kuhn Stefan Schmid Roger Wattenhofer IPTPS.
Dynamic Hypercube Topology Stefan Schmid URAW 2005 Upper Rhine Algorithms Workshop University of Tübingen, Germany.
Chord: A Scalable Peer-to-Peer Lookup Protocol for Internet Applications Stoica et al. Presented by Tam Chantem March 30, 2007.
Fault-tolerant Routing in Peer-to-Peer Systems James Aspnes Zoë Diamadi Gauri Shah Yale University PODC 2002.
Tolerating Faults in Counting Networks Marc D. Riedel Jehoshua Bruck California Institute of Technology Parallel and Distributed.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
A Note on Finding the Nearest Neighbor in Growth-Restricted Metrics Kirsten Hildrum John Kubiatowicz Sean Ma Satish Rao.
Chord-over-Chord Overlay Sudhindra Rao Ph.D Qualifier Exam Department of ECECS.
Viceroy: A scalable and dynamic emulation of the Butterfly Presented in CS294-4 by Sailesh Krishnamurthy Sep 22, 2003.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
1 Analysis of Link Reversal Routing Algorithms Srikanta Tirthapura (Iowa State University) and Costas Busch (Renssaeler Polytechnic Institute)
On Self Adaptive Routing in Dynamic Environments -- A probabilistic routing scheme Haiyong Xie, Lili Qiu, Yang Richard Yang and Yin Yale, MR and.
Knight’s Tour Distributed Problem Solving Knight’s Tour Yoav Kasorla Izhaq Shohat.
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
Improved Sparse Covers for Graphs Excluding a Fixed Minor Ryan LaFortune (RPI), Costas Busch (LSU), and Srikanta Tirthapura (ISU)
Designing and Evaluating Parallel Programs Anda Iamnitchi Federated Distributed Systems Fall 2006 Textbook (on line): Designing and Building Parallel Programs.
1 Interconnects Shared address space and message passing computers can be constructed by connecting processors and memory unit using a variety of interconnection.
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
A Peer-to-Peer Approach to Resource Discovery in Grid Environments (in HPDC’02, by U of Chicago) Gisik Kwon Nov. 18, 2002.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
1 Shape Segmentation and Applications in Sensor Networks Xianjin Xhu, Rik Sarkar, Jie Gao Department of CS, Stony Brook University INFOCOM 2007.
Self Stabilizing Smoothing and Counting Maurice Herlihy, Brown University Srikanta Tirthapura, Iowa State University.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 2: Distributed Hash.
Data Structures and Algorithms in Parallel Computing Lecture 2.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Flexible Filters for High Performance Embedded Computing Rebecca Collins and Luca Carloni Department of Computer Science Columbia University.
Towards a Scalable and Robust DHT Baruch Awerbuch Johns Hopkins University Christian Scheideler Technical University of Munich.
Counting and Distributed Coordination BASED ON CHAPTER 12 IN «THE ART OF MULTIPROCESSOR PROGRAMMING» LECTURE BY: SAMUEL AMAR.
1 Sorting Networks Sorting.
Uses some of the slides for chapters 3 and 5 accompanying “Introduction to Parallel Computing”, Addison Wesley, 2003.
1 Concurrent Counting is harder than Queuing Costas Busch Rensselaer Polytechnic Intitute Srikanta Tirthapura Iowa State University.
Dynamic Load Balancing Tree and Structured Computations.
IPTPS 2005 Mirek Korzeniowski: Page 1 International Graduate School of Dynamic Intelligent Systems HEINZ NIXDORF INSTITUT University of Paderborn Algorithms.
Analysis of the Evolution of Peer-to-Peer Systems Proseminar “Peer – to – Peer Information Systems” WS 04/05 Prof. Gerhard Weikum Speaker : Emil Zankov.
CS694 - DHT1 Distributed Hash Table Systems Hui Zhang University of Southern California.
Incrementally Improving Lookup Latency in Distributed Hash Table Systems Hui Zhang 1, Ashish Goel 2, Ramesh Govindan 1 1 University of Southern California.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
Lecture 4 Sorting Networks
Data Center Network Architectures
Randomized Smoothing Networks
Improving and Generalizing Chord
S-Chord: Using Symmetry to Improve Lookup Efficiency in Chord
Babak Sorkhpour, Prof. Roman Obermaisser, Ayman Murshed
Analysis of Link Reversal Routing Algorithms
Range-Efficient Computation of F0 over Massive Data Streams
Asynchronous token routing device
Presentation transcript:

ICDCS 05Adaptive Counting Networks Srikanta Tirthapura Elec. And Computer Engg. Iowa State University

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

ICDCS 05Adaptive Counting Networks Distributed Load Balancing Load Balancing Network Routing Tasks to Processors

ICDCS 05Adaptive Counting Networks Counting Network Counting Network

ICDCS 05Adaptive Counting Networks Input Tokens (imbalanced) Output Tokens (balanced) Counting Network Counting Network: Step Property

ICDCS 05Adaptive Counting Networks Counting Network Step Property

ICDCS 05Adaptive Counting Networks Counting Network Step Property

ICDCS 05Adaptive Counting Networks Counting Network Step Property

ICDCS 05Adaptive Counting Networks Counting Network Step Property

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

ICDCS 05Adaptive Counting Networks 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

ICDCS 05Adaptive Counting Networks Balancer

ICDCS 05Adaptive Counting Networks Balancer

ICDCS 05Adaptive Counting Networks Balancer

ICDCS 05Adaptive Counting Networks Balancer

ICDCS 05Adaptive Counting Networks Balancer

ICDCS 05Adaptive Counting Networks Balancer

ICDCS 05Adaptive Counting Networks Bitonic[4] Bitonic[2] Scalable Construction

ICDCS 05Adaptive Counting Networks Bitonic[8] Network

ICDCS 05Adaptive Counting Networks Recursive Construction of Bitonic[w] Bitonic[w/2] Merger[w/2] Mix[w/2]

ICDCS 05Adaptive Counting Networks 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 1.Efficient lookup service Plaxton et. al., Chord, CAN, etc 2.Good local estimates of network size Manku, Viceroy, Horowitz-Malkhi, …

ICDCS 05Adaptive Counting Networks 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)?

ICDCS 05Adaptive Counting Networks 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

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

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

ICDCS 05Adaptive Counting Networks Adaptive Bitonic Network InputOutput Bitonic[32] Choose a maximum width for the network Suppose maximum width = 32 Initially the whole network is implemented as a single component

ICDCS 05Adaptive Counting Networks Load Increases: Split Components Bitonic[16] Merger[16] Mix[16]

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

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

ICDCS 05Adaptive Counting Networks 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

ICDCS 05Adaptive Counting Networks Network Size Estimation 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” E[dist]=1/N N = number of nodes

ICDCS 05Adaptive Counting Networks Component Hierarchy B[32] B[16] M[16] X[16] M[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”

ICDCS 05Adaptive Counting Networks Balanced Hierarchy Highly Unlikely More Likely

ICDCS 05Adaptive Counting Networks 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

ICDCS 05Adaptive Counting Networks Our Results for Bitonic Network If N = number of nodes currently 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 = Adaptive Network Static Network

ICDCS 05Adaptive Counting Networks 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

ICDCS 05Adaptive Counting Networks 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

ICDCS 05Adaptive Counting Networks Acknowledgments Thanks to Costas Busch for help with the presentation