1 / 90

TCOM 541

TCOM 541. Session 1. Agenda. Overview Recap TCOM540 material needed for this course. 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.

izzy
Télécharger la présentation

TCOM 541

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCOM 541 Session 1

  2. Agenda • Overview • Recap TCOM540 material needed for this course

  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. 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. Introduction (3) • Evaluation weightings • Homework 25% • Term paper/project 25% • Finals 25% • Class Participation 25% • Quizzes approximately every two weeks

  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. Conflicting Objectives • Cost • Performance • Reliability • Trade-offs are inevitable!

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

  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. 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. 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. 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. 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. Queuing Theory (3) • Define r = ratio of arrival rate (l) to service rate (m) • Average waiting time Tw = (r/m)/(1- r) • Average service time Ts = 1/ m • Average total time = Ts + Tw = (1/m)/(1-r)

  15. Set Theory • A set is a collection of (mathematical) objects • E.g., {A, B, C} • E.g., {1,2,3, …, 99} • s e S means “s is a member of S” • s ~ e 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. Set Theory (2) • The set of all subsets of S is denoted as 2s • If S has n members, then 2s has 2n members • Union of two sets is the set of all their members • Intersection of two sets is the set of common members

  17. Set Theory (3) Intersection Union

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

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

  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. Some Definitions for Graphs (2) • A path between vertices v1 and vn is a set of edges (e1, e2, …, en) such that ei and ei+1 have a common endpoint, and v1 is an endpoint of e1 and vn is an endpoint of en • 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. A Small (But Not Simple) Graph D Parallel edges Adjacent nodes C Z B A I Loop Node degree 3 (DZ), (ZB), (BI), (ID) is a cycle. This graph is connected

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

  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. Tree, Star, Chain

  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{[(dv2+9)/10+(dh2 +9)/10]0.5} Where dv = v1-v2 and dh = h1-h2 Dist = 1 + int[(dv2+dh2)/10]

  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. Minimum Spanning Tree • A Minimum Spanning Tree (MST) is a connected subgraph with minimum weight

  30. Kruskal’s Algorithm for MST Sort edges in ascending order of weight Is G connected? stop no yes 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. Prim’s Algorithm for MST Start with all nodes unconnected and Label = infinity Scan neighbors, update Labels = min edge to tree Select root node Add closest neighbor (smallest Label) Stop when N(G) –1 added

  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. 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 = (Sn1,n2traffic(n1,n2)*hops(n1,n2))/Sn1,n2traffic(n1,n2)

  34. Definitions • For a weighted graph (G,w), and nodes n1 and n2, the shortest path P from n1 to n2 minimizes SeePw(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. Dijkstra’s Algorithm for Shortest-Path Trees • Mark each node unscanned, assign label infinity • Set label of root to 0, and predecessor to self • 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. 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. Prim-Dijkstra Trees • We play with the definition of the Label • Prim’s Label = minneighborsdist(node, neighbor) • Dijkstra’s Label = minneighbors[dist(root, neighbor) + dist(neighbor, node)] • Prim-Dijkstra Label = = minneighbors[a*dist(root, neighbor) + dist(neighbor, node)] • Now a is a parameter that we choose, between 0 and 1

  38. Varying Alpha

  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. 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(vti) such that Sd(vti,ti+1) is minimized

  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. 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)*p2 if p is small X

  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. 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. 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. A Difficulty • TSP tours do not scale • Similar to trees in this respect • Average number of hops increases O(n)

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

More Related