Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 TCOM 541 Session 1. 2 Agenda Overview Recap TCOM540 material needed for this course.

Similar presentations


Presentation on theme: "1 TCOM 541 Session 1. 2 Agenda Overview Recap TCOM540 material needed for this course."— Presentation transcript:

1 1 TCOM 541 Session 1

2 2 Agenda Overview Recap TCOM540 material needed for this course

3 3 Introduction Text: Wide Area Network Design by Robert S. Cahn, Publ. Morgan Kaufmann, ISBN 1- 55860-458-8 Other supplementary readings Web site http://teal.gmu.edu/ececourses/tcom540/TCOM540541.htm

4 4 Introduction (2) Approximate schedule for TCOM 541 –Week 1 – Introduction and recap TCOM 540 material –Week 2 – Automated design tools, mesh network design –Week 3 – Augmenting and merging networks –Week 4 – Buying services vs. buying equipment and circuits –Weeks 5 and 6 – Practical vs. theoretical considerations –Week 7 – Review –Week 8 – TCOM 541 final

5 5 Introduction (3) Evaluation weightings –Homework 25% –Term paper/project 25% –Finals 25% –Class Participation 25% Quizzes approximately every two weeks

6 6 Network Optimization … Is generally not possible … –Conflicting objectives –Combinatorial explosion defeats exact solutions –Inadequate /inaccurate information –Rate of change, especially for data networks Generally have to settle for a “pretty good” design

7 7 Conflicting Objectives Cost Performance Reliability Trade-offs are inevitable!

8 8 540 Recap Topics Queuing and blocking Graph theory Minimum Spanning Trees Shortest Path Trees Tours Traffic Models Access and Backbone

9 9 Voice Traffic Distribution and Measurement Traffic peaks around 11 am and 2 pm Assume 20% of traffic in “busy hour” (Voice) traffic is measured in Erlangs –Erlangs = arrival rate/departure rate –E.g., if calls arrive at 2 per minute and hold for 3 minutes, then: Arrival rate = 2 per minute Departure rate = 0.3333 per minute Traffic = 2/(0.3333) = 6 Erlangs

10 10 Erlang Recursion Let B(E, n) = blocking when E Erlangs of traffic offered to n lines Then B(E, n) = E*B(E, n-1)/(E*B(E, n-1) + n) This is generally the easiest way to calculate blocking. In real life there is software to do this.

11 11 Example Erlang Blocking Calculation Assume 5 lines, 3 Erlangs of traffic. Then: B(3,0) = 1 B(3,1) = 3*B(3,0)/(3*B(3,0)+1) = 3/4 B(3,2) = 3*B(3,1)/(3*B(3,1)+2) = 2.25/(2.25+2) = 0.5294 B(3,3) = 3*B(3,2)/(3*B(3,2)+3) = 1.5882/(1.5882+3) = 0.3461 B(3,4) = 3*B(3,3)/(3*B(3,3)+4) = 1.0383/(1.0383+4) = 0.2061 B(3,5) = 3*B(3,4)/(3*B(3,4)+5) = 0.6183/(0.6183+5) = 0.1101

12 12 Queuing Theory (1) Needed to understand/calculate link delays Store-and-forward Service time = packet size/link speed Delay determined by packet size distribution and packet arrival distribution

13 13 Queuing Theory (2) Service time is N/S, where: –N = number of bits/packet –S = link speed in bits/sec Assume interarrival and packet length PDFs are of form c*e (-c*x) Called an M/M/1 queue

