Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 TCOM 541 Session 3. 2 MENTOR-II Last session, we talked about routing and how the limitations of routing algorithms introduce complications –They may.

Similar presentations

Presentation on theme: "1 TCOM 541 Session 3. 2 MENTOR-II Last session, we talked about routing and how the limitations of routing algorithms introduce complications –They may."— Presentation transcript:

1 1 TCOM 541 Session 3

2 2 MENTOR-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

3 3 Incremental 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

4 4 ISP (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

5 5 sp_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.

6 6 ISP 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

7 7 ISP 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 [node][s] + L < sp_dist[node][d] –Node added to d_list if sp_dist[node][d] + L < sp_dist[node][s]

8 8 ISP in MENTOR II (3) Now work through all pairs of ni in s_list and nj in d_list If sp_dist[ni][s] + L + sp_dist[d][nj] < sp_dist[ni][nj] Then (ni,nj) traffic will shift to the proposed link Maximum permissible L for (ni,nj) traffic to shift is maxL = sp_dist[ni][nj] – sp_dist[d][nj] – sp_dist[ni][s]

9 9 ISP 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 …

10 10 Commodity Links MENTOR-II has a weakness when the clustering algorithm chooses too few backbone sites –Recall in last week’s example that best costs were achieved with a high number of backbone nodes –Backbone node choice determined by parameters WPARM and RPARM

11 11 Recap: 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) > WPARM are made into backbone sites –Where WPARM is a parameter

12 12 Recap -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 = max i,j cost(N i,N j ): cost(e,N i ) < MAXCOST*RPARM

13 13 Wrong 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

14 14 Recap: Merit Define dc n = [(x n -xctr) 2 + (y n -yctr) 2 ] 0.5 maxdc = max(dc n ) maxW = max(W n ) Then merit n = 0.5(maxdc–dcn)/maxdc + 0.5(W n /maxW) That is, “merit” gives equal value to a node’s proximity to the center and to its weight

15 15 Wrong 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

16 16 Fixing 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

17 17 1-Commodity Links - Example D A I F G E B H C Links have capacity 2 We want load < 1 T(A,H) = 1.8 T(H,I) = 2.4 T(C,I) = 1.4

18 18 Recap – Adding Links For each pair (N1,N2), execute the following algorithm: 1.If capacity of a link is C, compute n = ceil[T(N1,N2)/C] 2.Compute utilization u = T(N1,N2)/(n*C) 3.Add link if u > 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

19 19 1-Commodity Links – Example (2) D A I F G E B H C Links have nominal capacity 64 We want < 32 T(A,H) = 38 T(H,I) = 77 T(C,I) = 45 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

20 20 1-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

21 21 Setting 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 > 1 With shortest-path routing, set 1-commodity link lengths = sp_dist tree - 1

22 22 MENTOR II Overview 1.Divide sites into backbone and edge sites 2.Select the median 3.Build a Prim-Dijkstra tree rooted at median, link length = cost 4.Compute distance through the tree between each node pair – put information in sp_dist and sp_pred

23 23 MENTOR 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

24 24 MENTOR II Overview (3) 9.Set 1-commodity links lengths to carry only traffic between edge nodes, if possible 10.Do final link re-sizing

25 25 MENTOR-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 1.Do not add 1-commodity links 2.Extend direct-link addition from backbone pairs to all pairs 3.Add links and check routing

26 26 MENTOR-II Difficulty (2) 1.Without the 1-commodity links, the algorithm is too dependent upon the initial choice of backbone – that’s why we started adding them 2.Extending link addition to all node pairs is too expensive – raises algorithm complexity to O(n 4 ) 3.Adding links and checking routing is only reasonable possibility – not ideal, but better than using OSPF routers on original MENTOR design

27 27 We Are Still Not Done With MENTOR Backbone link addition algorithm in MENTOR can go astray – example: A B Y Z Assume 64 kbps links, slack set to add if a link attracts between 25 and 32 kbps Traf(A,Z) = 5 kbps Traf(B,Y) = 25 kbps

28 28 MENTOR Goes Astray A B Y Z Assume 64 kbps links, slack set to add if a link attracts between 25 and 32 kbps Traf(A,Z) = 5 kbps Traf(B,Y) = 25 kbps sp_dist(A,Z) > 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.

29 29 Improving MENTOR To avoid this error, we reorder as follows For pair P, create the requirement list (P 1, P 2, …P k ) Check if any pairs P i in this list 1.Have not yet been processed by the direct-link addition algorithm 2.Have more than 2x traffic between P i than between P If so, exchange order of processing P and P i

30 30 Multispeed MENTOR Initial MENTOR assumption was that only one link speed was available Now generalize to multispeed links

31 31 Multispeed MENTOR (2) In considering whether to replace multiple lower speed links with one higher speed link, there are three cases: 1.Cost of multiple lower speed links > cost of higher speed link 2.Cost of multiple lower speed links = cost of higher speed link 3.Cost of multiple lower speed links < cost of higher speed link

