Date post: | 18-Dec-2015 |
Category: |
Documents |
Upload: | dylan-horn |
View: | 221 times |
Download: | 0 times |
Path Optimization in Computer Networks
Roman Ciloci
The Need for Path Optimization
• Actual process– Data follows some path already chosen– Is the default path the best ? (Usually not)
• Goal– Study and understand basic principles behind
path optimization.
Uses of path optimization
• Streaming applications
• QoS (quality of service) verification
• Server Selection
• Network monitoring– Detecting highly-congested bottlenecks
• Route selection in overlay networks
Main Idea Behind Path Optimization
How can we make it happen?
• Hardware layer– Too expensive– Too long
• Transport layer– Too long
• Application layer– Requires few or no changes for the end user
Steps involved in Finding the Optimal Path
• Determine available bandwidth of a path
• Calculate the time it would take for each path to transfer our data
• Use graph algorithms to determine optimal path
Determine available bandwidth of a path
• Estimation is performed using multiple probes• Two techniques are used
– Packet-pair (used for each probe stream)– Packet-train (uniformly and exponential spaced)
• Which one is the best ?• How to find out?• Selected three tools used for available bandwidth
estimation, each one of them using a different technique• Tools: Spruce, Pathload, and pathChirp• We ran two tests on each of them
First Test• A very simplistic model• Advantages
– We know the input data– We can control and monitor network traffic– We can calculate the output
• Disadvantages– Does not represent real inter networks communication
• Composed of two subtests1. No additional load on the path2. 1MB (8Mb) of constant load on the path
Subtest #1
• We used the system monitor tool to verify that there is no load on the path
• We ran each tool three times to verify consistency• Allowed room for a ∆d (deviation) which can be calculated later• Results:
Tool Run #1 Run #2 Run #3
Spruce 99.5 Mbps 100.4 Mbps 100.4 Mbps
Pathload 81.9-100.9 Mbps 15 – 106 Mbps 95-98 Mbps
pathChirp 87.6 Mbps 99.1 Mbps 91.7 Mbps
Subtest #2
• Same settings as the subtest 1• This time we designed a program that uses the UDP connectionless
protocol to send data• The role of the program is to put 1MB (8Mb) of load on the path• Results:
Tool Run #1 Run #2 Run #3
Spruce 99.9 Mbps 98.6 Mbps 97.5 Mbps
Pathload 18.4 - 107.9 Mbps 88.6 – 97.8 Mbps 94.4 - 97.3 Mbps
pathChirp 92.6 Mbps 92.6 Mbps 91.1 Mbps
Second Test• Used Planetlab testbed as testing environment• Advantages
– It is a real inter networks communications medium– Allows for multiple hops testing (multiple nodes between two hosts)
• Disadvantages– Unknown path capacity between the nodes– No control over network traffic– Can’t make any real calculations
• Description– Used one machine from Univ. of Texas, USA and one from Univ. of
Warsaw, Poland– Tracert system tool output indicated 19 routers between the machines.– Average RTT (round trip time) 160 ms.
…ResultsTools Run #1 Run #2 Run #3
Spruce 89.6 Mbps 86.1 Mbps 81.3 Mbps
Pathload 9.9 – 10.2 mbps 10 – 15 Mbps 1.22 – 2.02 Mbps
pathChirp 26.5 Mbps 28.3 Mbps 26.6 Mbps
• Lack of information forces us to make observations and make vague comparisons with first test
• Based on both tests pathChirp proves to be more consistent and accurate
Finding the time for a path
• Knowing the available bandwidth allows us to calculate the time it will take a path to transmit data.
• Using the formula:
.
SizeofDataT e
Avail Bandwidth
Finding Optimal Path
• Map the N2 network topology as a graph• Label each path with the calculated time• Use Dijkstra's algorithm to find optimal path
N1
N2
N3
N4
89 ms
45 ms
35 ms25 ms
N1 N3
N4N2
Conclusions
• Path selection is definitely a important part of end-to-end performance formula
• Room for further developments on available bandwidth estimation.
• Run more tests on more tools for more accurate results.
The End