14 14 Define  = ratio of arrival rate ( ) to service rate (  ) Average waiting time Tw = (  Average service time Ts = 1/  Average total time = Ts + Tw = (1/  Queuing Theory (3)

15 15 Set Theory A set is a collection of (mathematical) objects –E.g., {A, B, C} –E.g., {1,2,3, …, 99} s  S means “s is a member of S” s ~  S means “s is not a member of S” T is a subset of S if every member of T is also a member of S –It’s a proper subset if there is at least one member of S that is not a member of T

16 16 Set Theory (2) The set of all subsets of S is denoted as 2 s If S has n members, then 2 s has 2 n members Union of two sets is the set of all their members Intersection of two sets is the set of common members

17 17 Set Theory (3) Intersection Union

18 18 Set Theory (4) Cartesian Product of two sets, S and T, is the set SxT –Elements are (s,t) where s  S and t  T The graph of a function f:S T is the subset of SxT that consists of {(s,t) f(s) = t)}

19 19 Graphs A graph consists of a set of vertices (or nodes) V and a set of edges E A D I Z C B

20 20 Some Definitions for Graphs Each edge connects two vertices (may be same – then it’s called a loop) Two edges are called parallel if they connect the same vertices A graph is simple if it has no loops or parallel edges The degree of a vertex is the number of edges it has Two nodes are adjacent if there is an edge that has them as endpoints

21 21 Some Definitions for Graphs (2) A path between vertices v 1 and v n is a set of edges (e 1, e 2, …, e n ) such that e i and e i+1 have a common endpoint, and v 1 is an endpoint of e 1 and v n is an endpoint of e n A cycle is a path from a vertex to itself A graph is connected if for any two nodes there is a path between them

22 22 A Small (But Not Simple) Graph A D I Z C B Parallel edges Loop Node degree 3 Adjacent nodes (DZ), (ZB), (BI), (ID) is a cycle. This graph is connected

23 23 Definitions (3) A subgraph G* of a graph G with vertices V and edges E is a pair (V*, E*) where –V* is a subset of V –E* is a subset of E –If an edge belongs to E* then both its endpoints must belong to V* A component of a graph is a maximal connected subgraph Two graphs G1, G2 are isomorphic if there is a 1-to-1 mapping f:V1 V2 such that (v1, v2) is a member of E1 iff (f(v1), f(v2)) is a member of E2

24 24 Another Graph A D I Z C N K M J e1 e2 e3 e4 e5 e6 e7 e8 ( (D, Z, B, M, J), (e2, e8, e4)) is a subgraph It is not a component. The two right-hand components are isomorphic X Q R H e11 e99 P e15 e16 e12 B e13 e9

25 25 Definitions (4) A tree is a connected simple graph without cycles A star is a tree in which exactly one node has degree >1 A chain is a tree in which no node has degree greater than 2 Define N(G) = number of nodes in G

26 26 Tree, Star, Chain

27 27 V&H Coordinates V&H coordinate grid covers U.S. Approx 10,000 x 10,000 Distance between points (v1, h1) and (v2, h2) for tariff calculations is sometimes defined as: A simpler formulation is: Note V&H assumes earth is flat … Dist = 1+int{[(dv 2 +9)/10+(dh 2 +9 )/10] 0.5 } Where dv = v1-v2 and dh = h1-h2 Dist = 1 + int[(dv 2 +dh 2 )/10]

28 28 Weighted Graph A weighted graph is a graph G where each edge e has a weight w(e) –Denoted by (G, w) –Generally w(e) > 0 –Weight of a subgraph G* is sum of weights of edges in G* Real networks are weighted graphs –Weight may be cost, delay, or other parameter

29 29 Minimum Spanning Tree A Minimum Spanning Tree (MST) is a connected subgraph with minimum weight

30 30 Kruskal’s Algorithm for MST Is G connected? yes no stop Sort edges in ascending order of weight Mark each node as separate component Loop on edges Let e be candidate edge If ends of e are in different components, accept e Stop when number of edges = N(G) - 1

31 31 Prim’s Algorithm for MST Start with all nodes unconnected and Label = infinity Select root node Scan neighbors, update Labels = min edge to tree Add closest neighbor (smallest Label) Stop when N(G) –1 added

32 32 Limitations of MSTs No redundancy –One link failure separates the network into two disconnected components –Big problem for large networks May involve very long paths in large networks

33 33 MSTs Do Not Scale Number of hops between nodes n1 and n2 is the number of edges in the path chosen by the routing algorithm Average number of hops is traffic-weighted = (  n1,n2 traffic(n1,n2)*hops(n1,n2))/  n1,n2 traffic(n1,n2)

34 34 Definitions For a weighted graph (G,w), and nodes n1 and n2, the shortest path P from n1 to n2 minimizes  e  P w(e) The shortest-path tree (SPT) rooted at node n1 is a tree T such that for any other node n2 the path from n1 to n2 is a shortest path

35 35 Dijkstra’s Algorithm for Shortest-Path Trees 1.Mark each node unscanned, assign label infinity 2.Set label of root to 0, and predecessor to self 3.Loop through nodes Find node n with smallest label Mark as scanned Examine all adjacent nodes m, see if distance through n < label If so, update label, update predecessor(m) = n Note that a link may drop out of the tree if a shorter route is found

36 36 Characteristics of SPTs In a complete graph, SPT is a star* –High performance and reliability –But likely implies low link utilization, high expense * Unless triangle inequality does not hold

37 37 Prim-Dijkstra Trees We play with the definition of the Label Prim’s Label = min neighbors dist(node, neighbor) Dijkstra’s Label = min neighbors [dist(root, neighbor) + dist(neighbor, node)] Prim-Dijkstra Label = = min neighbors [  *dist(root, neighbor) + dist(neighbor, node)] Now  is a parameter that we choose, between 0 and 1

38 38 Varying Alpha

39 39 Tours A tree design may be unreliable A tour adds one link to significantly increase reliability A tour of a set of vertices (v1, v2, …, vn) is a set of n edges such that each vertex has degree 2 and the graph is connected

40 40 Tours (2) Leads to the (in)famous Traveling Salesman Problem (TSP) –Given a set of vertices (v1, v2, …, vn) and a distance function d(vi,vj) between vertices, find the tour T(vt i ) such that  d(vt i,t i+1 ) is minimized

41 41 Reliability of a Tree Reliability = probability that functioning nodes are connected by working links For a tree, reliability = (1-p) n-1, where –p = probability of a link failing –n = number of nodes P(failure) = 1- reliability = 1 - (1-p) n-1  (n-1)*p

42 42 Reliability of a Ring A ring can tolerate one failure For a ring, P(failure) = 1- (1-p) n – n*p*(1-p) n-1  0.5*n*(n-1)*p 2 if p is small X

43 43 A Simple Algorithm for Building a Tour Denote a root node, set current node = root Loop through nodes –Find closest node (not in tour) to current node –Add an edge to it –Reset current node to be this node just added Create an edge between last node and root

44 44 Creditable Solutions and Creditability Tests A solution is creditable if it is a local optimum –I.e., it is not creditable if, by some method, we can manipulate the solution to a better one Cahn uses a crossing test to determine creditability of the simple tour-building algorithm –It does not do well ….

45 45 A Better Tour-Building Algorithm Look for closest neighbor to any node in the partial tour (not just the last one added) Insert between two adjacent nodes in tour in “best” place –Minimum increase in partial tour length Also “farthest neighbor” heuristic –Avoids stranding distant nodes

46 46 A Difficulty TSP tours do not scale –Similar to trees in this respect –Average number of hops increases O(n)

47 47 2-Connectivity A vertex v of a connected graph G = (V, E) is an articulation point if removing the vertex and all attached edges disconnects the graph If a connected graph has no articulation points, it is said to be 2-connected

48 48 Connecting 2-Connected Graphs Suppose G1 = (V1, E1) and G2 = (V2, E2) are two disjoint 2-connected graphs. Take v1 and v2 from G1 and v3 and v4 from G2 and add the edges (v1,v3) and (v2,v4). The resulting graph is 2-connected

49 49 Connecting 2-Connected Graphs Suppose G1 = (V1, E1) and G2 = (V2, E2) are two disjoint 2-connected graphs. Take v1 and v2 from G1 and v3 and v4 from G2 and add the edges (v1,v3) and (v2,v4). The resulting graph is 2-connected Roughly, if you connect 2 pairs of vertices from two 2-connected graphs, the resulting graph is 2-connected

50 50 Heuristic Based on Partitioning Divide set of nodes into multiple “clusters” Use nearest-neighbor algorithm to build TSP tour on each cluster Connect clusters, ensuring no connectors have a common vertex Resulting graph is 2-connected

51 51 Traffic Tables Matrix vs. List From\ToAB…Z AT AA T AB T AZ BT BA T BB T BZ … ZT ZA T ZB T ZZ FromToTraf. AAT AA ABT AB ……… ZZT ZZ

52 52 Traffic Models Topics: –Uniform –Random –Population power –Modified population power –Normalized model –Asymmetric model

53 53 Uniform Traffic from site a to site b is T(a,b) = C Not realistic for most situations

54 54 Random T(a,b) = R –Where R is a random number generated on a defined interval [T min, T max ] This simple model is useful in some applications –WWW-type traffic –As one component of a more complex model

55 55 Population Power If the sites a and b have populations P a and P b, and are distance D a,b apart, then T(a,b) =  *(p a *p b )  /D a,b  where , ,  are suitably-chosen constants

56 56 Modified Population Power Large, close sites can dominate the simple population power model Fails if D = 0 Use offsets D off and p off T(a,b) =  *(p a *p b + p off )  /(D a,b + D off ) 

57 57 Normalization Choose  so as to give the desired level of traffic on the network by matching –Total traffic on network –Traffic from each site (row normalization) –Traffic to and from each site (row and column normalization) Must have  traffic in =  traffic out for this to be possible! Algorithmic iterative approach can be used

58 58 Asymmetric Traffic Models considered so far are symmetric T(a,b) = T(b,a) Real traffic is often not symmetric –E.g., WWW access Introduce concept of Levels –Each site is assigned to a level L i, i=1, …, n Matrix of multipliers M(L i, L j )

59 59 Asymmetric Traffic (2) If M = ( ) then traffic from a level 1 node to a level 2 node will be one-third of the traffic from a level 2 node to a level 1 node Revised model is then T(a,b) =  *M(L a, L b )*(p a *p b + p off )  /(D a,b +D off )  0 1 3 0

60 60 More Complex Models Introduce a random element into the previous model Superimpose multiple components representing different types of traffic Redefine the distance function –“Organizational distance”

61 61 Tariff Structures Fundamental distinction –Fixed cost per month Private lines, PVCs, some internet access Cost may also depend on bandwidth, distance, “quality”, … –Usage based Switched pipes – e.g., switched voice –Price may also depend on distance, bandwidth, … Data – per packet

62 62 Tariff Structures (2) Additional fees may include –Initiation charge –Cancellation charge –Features charges –Access charges

63 63 Tariff Structures (3) Tariff structures are not simple –Depend on level of competition, administrative and other boundaries, other factors –Best deals are not tariffed Usually competed/negotiated by large customers

64 64 Tariff Structures (4) In some cases (especially international), tariffs may not exist, or may be for half- circuit only –I.e., to a notional mid-ocean meeting point Commercial tariff services (e.g., Valucom, CCMI) are not cheap

65 65 Linear Distance-Based Charges Underlying tariff structure for many dedicated circuits and PVCs is distance-based, e.g., Cost = a + b*distance Rates for individual location-pairs may vary –Carrier may have excess capacity on certain routes => may be cheaper –Carrier may have to buy capacity from others => may be more expensive

66 66 Piecewise-Linear Charges Each segment is linear Cost/month Distance

67 67 Step Function Distance Cost/month

68 68 Cost Generators Cahn provides 5 cost generators –1. Linear (TARIFF-UNIVERSAL) –2. Piecewise linear (2 pieces) (TARIFF- UNIVERSAL) –3. Piecewise linear (limited international) (TARIFF-NATIONAL) –4. International half-circuit (TARIFF-HCKT) –5. Exceptions (TARIFF-OVERRIDE)

69 69 Access and Backbone To over-simplify, access lines provide local connectivity, backbone provides long- distance transport Balance between access and backbone costs can vary widely

70 70 Access and Backbone (2) Access Backbone

71 71 Access and Backbone (3) IXC1 POP IXC2 POP LEC Central Office Local Loops IXC1 Backbone IXC2 Backbone Access lines to IXCs To other LEC COs

72 72 Esau-Williams Algorithm Esau-Williams creates a Capacitated Minimum Spanning Tree (CMST) Given a central node N 0 and a set of other nodes (N 1, N 2, … N n ), and a set of weights (w 1, …, w n ) for each node, the capacity of a link W, and a cost matrix Cost(i,j) find a set of trees T1, …, Tk such that each N i belongs to exactly one Tj and each Tj contains N 0 and  i   Tj w i < W  trees  l   Links Cost(end1 l, end2 l ) is a minimum

73 73 Esau-Williams Algorithm (2) Central concept is tradeoff function Build “good” trees Each tree starts off as one node –Component (graph theory meaning) Comp(N i ) Tradeoff function is Tr() where Tr(N i ) = min j [Cost(N i,N j )] –Cost (Comp(N i ),N 0 ) Computes cost of linking to neighbor vs. cost of going to center

74 74 Esau-Williams Algorithm (3) Negative value of Tr means it is preferable to link to neighbor tree rather than running a link to the center Must check that the design is feasible – i.e., does not exceed link capacity: W(Comp(N i )) +W(Comp(N j )) < W –Algorithm limitation – often desirable to increase link capacities in real life

75 75 Multiple Link Speeds In real problems, almost always have a variety of link speeds to choose from –DS0 @ 64kbps –N x DS0 –T1 @1.5 Mbps –T3 @ 45 Mbps –Etc.

76 76 Multiple Link Speeds (2) Intuitively, we’d like the access tree to use higher speeds closer to the root, and lower speeds out towards the edges

77 77 Predecessor Function A tree T rooted at node Root can be represented uniquely by a predecessor function pred:V V on the set of vertices: –pred(Root) = Root –No other node is its own predecessor –For any node N there is an n>0 such that pred n (N) = Root

78 78 Ancestors Given a tree T and the associated predecessor function, the ancestors of N are all the nodes N* where pred n (N*) = N for some n > 0

79 79 Multispeed CMST Definition Given: –A set of nodes N 0, N 1, …, N n –A set of weights (w 1, …, wn) for each node –A set of link types L 1, L 2, …, L m –Capacities W 1, W 2, …, W m –A cost matrix C(i,j,k) for the cost of link type L k between N i and N j

80 80 Multispeed CMST Definition (2) Then the multispeed CMST problem is to find the tree rooted at N 0 with link assignments such that  ancestors(N) w(i) < W Link(N, pred(N)) And  Links c(end1 L, end2 L, type L ) is minimized

81 81 MSLA Algorithm for Multispeed CMSTs 1.Assign each node n the smallest link l to connect it to root. Compute spare_capacity(n) = W l – w n 2.Create tradeoff heap for n (similar to E-W) – tradeoffs represent savings by connecting site n to site i rather than to the root Tradeoff n (i) = c(n,i,L) + Upgrade (i, w n ) – c(n,0,L) The function Upgrade() computes the cost of adding w n units to the links that connect i and 0 by following back the predecessors 3.Add edges as long as tradeoffs are less than or equal to 0

82 82 Another Definition A Forest, F = (V,E) is a simple graph without cycles –Note it doesn’t say connected

83 83 Multicenter Local Access (MCLA) Problem Given –A set of backbone sites (B 0, …, B m ) = B –A set of access nodes (N 1, …, N n ) = N –A set of weights (w 1, …, w n ) for each access node –A cost matrix Cost(i,j) giving the costs between each backbone/access pair of sites

84 84 Multicenter Local Access (MCLA) Problem (2) MCLA is to find a set of trees T 1, …, T k such that –Exactly one backbone site belongs to each tree –  Ni  Tj w i < W –  Trees  L  Links Cost(end L 1, endL 2 ) is minimum

85 85 Multicenter Esau-Williams (MCEW) Developed by Kerschenbaum and Chou (1974) Changes the tradeoff function

86 86 MCEW (2) EW Tradeoff function is Tr() where Tr(N i ) = min j [Cost(N i,N j )] –Cost (Comp(N i ),N 0 ) Computes cost of linking to neighbor vs. cost of going to center MCEW Tradeoff function is Tr(N i ) = min j Cost(N i,N j ) – dist(Comp(N i ), Center(N j ))

87 87 MCEW (3) Initially, set Center(N i ) to be closest center If merge N i with N j, update Center(N i ) = Center(N j ) Note: Tradeoff function merges cost and distance functions

88 88 MCEW (4) MCEW produces more creditable results than NNEW –Produces a better solution much more often –But cost advantage is surprisingly small < 1% for large numbers of sites

89 89 Practical Issues Real problems often involve additional, sometimes quirky, constraints, such as –Limit on number of nodes in an access tree –Limit on number of hops –Limit on number of connections at a site –Unreliable links or sites

90 90 Assignment Read Cahn Chapter 8 (and preceding chapters if you didn’t attend TCOM540)


Download ppt "1 TCOM 541 Session 1. 2 Agenda Overview Recap TCOM540 material needed for this course."

Similar presentations


Ads by Google