Download presentation
Presentation is loading. Please wait.
Published byDylan Horn Modified over 9 years ago
1
Path Optimization in Computer Networks Roman Ciloci
2
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.
3
Uses of path optimization Streaming applications QoS (quality of service) verification Server Selection Network monitoring –Detecting highly-congested bottlenecks Route selection in overlay networks
4
Main Idea Behind Path Optimization
5
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
6
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
7
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
8
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 subtests 1. No additional load on the path 2. 1MB (8Mb) of constant load on the path
9
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: ToolRun #1Run #2Run #3 Spruce99.5 Mbps100.4 Mbps Pathload81.9-100.9 Mbps15 – 106 Mbps95-98 Mbps pathChirp87.6 Mbps99.1 Mbps91.7 Mbps
10
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: ToolRun #1Run #2Run #3 Spruce99.9 Mbps98.6 Mbps97.5 Mbps Pathload18.4 - 107.9 Mbps88.6 – 97.8 Mbps94.4 - 97.3 Mbps pathChirp92.6 Mbps 91.1 Mbps
11
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.
12
…Results ToolsRun #1Run #2Run #3 Spruce89.6 Mbps86.1 Mbps81.3 Mbps Pathload9.9 – 10.2 mbps10 – 15 Mbps1.22 – 2.02 Mbps pathChirp26.5 Mbps28.3 Mbps26.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
13
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:
14
Finding Optimal Path Map the N 2 network topology as a graph Label each path with the calculated time Use Dijkstra's algorithm to find optimal path N1N1 N2N2 N3N3 N4N4 89 ms 45 ms 35 ms25 ms N1N1 N3N3 N4N4 N2N2
15
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.
16
The End
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.