1. A Study Of Broadcasting Over
Structured Overlay
Speaker: Shashikantha
Authors: Saiful Khan, Abdullah Gani, S. Raviraja, and Shashikantha
COMSNETS 2015, January 6-10, Bangaluru, India.
2. Background: P2P
• Millions of clients : centralized server become
slow.
• Single point of failure.
• Expensive to maintain.
COMSNETS 2015, January 6-10, Bangaluru, India.
3. Background: P2P
• Millions of clients : centralized server become
slow.
• Single point of failure.
• Expensive to maintain.
COMSNETS 2015, January 6-10, Bangaluru, India.
Solution:
Eliminate Central Server.
4. P2P Architectures
P2P
Centralized Napster, etc.
Hybrid
Bit-torrent,
etc.
Decentralized
Structured
Chord
Pastry
Kademlia
D1HT etc.
Unstructured Gnutella etc.
COMSNETS 2015, January 6-10, Bangaluru, India.
5. Motivation
Structured overlay
•Completely decentralized architecture.
•Implemented using Distributed Hash Table (DHT).
Challenges
•Poor Routing efficiency.
•High maintenance Bandwidth overhead.
•Doesn’t support Complex searching.
COMSNETS 2015, January 6-10, Bangaluru, India.
6. Related Work
• Broadcast over Content Addressable Network
(CAN) [Ratnasamy et al. 2001].
• Broadcast over Pastry [Castro et al. 2003].
• Broadcast over Chord [El-Ansary et al. 2003].
• Partition based broadcast Algorithm [Huang et
al. 2009].
•Efficient broadcast algorithm[L. Wei, et al.2007].
COMSNETS 2015, January 6-10, Bangaluru, India.
7. Simulation Framework: Oversim
The 3-tier simulation framework implemented in OverSim simulator
COMSNETS 2015, January 6-10, Bangaluru, India.
8. Routing Efficiency
(a) Chord (b) Pastry
Routing efficiency vs. mean life-time of node
COMSNETS 2015, January 6-10, Bangaluru, India.
9. Cont.
(c) Kademlia (d) D1HT
Routing efficiency vs. mean life-time of node
COMSNETS 2015, January 6-10, Bangaluru, India.
14. Step 1
• Messages are assigned with a unique time to live
(TTL) value: 0 to k − 1.
• Messages are broadcasted to its successors in the
degree of b following
COMSNETS 2015, January 6-10, Bangaluru, India.
TTL=0 TTL=1 TTL=k-1 Nlogbk
broadcast n, N = ∀ni
∈ ℕ | ni = successor n, bi ∧ 0 ≤ i ≤ (k − 1)
15. Step 2
• Inactive nodes do not send any acknowledgement.
• Therefore, node failure event is generated.
n n1
Mn(x), TTL = x
COMSNETS 2015, January 6-10, Bangaluru, India.
ACK
16. Step 3
Mn(x)
• During this retransmission step, nodes piggyback all
the available messages ready to send in a single
message.
• Therefore, the bandwidth overhead improves
significantly.
COMSNETS 2015, January 6-10, Bangaluru, India.
TTL=0 TTL=x-1TTL=x
17. Example network b = 2, total node = 16.
COMSNETS 2015, January 6-10, Bangaluru, India.
18. Node N0 initiates a broadcast.
COMSNETS 2015, January 6-10, Bangaluru, India.
TTL=0
TTL=1
TTL=2
TTL=3
M0(0)
M0(1)
M0(2)
M0(3)
19. Nodes further broadcast the received message.
COMSNETS 2015, January 6-10, Bangaluru, India.
TTL=0
TTL=1
TTL=2
TTL=3
M0(0)
M0(1)
M0(2)
M0(0)
M0(1)
M0(0)
M0(3)
M0(0)
M0(1)
M0(2)
20. Nodes further broadcasts the received messages.
COMSNETS 2015, January 6-10, Bangaluru, India.
TTL=0
TTL=1
TTL=2
TTL=3
M0(0)
M0(1)
M0(2)
M0(0)
M0(1)
M0(0)
M0(0)
M0(3)
M0(0)
M0(1)
M0(2)
M0(0)
M0(0)
M0(1)
21. Completition of the broadcasting of the messages.
COMSNETS 2015, January 6-10, Bangaluru, India.
TTL=0
TTL=1
TTL=2
TTL=3
M0(0)
M0(1)
M0(2)
M0(0)
M0(1)
M0(0)
M0(0)
M0(3)
M0(0)
M0(1)
M0(2)
M0(0)
M0(0)
M0(0)
M0(1)
22. Results: Proposed Algorithm
• The routing performance
• Maintenance bandwidth
COMSNETS 2015, January 6-10, Bangaluru, India.
23. Mean Lookup
Lookup Success Rate vs. mean life-time of node.
COMSNETS 2015, January 6-10, Bangaluru, India.
24. Mean Bandwidth
Mean bandwidth consumption per node vs. mean life-time of node
COMSNETS 2015, January 6-10, Bangaluru, India.
25. Opportunistic vs. Active maintenance
Mean bandwidth consumption vs. mean life-time of node
COMSNETS 2015, January 6-10, Bangaluru, India.
26. Conclusion
1. Studied the performance of structured overlay
networks.
2. Proposed an improved algorithm.
3. Improved routing performance.
4. Reduced maintenance bandwidth overhead.
5. Future work
•Study of delay.
•Evaluation of delay, hop count, etc..
COMSNETS 2015, January 6-10, Bangaluru, India.
Thanks for giving us the opportunity to present our paper titled A Study ….
I am Shashikantha, final year M.Tech student from Na … (NIE), Mysuru. I am one of the co-author of this paper.
The first author of this paper is Mr Saiful, who worked on this paper during his MS at University of Malaya, Malaysia. Currently he is a final year PhD student at University of Oxford, United Kingdom.
Dr Gani and Dr Ravi are also from University of Malaya, who supervised this work.
The scalability of the central server is low and increase in number of clients renders central server slow.
The solution for this problem is to adopt a simple technology which has the ability to completely eliminate the central server.
The current architecture is focusing on towards implementation of efficient decentralized distributed systems.
The scalability of the central server is low and increase in number of clients renders central server slow.
The solution for this problem is to adopt a simple technology which has the ability to completely eliminate the central server.
The current architecture is focusing on towards implementation of efficient decentralized distributed systems.
P2P is one such system, it is self organized and distributed network architecture.
Classified into three categories centralized, Hybrid and Decentralized.[Brief explanation].
Structured overlay is completely decentralized, nodes communicate themselves by virtue of well defined topology and protocol. It is implemented using Distrubuted hash table.
DHT is hash table which stores (key, value) pairs which is distributed among all the nodes participating in the network
However, due to dynamic environment, nodes join and leave the network, due to this network faces poor routing efficiency.
To provide effective routing, structured overlay uses stabilization mechanisms , however this would increases the maintenance bandwidth overhead.
Also, structured overlay doesn’t support complex searching, like keyword search, range query search, wild card search.
To implement Complex searching queries need to be broadcasted to all the nodes of the network to get it processed by them locally. But this would require effective routing. Hence in our paper we will be addressing these two issues and shown little improvements.
Broadcast over CAN-generates redundant messages.
Broadcast over Pastry -The simulation result of this algo shows that the lookup success rate is significantly low when the mean life-time of the nodes is below 30 minutes.
Broadcast over chord -This algorithm is based on a tree structure, therefore, in dynamic environment, the node failures have severe impact on the performance of a broadcast
Partition based algo – increased number of hops to complete a broadcast.
In our work, we have simulated the broadcasting methods over chord, Pastry, Kademlia and D1HT.
These simulations implemented using Oversim simulator.
The framework consists of three main layers: application layer, overlay layer, and underlay layer.
A ‘key-based’ routing (KBR) layer is implemented at the application layer.
The actual overlay protocols: Chord, Pastry, Kademlia, and D1HT are implemented in OverSim’s overlay network layer.
The INET framework is used to implement underlay network layer which includes simulation models of all network layers starting from MAC and onwards.
The routing performance of Chord is worst among all the other protocols, because chord organizes its routing table in 1d space and Message propagation over Chord is based on a tree structure, where failure of a node could completely divide the overlay structure, which results in a high lookup failure.
While performance of Pastry and Kademlia are similar.
Pastry and kademlia organizes their routing table in 2D space and unlike chord, they find the node by using prefix matching algorithm. Therefore, they minimise the distance to be travelled to reach the destination node.
In D1HT nodes’ routing table contains the IP addresses of all the other nodes of the network. Therefore, a lookup in D1HT is solved within one hop, thus it has higher lookup success rate.
Chord has low maintenance bandwidth consumption, as chord structure is highly disunited under dynamic environment, so many messages fails to route the destination.
Pastry-more BW consumption compared to chord.
While kademlia has improved bandwidth maintenance overhead than pastry.
Kademlia does not employ any separate maintenance algorithm, instead nodes send parallel lookups to multiple buckets and the result of the lookup is used to stabilize the routing table. This stabilization mechanism is also known as opportunistic maintenance which reduces the overall maintenance bandwidth.
Bandwidth consumption for D1HT, which is higher than the other protocols.
From these simulations and analysis, we can notice three important characteristics,
First one is, O(1) hop overlay D1HT has improved lookup performance, but at the cost of higher maintenance bandwidth utilization.
second one is, increase in routing table increase the lookup performance.
Third is the opportunistic maintenance algorithm used by kademlia reduces overall bandwidth overhead.
Existing O(1)-hop overlay like D1HT employs an active stabilization mechanism called Event Detection and Routing Algorithm (EDRA). The EDRA propagates an event of node joining and leaving throughout the system in logarithmic time.
opportunistic maintenance algorithm which minimizes the overall maintenance overhead of the system.
Our proposed algorithm combines the features of EDRA and opportunistic maintenance algorithm.
Thereby achieving the message dissemination complexity of O(n log n).
There are three key steps to broadcast messages as well as to perform opportunistic maintenance.
In the first step, When a node is ready to broadcast a message, it generates k = logb N messages, where, N is total number of nodes in the system, the messages are sequentially assigned with a unique TTL value from 0 to k-1.
Then the messages are broadcasted to its succesors in the degree of b, according to this equation,
In the second step, When a node n1 receives a message from its predecessor node n with TTL = x, then n1 acknowledges back the receipt of the message to the node n with TTL = x.
However, Inactive or failed nodes do not send any acknowledgement, hence an event of node failure is generated at this stage.
In the third step, When a node receives a message with TTL = x, it would retransmit the message to its x successors. The TTL value of each of the x messages are between 0 to (x − 1) .
During this retransmission step, nodes piggyback all the available messages which ready to send in a single message instead of sending seperately.
As a result the bandwidth overhead improves significantly.
fig shows the broadcast scenario, where no. of nodes is 16, value of b = 2, n0 is intiating the broadcast message, as per the first step1, it generate 4 messages.
Each of the four messages are assigned TTL value 0, 1, 2 and 3 respectively. Then each message is sent to 4 successor nodes of N0.
N0 forwards the messages to N, N2, N4 N8.
According to step 2, each message contains a TTL values and acknowledges the receipt of a message with the same TTL value.
Here node N1, N2, N4 and N8 acknowledge N0 the receipt of the message with the TTL 0, 1, 2 and 3 respectively.
According to step 3, all the nodes N1, N2, N4 and N8 further forwards the messages to their successors, and the propagated message may also contain available messages which are ready to send from its predecessors received.
fig shows the broadcast scenario, where no. of nodes is 16, value of b = 2, n0 is intiating the broadcast message, as per the first step1, it generate 4 messages.
Each of the four messages are assigned TTL value 0, 1, 2 and 3 respectively. Then each message is sent to 4 successor nodes of N0.
N0 forwards the messages to N, N2, N4 N8.
According to step 2, each message contains a TTL values and acknowledges the receipt of a message with the same TTL value.
Here node N1, N2, N4 and N8 acknowledge N0 the receipt of the message with the TTL 0, 1, 2 and 3 respectively.
According to step 3, all the nodes N1, N2, N4 and N8 further forwards the messages to their successors, and the propagated message may also contain available messages which are ready to send from its predecessors received.
fig shows the broadcast scenario, where no. of nodes is 16, value of b = 2, n0 is intiating the broadcast message, as per the first step1, it generate 4 messages.
Each of the four messages are assigned TTL value 0, 1, 2 and 3 respectively. Then each message is sent to 4 successor nodes of N0.
N0 forwards the messages to N, N2, N4 N8.
According to step 2, each message contains a TTL values and acknowledges the receipt of a message with the same TTL value.
Here node N1, N2, N4 and N8 acknowledge N0 the receipt of the message with the TTL 0, 1, 2 and 3 respectively.
According to step 3, all the nodes N1, N2, N4 and N8 further forwards the messages to their successors, and the propagated message may also contain available messages which are ready to send from its predecessors received.
fig shows the broadcast scenario, where no. of nodes is 16, value of b = 2, n0 is intiating the broadcast message, as per the first step1, it generate 4 messages.
Each of the four messages are assigned TTL value 0, 1, 2 and 3 respectively. Then each message is sent to 4 successor nodes of N0.
N0 forwards the messages to N, N2, N4 N8.
According to step 2, each message contains a TTL values and acknowledges the receipt of a message with the same TTL value.
Here node N1, N2, N4 and N8 acknowledge N0 the receipt of the message with the TTL 0, 1, 2 and 3 respectively.
According to step 3, all the nodes N1, N2, N4 and N8 further forwards the messages to their successors, and the propagated message may also contain available messages which are ready to send from its predecessors received.
fig shows the broadcast scenario, where no. of nodes is 16, value of b = 2, n0 is intiating the broadcast message, as per the first step1, it generate 4 messages.
Each of the four messages are assigned TTL value 0, 1, 2 and 3 respectively. Then each message is sent to 4 successor nodes of N0.
N0 forwards the messages to N, N2, N4 N8.
According to step 2, each message contains a TTL values and acknowledges the receipt of a message with the same TTL value.
Here node N1, N2, N4 and N8 acknowledge N0 the receipt of the message with the TTL 0, 1, 2 and 3 respectively.
According to step 3, all the nodes N1, N2, N4 and N8 further forwards the messages to their successors, and the propagated message may also contain available messages which are ready to send from its predecessors received.
we have implemented the proposed algorithm in oversim simulator.
We have also implemented the Dynamic Querying over DHT and Partition-based broadcast algorithm to broadcast messages over Chord.
The results of the simulations are analyzed which shows
Siginficant improvement in routing performance.
Reduced maintenance bandwidth overhead.
Graph shows the lookup success rate vs mean life time of the nodes for these three simulated algorithms.
The routing performance of the proposed algorithm shows significant improvement, especially when the network dynamics is high, the performance is more than 96%.
The partition-based broadcast algorithm implemented over Chord is based on tree structure. The failure of a node in Chord can completely divide the overlay structure.
Hence, in highly dynamic environment the partition-based overlay structure is disunited which results in failure of most of the lookups.
Maintenance bandwidth consumption of partition-based broadcast and DQ-DHT is analogous – low, under dynamic environment.
Increase in stabilisation frequency improves the lookup efficiency, however, increases the bandwidth overhead.
Maintenance bandwidth consumption of proposed algorithm is higher.
Since opportunistic algorithm doesn’t send separate maintenance messages, it consumes less bandwidth comapred to the network which follows active stablization.
The result shows that in case of opportunistic maintenance the average bandwidth consumption is significantly less than the active stabilisation.
We studied the routing efficiency and maintenance bandwidth overhead of the structured overlay networks in dynamic environment.
Simulation results shows that single-hop overlay has better lookup performance and opportunistic algorithm reduces the maintenance bandwidth overhead.
Based on these results, we have proposed algorithm which improves routing efficiency and maintenance bandwidth overhead.
In our future work, we study the effect of delay in opportunistic maintenance and overall performance.
Also, in our work we have addressed two primary issues, further work will be required to evaluate other parameters such as lookup delay, hop count and so on.