Title: Application Level Routing: What can it teach transport level routing Midnight Sun Routing Workshop J
1Application Level RoutingWhat can it teach
transportlevel routing?Midnight Sun Routing
Workshop June 2002
Elwyn Davies18 June 2002
2Agenda
- What does Application Level Routing do?
- First generation Napster and Gnutella
- Scalability fixes Distributed Hash table
algorithms - Uses of DHT
- Open Questions for DHT
- What can transport level routing learn?
3Why do we wantApplication Layer Routing?
- Driven by finding objects and services on a
chaotic network - Data (content) and services are mobile
- Data and services need to be widely replicated,
giving - Availability
- Durability
- Locality (I.e. ability to exploit local resources
rather than remote ones) - Want to be able to route queries (operations)
to objects using location independent names - Keep the number of overlay hops in scale with
network size
4Challenges in the Wide-area
- Trends
- Exponential growth in CPU capacity and storage
- Networks expanding in reach and bandwidth
- Can applications leverage new resources?
- Scalability increasing users, requests, traffic
- Resilience more components gt inversely low MTBF
- Management intermittent resource availability gt
complex management scheme - Proposal(s) Distributed Object Location
Routing infrastructures to solve these issues and
pass benefits onto applications (DOLR)
5Requirements for a DOLR Infrastructure
- Deterministic Location
- Objects should be located if they exist in the
network - Routing Locality
- Routes should have low stretch (ratio of actual
to minimal distance that query travels from
origin to object), not just a small number of
application-level hops. - Sending queries to nearest copy across shortest
distance path possible is ideal. - Minimality and Load Balance
- Infrastructure must not place undue stress on any
of its components - Implies minimal storage and balanced
computational load - Dynamic Membership
- Infrastructure must adapt to arriving and
departing nodes whilst maintaining previous
properties - Self-organising
Not a bad set of basic requirements for transport
routing !
6First Generation Solutions
- Domain Name System
- Issues Root servers, Not self-organising
- Web Search Engines
- Issues Non-deterministic, Centralised
- P2P File Sharing Systems
- Napster Not fully decentralised (central
directory) - Gnutella Broadcast based protocol limits
scalability/resource hungry - FreeNet Not guaranteed to find existing object
All these systems make tradeoffs
betweendecentralised operation,efficient
bandwidth usage anddeterministic operation
7DHT to the Rescue
- Most current research to improve scalability of
P2P systems and DOLR in particular focusses on
Distributed Hash Table (DHT) functionality - Trying to scale
- CPU load
- Local storage
- Network Bandwidth
- Typical scalabilities for a network of n nodes
- Routing hops O(log n)
- Space O(n log n)
8Basics of DHT
- Take a key as input Route a message to node
responsible for key in response - Keys are strings of digits of a given length
- Nodes have identifiers
- Taken from same space as keys (ie same number of
digits) - Each node maintains a routing table of a small
subset of nodes in the system - When a node receives a query for a key for which
it is NOT responsible, it routes the query to the
neighbour node which makes the most progress
towards resolving the query - Notion of progress differs from scheme to scheme
- Generally defined as a metric between identifier
of current node and queried key - Involves some sense of locality
9Example Overlay Routing Networks
- CAN Ratnasamy et al, (ACIRI, UCB)
- Uses d-dimensional coordinate space to implement
distributed hash table - Route to neighbour closest to destination
coordinate in this space - Chord Stoica, Morris, Karger et al, (MIT, UCB)
- Linear namespace modelled as a circular address
space - Finger table entries point to logarithmic of
increasingly remote nodes - Pastry Rowston and Druschel (Microsoft / Rice)
- Hypercube routing similar to Plaxton
- Objetcs replicated to servers by name
- Fast insertion deletion
- Constant sized routing state
- Unconstrained of hops
- Overlay distance not proportional to physical
distance - Simplicity in algorithms
- Fast fault-recovery
- Log2(n) hops and routing state
- Overlay distance not proportional to physical
distance - Fast fault recovery
- Log(n) hops and routing state
- Data replication required for fault tolerance
Plaxton et al, 1997, Accessing nearby copies
of replicated objects in a distributed
environment is seminal work on DHT
10Example applications of DOLR/DHT
- Distibuted file systems
- OceanStore
- Application-layer multicast
- Event notification services
- Scribe Publish-subscribe system
- Chat services
11Issues State-Efficiency Tradeoff
- Can we achieve O(log n) pathlengths (or better)
with O(1) neighbours? - What suffers to make this better?
12Issues Resilience to failures
- Static resilience How badly is routing affected
in the interval between a node failing and the
other nodes getting round to fixing up the
problem with new neighbours? - Can one characterize the static resilience of an
algorithm? - What makes for good static resilience?
- Does the use of special neighbours really
help? - How long does it take to recover? At what cost?
- Are there design rules for the net to improve
recovery performance?
13Issues Routing Hotspots
- Do routing hotspots exist?
- If so, how does one deal with them?
14Issues Incorporating Geography
- If you use proximity, can you characterise the
effectiveness of the results? - Does knowing about close neighbours help?
- Does choosing identifiers in a geographically
informed manner help? Can one choose identifiers
in a d-dimensional key space that will acurately
capture the geographical layout of nodes? - Do existing local (topology) techniques actually
achieve much of the benefit of geography? - What tradeoffs have to be made to incorporate
geography?
15Issues Heterogeneity
- Can the routing algorithms exploit heterogeneity?
- One technique is cloning so that capable nodes
look like multiple nodes.
16Pointers for further reading
- CAN
- Chord http//pdos.lcs.mit.edu/chord
- Pastry http//www.research.microsoft.com/7Eantr/
pastry - Survey papers
- Ratnasamy et al, Routing Algorithms for DHTs
Some Open Questions, ICSI/CS, UCB - Hildrum et al, Distributed Object Location in a
Dynamic Network, Submitted for SPAA02, August
10-13, 2002, Winnipeg, Manitoba, Canada
17(No Transcript)