1
TCOM 541
Session 4
2
Web Page
• http://teal.gmu.edu/ececourses/tcom540/TCOM540541.htm
3
Backbone Reliability
• What do we mean by “reliability”?– Probability that the working nodes are
connected?– What if connectivity is maintained but capacity
is reduced?
• Can define an “outage” as occurring “whenever any interface, SDP-SDP service, or network performance parameter is not within specified performance limits” (FAA)
4
Backbone Reliability (2)
• Then the desired reliability can be specified in terms of – Mean time between outages
– Restoral time
– Availability = (Total_Time_Outages)/Total_Time
• Notice this definition does not address network-wide reliability
• We will address network reliability in terms of 2-connectedness
5
2-Connected Backbones - Recap
• 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
6
Augmenting the Backbone
• Suppose 1. We have completed an initial backbone
design2. We have further identified a subset of
backbone nodes that require 2-connectivity
• How do we add links to the backbone to satisfy (2)?
– Discuss two algorithms, AMENTOR and MENTour
7
AMENTOR
• Add minimal set of links to backbone to ensure 2-connectivity– At minimum increase in cost
• Cannot do this by enumeration for large networks– need to develop a heuristic approach
8
AMENTOR Algorithm
• Find articulation points a1 …ak and 2-connected components C1 … Cm
– If there are none, the network is 2-connected already
• Build an auxiliary graph G– Nodes of G correspond to ai and Cj
• Thus there are k + m nodes in G• If ar is in Cs than there is an edge in G between ar and Cs
– G is a tree – if there were a cycle in G, all components in the cycle would collapse into one 2-connected component
9
AMENTOR Algorithm (2)
• Give each node ai a weight of 0 and each node Cj a weight of 1– All edges have a weight of 0 – because articulation
points lie between 2-connected components
• Compute shortest paths in the graph G– Several algorithms available, some we’ve discussed– Distance from Cj to Ch is the number of 2-connected
components traversed in going from a node in Cj to a node in Ch
• Adding an edge will collapse all these components into a single 2-connected component
10
AMENTOR Algorithm (3)
• Use G to provide figure of merit to possible edges in the original network N– Consider all node pairs (n1, n2) in N– Reject if either node is an articulation point
• Then each node belongs to a unique 2-connected component – call them C1 and C2
• Merit = costN(n1,n2)/distG(C1,C2)• Add link between pair with lowest merit
• Return to beginning of algorithm
11
MENTour Algorithm
• Rather than adding links one at a time, MENTour builds tours from the beginning
• Same steps as MENTOR-II except that instead of building a hybrid Prim-Dijkstra tree, we build a TSP tour on the backbone sites
• Recall that there is no method to develop an optimal TSP tour …
12
MENTOR Summary
• Backbone selection– Threshold clustering
– K-means clustering
– Automatic clustering
• Initial topology– Prim-Dijkstra tree
– TSP tour
• Link addition– Home-based routing
– ISP-based routing
• Access topology– Star
– Esau-Williams
– MSLA
13
Constraints on Designs
• Cheapest design may not be acceptable for reasons of reliability, performance, … or organizational or political reasons
• May have to modify algorithms or write problem-specific code to produce an acceptable design
14
Types of Constraints
• Hop constraints– Worst case– Average– Node-pair
• Equipment constraints– Degree– Throughput
• Link constraints– Required or forbidden
• Performance constraints– Worst case– Average– Node-pair
• Reliability constraints– Entire network– Backbone– Node-pair
• Miscellaneous ….
15
Over-Constrained Networks
• It is possible – even easy – to specify so many or so severe constraints that there is no feasible network design– E.g., 7 nodes, each must be of degree three– E.g., suppose each site has equipment that can
only terminate a LAN and two leased lines• Can only build a ring• As network grows, link capacity will be overloaded
at some point
16
Approaches
• Culling– Generate a lot of designs with varying parameters
– Throw away all that do not meet hop constraints
– Select best remaining design
– Brute force method may be quite acceptable if it avoids writing problem-specific code
– May not work if constraints are too severe – I.e., frequency of feasible designs may be too low to be practicable
17
Max Hop Constraints
• Culling may work if hop constraints not too severe• If not, two more possibilities
– Reduce diameter of backbone
– Reduce depth of access trees• E.g., replace trees with stars
– Relative attractiveness depends on cost split between access and backbone
• Another approach – augment the network
18
Average Hop Constraints
• Easier to design to average hops than max hops• Three approaches
– Increase a• Builds more star-like networks
– Increase slack• Introduces more links
– Use lower-speed links• Introduces more links
19
Node-Pair Constraints
• Traffic between certain node pairs must meet a hop constraint
• Two algorithms– Simply add cheapest link that meets constraints
• However this will also attract traffic from other nodes
– Modify and use ISP algorithm in MENTOR• Re-optimize network by setting new link length to
minimize cost increase
20
Equipment Constraints
• Equipment limitations may have significant effect on network design– Degree constraints– Processing constraints
21
Degree Constraints
• E.g., routers with limitations on number of lines that can be attached– Say each site sends and receives 500 kbps and
the routers can only handle four T1s plus a LAN card
– Clearly, each backbone node can have at most one edge site attached
– Traffic loading algorithm can have a major effect on feasibility of any given design
22
Processing Constraints
• E.g., limitation on number of packets that can be processed per second, say pmax– Problem lends itself to use of a drop algorithm
• Build a complete graph
• Do initial loading – node terminates more than pmax/2, problem is infeasible
• Order links by merit = 100*u + (1-cost/max_cost)
• Choose link with lowest merit, compute alternate path
• If alternate path shows feasible loads, drop the link, else set merit = infinity
23
Processing Constraints (2)
• Alternatively, build composite nodes– E.g., use two processors at a node
• Link by high speed cable
• Terminate half of the links on each box
Cap = 1000 Cap = 1000167
167
333333 333 333
24
Link Constraints
• Generally involve either forbidden of required links– Want to use existing link capacity
– Diversity
– Backup (disaster recovery)
– Unavailability (within reasonable timeframe)
– Inaccurate tariff data
– Unsuitable media (e.g., satellite)
– Lack of confidence in carrier
25
Modifying MENTOR for Link Constraints
• During tree or tour-building phase, to forbid a link, simply assign a high-enough price that the algorithm would never choose it
• However, direct link addition phase will add a link if u > umin– This has to be changed to add a link if
u > umin and cost < “high-enough price ”
26
Modifying MENTOR for Link Constraints (2)
• Required links may be included– During tree/tour building
• E.g., by assigning a low cost to the link, and culling the designs
• But remember the real cost is not the artificially low cost!
– During direct-link addition• Can add a table specifying links to be added directly
– During post-processing• Easy, but may introduce significant extra cost since link is not
taken account of during design phase
27
Performance Constraints
• Evaluating performance not easy for large network designs– Blocking for voice networks– Delay for packet-switched networks
• Analysis or simulation– Analysis relies heavily on queuing theory
28
Capacity Assignment Algorithm
• Aims at improving performance of an existing network
• Keep topology fixed, add capacity to existing links to reduce delays
• List node and link options with associated cost – Compute contribution to total average end-to-end delay– Compute cost per ms delay reduction compared to
current network
• Add capacity starting with lowest cost per delay reduction
29
Capacity Assignment Algorithm (2)
• Algorithm may overkill on last step and add much more capacity than needed
• Problem is an example of the knapsack problem– Given a set of integers N = {N1, N2, …, Nk},
find a subset that add to exactly M– 2k possible combinations …
30
Reliability Constraints
• Evaluating reliability not easy for large network designs– Must define failure
• Loss of connectivity vs. degradation of performance
– Here we will discuss simple failure of connectivity
– Simplest case is a tree – all nodes are connected if and only if all links and nodes are working
31
Reliability Constraints (2)
• Let tree have nodes N1, N2, …, Nn and links L1, L2, …Ln-1
• Let failure probabilities be pi and pj* respectively
• Probability network is working is then
(1-pi)(1-pj*)
= (1-p)n(1-p*)n-1 if probabilities are uniform• Obviously tends to 0 when n is large
32
Reliability Constraints (2)
• For graphs more complicated than trees, calculations can be complex
• Try to reduce to simpler networks– Series reduction
• Replace node and two edges with a single edge, probability of working = pnpe1pe2
– Parallel reduction• Replace two parallel edges with single edge, probability of
working = 1- (1-pe1)(1-pe2)
= pe1 + pe2 - pe1 pe2
33
Reducing a Graph
A B C
FED
0.8 0.8
0.8 0.8
0.9 0.9 0.9
Assume nodes have reliability = 1.0
34
Reducing a Graph
B C
FED
0.72
0.8
0.8 0.8
0.9 0.9
Apply series reduction to A
35
Reducing a Graph
B
FED
0.720.72
0.8 0.8
0.9
Next, apply series reduction to C
36
Reducing a Graph
B
E
0.576 0.5760.9
Next, apply series reduction to D and F
37
Reducing a Graph
B
E
0.982
Next, apply parallel reduction
38
Assignment
• Cahn 10.13
• Read Cahn Chapter 11