Title: TCOM 541
1TCOM 541
2MENTOR-II
- Last session, we talked about routing and how the
limitations of routing algorithms introduce
complications - They may not be smart enough to find a feasible
routing for our beautiful network design - MENTOR-II improves the design algorithm to
account for the limitations of routing algorithms - Also increases the complexity of the design
process
3Incremental Shortest Path (ISP)
- Goal of ISP algorithm is to identify all pairs
that could use a link in place of the current
path - Initially all paths pass through the tree
- As direct links are added, the situation becomes
more complex
4ISP (2)
- Maintain two nxn matrices
- Shortest-path distances (sp_dist)nxn
- Matrix of node pointers (sp_pred) nxn
- Maintains all shortest paths through the network
simultaneously - Update matrices after each link addition
5sp_pred
- sp_pred(i,j) m contains the next-to-last node
on the shortest path from i to j - Can trace back the shortest path from i to j by
next looking at sp_pred(i,m), etc.
6ISP in MENTOR II
- Each link must be assigned a length greater than
its cost - Do not want to give links artificially short
lengths - Consider a source node s, and a destination node d
7ISP in MENTOR II (2)
- ISP algorithm builds s_list and d_list
- For a proposed link of proposed length L
- Node added to s_list if
- sp_dist nodes L lt sp_distnoded
- Node added to d_list if
- sp_distnoded L lt sp_distnodes
8ISP in MENTOR II (3)
- Now work through all pairs of ni in s_list and nj
in d_list - If sp_distnis L sp_distdnj lt
sp_distninj - Then (ni,nj) traffic will shift to the proposed
link - Maximum permissible L for (ni,nj) traffic to
shift is - maxL sp_distninj sp_distdnj
sp_distnis
9ISP in MENTOR II (4)
- We can sort pairs by maxL and get a sequence
for example - maxL(P1) 2000
- maxL(P2) 1800
- maxL(P3) 1800
- maxL(P4) 1700
- Do not want to set L 2000 or 1800 or 1700
creates equal length paths which will probably
confuse the routers
10Commodity Links
- MENTOR-II has a weakness when the clustering
algorithm chooses too few backbone sites - Recall in last weeks example that best costs
were achieved with a high number of backbone
nodes - Backbone node choice determined by parameters
WPARM and RPARM
11Recap Threshold Clustering
- Weight of a site is sum of all traffic into and
out of the site - Normalized weight of site i is
- NW(i) W(i)/C
- Sites with NW(i) gt WPARM are made into backbone
sites - Where WPARM is a parameter
12Recap -Threshold Clustering (2)
- All sites that do not meet the weight criterion
and are close to a backbone site are made into
end sites - Close is defined as when the link cost from the
end site e to the backbone site is less than a
predefined fraction of the maximum link cost
MAXCOST maxi,jcost(Ni,Nj) - cost(e,Ni) lt MAXCOSTRPARM
-
13Wrong Parameter Choices
- Wrong choice of parameters can lead to problems
- E.g., WPARM 100, RPARM 1
- Most likely, no site will be chosen in the
initial pass as a backbone node because WPARM is
so high - Computation of merit will choose a first backbone
site
14Recap Merit
- Define
- dcn (xn-xctr)2 (yn-yctr)20.5
- maxdc max(dcn)
- maxW max(Wn)
- Then
- meritn 0.5(maxdcdcn)/maxdc 0.5(Wn/maxW)
- That is, merit gives equal value to a nodes
proximity to the center and to its weight
15Wrong Parameter Choices (2)
- Then no other nodes will will be chosen as
backbone nodes because of RPARM - With only one backbone node, no direct links will
be added - End result is a star network
16Fixing the Problem
- Define a new class of links called 1-commodity
links that link endpoints - Carry only traffic between the endpoints linked
- Insert a new step into the MENTOR algorithm to
add 1-commodity links where appropriate
171-Commodity Links - Example
H
T(A,H) 1.8 T(H,I) 2.4 T(C,I) 1.4
Links have capacity 2 We want load lt 1
A
G
B
E
F
D
I
C
18Recap Adding Links
- For each pair (N1,N2), execute the following
algorithm - If capacity of a link is C, compute
- n ceilT(N1,N2)/C
- Compute utilization
- u T(N1,N2)/(nC)
- Add link if u gt umin, otherwise move traffic 1
hop through the network - I.e., add T(N1,N2) to both T(N1,H) and T(H,N2)
- And do same for T(N2,N1)
- Note there is a special case when (N1,N2)
belongs to the original tree - In this case just add the link (N1,N2) to the
design - Added note Define slack 1 - umin
191-Commodity Links Example (2)
Links have nominal capacity 64 We want lt 32
H
T(A,H) 38 T(H,I) 77 T(C,I) 45
A
G
B
E
F
D
I
If slack 0.1, we add 2 parallel links between A
and H If slack 0.2, also add 3 links between H
and I If slack 0.3, also add 2 links between C
and I
C
201-Commodity Links Example (3)
- Adding the A-to-H links, etc., may or may not be
a good idea, depending on the rest of the traffic
matrix - Also, must not add these requirements to the
backbone, since they are carried separately
21Setting 1-Commodity Backbone Link Lengths
- Need to set 1-commodity link lengths so that they
only carry traffic between the two end nodes - Assume all links have length gt 1
- With shortest-path routing, set 1-commodity link
lengths sp_disttree - 1
22MENTOR II Overview
- Divide sites into backbone and edge sites
- Select the median
- Build a Prim-Dijkstra tree rooted at median, link
length cost - Compute distance through the tree between each
node pair put information in sp_dist and sp_pred
23MENTOR II Overview (2)
- 5. Add 1-commodity links between pairs not
considered for direct-link addition if traffic on
the link will exceed umin - 6. Collapse requirements onto backbone
- 7. Sequence backbone node pairs in decreasing
order of shortest-path distance - 8. Consider each pair using ISP algorithm, add
link if desired, choosing appropriate length
24MENTOR II Overview (3)
- Set 1-commodity links lengths to carry only
traffic between edge nodes, if possible - Do final link re-sizing
25MENTOR-II Difficulty
- It is not always possible to add 1-commodity
links with lengths that will only carry the
desired traffic - Then there are three possibilities
- Do not add 1-commodity links
- Extend direct-link addition from backbone pairs
to all pairs - Add links and check routing
26MENTOR-II Difficulty (2)
- Without the 1-commodity links, the algorithm is
too dependent upon the initial choice of backbone
thats why we started adding them - Extending link addition to all node pairs is too
expensive raises algorithm complexity to O(n4) - Adding links and checking routing is only
reasonable possibility not ideal, but better
than using OSPF routers on original MENTOR design
27We Are Still Not Done With MENTOR
- Backbone link addition algorithm in MENTOR can go
astray example
Assume 64 kbps links, slack set to add if a
link attracts between 25 and 32 kbps
A
B
Y
Traf(A,Z) 5 kbps Traf(B,Y) 25 kbps
Z
28MENTOR Goes Astray
Assume 64 kbps links, slack set to add if a
link attracts between 25 and 32 kbps
A
B
Y
Traf(A,Z) 5 kbps Traf(B,Y) 25 kbps
Z
sp_dist(A,Z) gt sp_dist(B,Y), so consider adding
(A,Z) first. This will attract 30 kbps but
adding it would detour traffic from the larger
pair through the smaller pair.
29Improving MENTOR
- To avoid this error, we reorder as follows
- For pair P, create the requirement list (P1,
P2, Pk) - Check if any pairs Pi in this list
- Have not yet been processed by the direct-link
addition algorithm - Have more than 2x traffic between Pi than between
P - If so, exchange order of processing P and Pi
30Multispeed MENTOR
- Initial MENTOR assumption was that only one link
speed was available - Now generalize to multispeed links
31Multispeed MENTOR (2)
- In considering whether to replace multiple lower
speed links with one higher speed link, there are
three cases - Cost of multiple lower speed links gt cost of
higher speed link - Cost of multiple lower speed links cost of
higher speed link - Cost of multiple lower speed links lt cost of
higher speed link
32Multispeed MENTOR (3)
- In case 1, its clearly advantageous to use the
higher speed link - In case 2, its still advantageous still
improves performance and allows for growth - In case 3, we have to balance the extra cost now
against the improved performance now and cost
savings as traffic grows (future) - Avoid termination charges/installation
charges/higher rates in future - Decision depends on expected growth rate
33Multispeed MENTOR (4)
- We will not add time-dependencies to MENTOR
- Will merely find the cheapest set of homogenous
parallel circuits that will carry the traffic
with acceptable utilization - Homogeneous because routing algorithms can do
stupid things with inhomogeneous circuit
combinations
34Link Sizing Steps
- For each link capacity CAPi, compute ni, the
number of circuits needed to carry the traffic
with utilization lt umax - If njCostj is smallest, configure as nj circuits
of type j - Break ties in favor of configuration with higher
total capacity
35Complexity of MENTOR-II
- MENTOR-II has same complexity as MENTOR, except
for direct-link addition - That is, O(n2)
- Direct-link addition step
- Incremental shortest path step is O(b2), where b
is number of backbone nodes - Number of backbone node pairs is O(b2)
- Overall complexity of direct-link addition is
O(b4) - MENTOR-II complexity is O(n2) O(b4)
36Complexity of MENTOR-II (2)
- O(n2) O(b4) is viable so long as b ltlt n
- For instance, if b O(n0.5) then complexity of
MENTOR-II is O(n2) O(n2) O(n2) - Often reasonable to cluster many nodes to
concentrators in large networks - If b is large relative to n, the algorithm slows
down a lot
37Comparing MENTOR and MENTOR-II
- Compare performance of MENTOR and MENTOR-II
- Network with 20 sites (Cahn figs 8.23.and 8.24)
- MENTOR produces infeasible design
- Some links have 118 utilization
38MENTOR-II Design
- MENTOR-II initial design with
- a 0
- Slack 0
- WPARM 5
- RPARM 0.2
- MENTOR-II design is a feasible tree costing 102k
- Alternate mesh network design costs 122k
39MENTOR-II Design (2)
- Mesh increases cost by 20
- Increases reliability from 0.939 to 0.987
- Reduces average hops from 3.905 to 2.826
40Controlling the Algorithm
- Changing the design parameters changes the
characteristics of the resulting design - To make network more dense, increase slack, or
increase number of backbone nodes - To make network more reliable, increase density,
or use lower-speed links - To make network less dense, decrease slack, or
use only higher-speed links
41Controlling the Algorithm (2)
- To decrease number of hops
- Decrease number of backbone nodes
- Increase slack
- Increase a
- To increase performance
- Use higher-speed links
- Decrease utilization
- Increase a
42Controlling the Algorithm (3)
- To minimize cost no easy answer
- Best approach is an thorough search of the design
space - I.e., vary the values of a, slack, RPARM and
WPARM in a systematic fashion
43Parameter Search
- Brute force method would simply assign a range of
k possible values for a, slack, RPARM and WPARM,
and compute all possible designs - This is O(k4)
- Better approaches are possible
44MENTOR Parameter Search
- Recall the main steps of the MENTOR algorithm
- Backbone selection, governed by WPARM and RPARM
- Tree building, governed by a
- Direct-link addition, governed by slack
45MENTOR Parameter Search (2)
- Parameter search in is, again, a heuristic
process - Search can be shortened
- E., g., if new values of WPARM and RPARM give
rise to the same set of backbone nodes - Then there is no need to reiterate on a, because
we will just get the same set of trees
46MENTOR Parameter Search (3)
- Alternatively, can perform one-dimensional
searches on the parameters (fast search) - Start with values (a0, slack0, RPARM0, WPARM0)
- Search along a axis for best (cheapest?) design
say at a1 - Alternatively, search in direction of positive
gradient until a local maximum is attained - Then search along the slack axis starting at (a1,
slack0, RPARM0, WPARM0) find new best design at
(a1, slack1, RPARM0, WPARM0)
47MENTOR Parameter Search (4)
- Continue through RPARM and WPARM to design (a1,
slack1, RPARM1, WPARM1) - Can repeat iterations until a satisfactory design
(an, slackn, RPARMn, WPARMn) is produced - Note there is no guarantee that this
hill-climbing process will work, but it seems
effective in practice
48Example of Fast-Search Process
- Network of 20 cities and 2.048 Mbps traffic
- File ment23.gen on FTP site
49Example of Fast-Search Process (2)
- Exhaustive search with 4000 network designs gave
best cost of 165k with parameters (0.0, 0.1,
0.2, 5.5)
50Other Clustering Procedures
- Threshold clustering fails when the network does
not have natural centers (backbone nodes) - Also insensitive individual sites access costs
- Various alternatives possible
51Other Clustering Procedures - Pre-Select Types
- Pre-define certain sites as backbone or end
before using the clustering algorithm - Can take account of cost variations, user
population
52Other Clustering Procedures K-Means Clustering
- We want to choose K backbone sites from among a
set si of sites with coordinates (xi, yi) and
weight Wi - Choose K random centers cj
- N the set of indices of the subset of points in
si that are closer to cj than any other center - Set cj (xav, yav) where
- xav (SneN Wnxn)/(SneN Wn) etc.
53Other Clustering Procedures K-Means Clustering
(2)
- If ci ci then stop, else set ci ci and
repeat - This algorithm enables the analyst to choose
explicitly the number of backbone nodes - Variations allow for splitting clusters,
predefining backbone nodes etc.
54Other Clustering Procedures - Hybrid
- Combines threshold and K-means
- Parametrized by (nclst, n, seed)
- Selects first sites that pass weight threshold of
ncap say m of them - If m gt nclst, stop
- Else select remaining (nclst m) sites by K-means
55Further Elaborations of MENTOR
- Access design algorithm is limited to stars
- Can use access design algorithms such as
Esau-Williams or MSLA to design better access
networks
56Assignment