300 likes | 442 Views
Altruistic Routing in P2P Networks: Solutions and Problems. Sukumar Ghosh Alina Bejan Amlan Bhattacharya University of Iowa. Background. Background. Structured P2P networks provide a flat response to query processing.
E N D
Altruistic Routing in P2P Networks: Solutions and Problems Sukumar Ghosh Alina Bejan Amlan Bhattacharya University of Iowa
Background The University of Iowa
Background Structured P2P networks provide a flat response to query processing. Traffic flow in P2P networks exhibits a degree of variability as supported by various measurements, but routing is immune to traffic flow patterns. The University of Iowa
Smart routing To optimize “routing cost” the network must reduce the latency of the frequently used routes, perhaps at the expense of an increased latency in the rarely used routes. The University of Iowa
Routing cost Routing cost = f(i,j) * h(i,j) i,j f(i,j) = traffic between i,j h(i,j) = hop count between i,j The University of Iowa
Flat routing 0 48 16 f(0,32) >> f(16,48) 32 The University of Iowa
Smart routing 0 48 16 32 f(0,32) >> f(16,48) The University of Iowa
Goal of this exercise How can processes in a P2P network spontaneously “tweak” their routing tables to optimize the routing cost? We studied this on Chord (Stoica et al) The University of Iowa
The Model • N processes 0 through N-1(N=2k).Each process i hask=log Nfingers pointing to (i+1, i+2, i+4, .. i+2k-1) • Each process i hasan additionalk fingers (1≤k≤log N)that will act as routing cache The University of Iowa
The Model For a given packet, if a node has a routing cache entry points to the destination of a packet (cache hit), then that packet will reach the destination in the next hop. Otherwise it will follow the traditional Chord route The University of Iowa
Revisiting Chord routing • Search in finger table for the nodes which most immediately precedes id • Invoke find_successor from that node Greedy routing No of messages O(log N) The University of Iowa
Example of Cache hit Due to the presence of the cache entry at node 42, packets from node 8 reach the destination in 2 hops instead of 3. The University of Iowa
The strategies The routing cost will very much depend on on the content of the routing caches. What routes will be cached by a node? We look into two strategies: (a) selfish (b) altruistic The University of Iowa
A selfish strategy For any node, define a top destination as one to which the traffic flow is “high”. Then each node will orient its cache entries towards its own top destinations. What is the impact of this strategy? The University of Iowa
P2P traffic Traffic flow Node rank The University of Iowa
Analysis hint Length of route will depend on the possibility of a cache hit at the current node A B Let h = no of top destinations and k = no of cache entries. Assume the top destinations are randomly distributed over the key space (k << h << N) The University of Iowa
Analysis hint Top k destinations will be reached in one hop A Number of hops that a packet towards one of the top (h-k) destinations will take before a cache hit follows a geometric distribution. Probability of a cache hit in r hops = (k/(N-1)).(1-k/(N-1))r-2 B The University of Iowa
Analysis hint Expected number of hops for cache hit = (N-1)/k. This is bad. Fortunately, the bound will not exceed log N due to the underlying Chord routing. When k << h <<N, improvement due to the selfish strategy is marginal. A B The University of Iowa
An altruistic strategy Each node will orient its routing cache entries towards its top destinations of other nodes only. How does this work? The University of Iowa
Analysis hint is a hot spot Poor cache hit Better cache hit k=2 k=2 The University of Iowa
Analysis hint D 0 Hot spots of A C 56 Hot spots of B Hot spots of C B 16 48 Packets from A, B, C contend for the cache entries of D. 32 A The University of Iowa
Analysis hint Whenever a packet to a destination node ranks among the top k entries of another Node in its route, a cache hit occurs. Expected number of hops that a packet towards one of the top h destinations will take before a cache hit occurs = (1+h/k) The University of Iowa
Analysis hint For small values of h the expected hop count is better than that for the selfish protocol. Furthermore, if a fraction b of the nodes is active at any time, then the expected time for cache hit = 1+b h/k The University of Iowa
Sample comparison N = 1,000,000 h = 240 k = log N = 20 The University of Iowa
Now, the problem is Why will all nodes agree to run the altruistic protocol? Some may cheat by running a selfish version, and get an unfair advantage. This may make every node think: “may be many others are running the selfish version. Let me stop being altruistic.” The University of Iowa
Now, the problem is The system will gravitate towards an inferior equilibrium. Are their ways to force the system to a superior equilibrium? Can it be viewed as a stabilization problem? The University of Iowa
Comparison with Code stabilization (Freiling & Ghosh SSS 2005) However, processes need to cooperate. To force non-cooperating processes to cooperate, penalties / incentives are needed. corruption recovery All processes run a predefined code Some codes have been corrupted The University of Iowa
Mandating externally imposed behavior N processes 0 through N-1 each runs a program P A fraction of them do not cooperate and run a program P’≠ P We want all of them to eventually run the same programP Issue 1. How to detect deviations? Issue 2 How to develop a system of penalties / incentives? Issue 3. Quantifying resilience to deviations The University of Iowa
Conclusion • Many of these are application dependent • Non-cooperative behaviors add new challenges to the problems of self-stabilization / self-organization The University of Iowa
Questions? The University of Iowa