32 32 Multispeed MENTOR (3) In case 1, it’s clearly advantageous to use the higher speed link In case 2, it’s 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

33 33 Multispeed 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

34 34 Link Sizing Steps For each link capacity CAP i, compute n i, the number of circuits needed to carry the traffic with utilization < u max If n j *Cost j is smallest, configure as n j circuits of type j Break ties in favor of configuration with higher total capacity

35 35 Complexity of MENTOR-II MENTOR-II has same complexity as MENTOR, except for direct-link addition –That is, O(n 2 ) Direct-link addition step –Incremental shortest path step is O(b 2 ), where b is number of backbone nodes –Number of backbone node pairs is O(b 2 ) –Overall complexity of direct-link addition is O(b 4 ) MENTOR-II complexity is O(n 2 ) + O(b 4 )

36 36 Complexity of MENTOR-II (2) O(n 2 ) + O(b 4 ) is viable so long as b << n –For instance, if b = O(n 0.5 ) then complexity of MENTOR-II is O(n 2 ) + O(n 2 ) = O(n 2 ) Often reasonable to cluster many nodes to concentrators in large networks If b is large relative to n, the algorithm slows down a lot

37 37 Comparing 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

38 38 MENTOR-II Design MENTOR-II initial design with  = 0 Slack = 0 WPARM = 5 RPARM = 0.2 MENTOR-II design is a feasible tree costing $102k Alternate mesh network design costs $122k

39 39 MENTOR-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

40 40 Controlling 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

41 41 Controlling the Algorithm (2) –To decrease number of hops Decrease number of backbone nodes Increase slack Increase  –To increase performance Use higher-speed links Decrease utilization Increase 

42 42 Controlling 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 , slack, RPARM and WPARM in a systematic fashion

43 43 Parameter Search Brute force method would simply assign a range of k possible values for , slack, RPARM and WPARM, and compute all possible designs This is O(k 4 ) Better approaches are possible

44 44 MENTOR Parameter Search Recall the main steps of the MENTOR algorithm –Backbone selection, governed by WPARM and RPARM –Tree building, governed by  –Direct-link addition, governed by slack

45 45 MENTOR 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 , because we will just get the same set of trees

46 46 MENTOR Parameter Search (3) Alternatively, can perform one-dimensional searches on the parameters (“fast search”) –Start with values (  0, slack 0, RPARM 0, WPARM 0 ) –Search along  axis for “best” (cheapest?) design – say at  1 Alternatively, search in direction of positive gradient until a local maximum is attained –Then search along the slack axis starting at (  1, slack 0, RPARM 0, WPARM 0 ) – find new best design at (  1, slack 1, RPARM 0, WPARM 0 )

47 47 MENTOR Parameter Search (4) Continue through RPARM and WPARM to design (  1, slack 1, RPARM 1, WPARM 1 ) Can repeat iterations until a satisfactory design (  n, slack n, RPARM n, WPARM n ) is produced Note there is no guarantee that this hill- climbing process will work, but it seems effective in practice

48 48 Example of Fast-Search Process Network of 20 cities and 2.048 Mbps traffic –File ment23.gen on FTP site ParametersSearch OnIncrementCost ($k) 0, 0, 0.4, 1(initial values)-222 0, 0.15, 0.4, 1Slack0.05183 0, 0.15, 0.4, 1  0.05183 0, 0.15, 0.4, 4.5WPARM0.25169 0, 0.15, 0.4, 4.5RPARM0.25169 0, 0.15, 0.4, 4.5slack0.25169 0, 0.15, 0.4, 4.5  0.25169

49 49 Example 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)

50 50 Other Clustering Procedures Threshold clustering fails when the network does not have natural centers (backbone nodes) Also insensitive individual sites access costs Various alternatives possible

51 51 Other 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 …

52 52 Other Clustering Procedures – K- Means Clustering We want to choose K backbone sites from among a set s i of sites with coordinates = (x i, y i ) and weight W i Choose K random centers c j N = the set of indices of the subset of points in {s i } that are closer to c j than any other center Set c j * = (x av, y av ) where x av = (  n  N W n *x n )/(  n  N W n ) etc.

53 53 Other Clustering Procedures – K- Means Clustering (2) If c i * = c i then stop, else set c i * = c i and repeat This algorithm enables the analyst to choose explicitly the number of backbone nodes Variations allow for splitting clusters, predefining backbone nodes etc.

54 54 Other Clustering Procedures - Hybrid Combines threshold and K-means Parametrized by (nclst, n, seed) Selects first sites that pass weight threshold of n*cap – say m of them If m > nclst, stop Else select remaining (nclst – m) sites by K- means

55 55 Further 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

56 56 Assignment Cahn, 8.1and 8.9

Download ppt "1 TCOM 541 Session 3. 2 MENTOR-II Last session, we talked about routing and how the limitations of routing algorithms introduce complications –They may."

Similar presentations

Ads by Google