510 likes | 528 Views
Communication Networks. A Second Course. Jean Walrand Department of EECS University of California at Berkeley. Routing: Complexity & Algorithms. Overview Complexity Routing with Multiple Constraints Routing and Wavelength Assignments QoS routing in Ad Hoc Networks. Overview.
E N D
Communication Networks A Second Course Jean Walrand Department of EECS University of California at Berkeley
Routing: Complexity & Algorithms • Overview • Complexity • Routing with Multiple Constraints • Routing and Wavelength Assignments • QoS routing in Ad Hoc Networks
Overview • Easy Problem: • Shortest Path (Dijkstra, Bellman-Ford) • Difficult Problems: • Finding path with bound on cost and delay • Assigning wavelengths to paths to maximize the number of accepted paths • Online and Offline • QoS routing with interference (ad-hoc) • First two words about complexity
Complexity • Examples of Problems • SSP: Subset-Sum Problem: Given a set of n positive integers, is there a subset of them that add up to N? [Note: easy to verify a solution; to see if there is one, one must essentially try the 2n subsets.] • KP: Knapsack Problem: Given a set of items each with a weight, find the number of each item to include to achieve the maximum weight less than a given value. • HP: Halting Problem: Given an algorithm a and its input i, will it stop or will it run forever? • SAT: Boolean Satisfiability Problem: Given a Boolean expression, is there an assignment (true or false) of the variables that makes the expression true?
Complexity • Complexity measures the time (number of steps or operations) or the space (memory) required to solve a problem by the best possible algorithm • P (Polynomial): Problems whose solution can be found on a sequential deterministic machine in a time that is polynomial in the size of the input • NP (Nondeterministic Polynomial): Problems whose solution can be verified in polynomial time on a sequential deterministic machine; equivalently, whose solution can be found on a sequential nondeterministic machine in polynomial time. [Guess and check.] • Open problem: P = NP? • NP-Hard: A decision problem H such that any decision problem in NP can be reduced to H in polynomial time • NP-Complete: A problem in NP to which every other problem in NP can be reduced in polynomial time = both NP-Hard and NP • SAT, KP, SSP are NP-Complete, HP is NP-Hard but is not NP
Halting Theorem Theorem (Turing): There is no algorithm that can decide, for any algorithm a and any input i whether the algorithm a(i) halts. Proof: • Assume there is an algorithm with h(a, i) = true if halts and h(a, i) = false otherwise. • Consider the algorithm t defined so that t(i) is as follows: if h(i, i) = false, then return true; if h(i, i) = true, loop forever. • Does the algorithm t(t) halt? If it does, then h(t, t) = false, which says that the algorithm t with input t does not halt. On the other hand, if t(t) does not halt, then h(t, t) must be true, so that t(t) should halt. • Hence, there cannot be an algorithm h.
Cook’s Theorem Theorem (Stephen Cook): SAT is NP-Complete Proof: • SAT is NP because a nondeterministic Turing machine (NTM) can guess an assignment of variables and check. • Consider a problem that can be solved in p(n) by a NTM. • The NTM corresponds to a tape with n symbols, transition rules, and an acceptance rule. Every instance of the problem can be encoded into a Boolean expression B that is satisfied iff the NTM accepts. • The variables describe the contents of the tape and the position of the head at the different steps; the Boolean expression states that the rules of the NTM are followed and that the machine finishes in an accepting state. Counting shows that B is of size p(n).
Complexity • EXPTIME-Complete: Problems that require an exponential time • Currently, all know algorithms for solving an NP-complete problem require an exponential-time. • Some problems require e^(e^n) time; other problems (e.g., halting) cannot be solved in finite time • Note that a problem that requires a time 106n1000 is P, yet intractable • The average time of an NP problem might be P
Routing with Multiple Constraints • Problem: Given a graph where each link has an integer cost and an integer delay, find a path with cost £ C and delay £ D. • Example: • Find a path from S to D with cost £4 and delay £3 None • Find a path from S to D with cost £5 and delay £3 SAD • Find a path from S to D with cost £3 and delay £4 SBD • Find a path from S to D with cost £5 and delay £4 SAD or SBD
Routing with Multiple Constraints Theorem: The problem is NP-Complete Proof: Reduction from SSP (that is, SSP is reduced to a routing problem) Consider SSP with n integers {x1, x2, …, xn} Construct following graph:
Routing with Multiple Constraints • Results (from Tripakis & Puri; Related results in literature):A. Puri and S. Tripakis. Algorithms for Routing with Multiple Constraints. In AIPS'02 Workshop on Planning and Scheduling using Multiple Criteria, 2002 Algorithms for routing with multiple constraints • Pseudo-polynomial Algorithm: O( |V||E|min{C, D}) steps • Approximation Result: Algorithm that either gives a path with cost at most C(1+ e) and delay at most D(1+ e) or states that no such path exists. O(|V|2|E|(1 + 1/e))
Routing and Wavelength Assignments Problem: Lightpaths in optical network Example: Consider following network Each link can carry N wavelengths Requests for connections come from i to j When request comes, it can be satisfiedby a direct connection if possible, or by an indirect one. Question: Should one be myopic? Answer: Probably not ….
Routing and Wavelength Assignments Example … Myopic strategy:
Routing and Wavelength Assignments Example … The morale of the story is that one should anticipate future arrivals. Optimization is difficult. How could we do it? Dynamic Programming LP Size of LP: variables are a(x) = p(accept and state is x) |X| = O(N3). Practical Solution: Trunk ReservationAccept long route only if there are n free circuits on links
Routing and Wavelength Assignments Some easy results … (Ramawami, Sivarajan: Optical Networks, ’98) • Coloring • Upper Bound • Greedy assignment in line network • Ring Networks
Routing and Wavelength Assignments 2 4 A B A and D share a link (link 24) 6 B 1 A C D C D 3 5 Coloring • Assigning walengths is equivalent to coloring the path graph • The minimum number of wavelengths is the minimum numberof colors for the path graph – NP-Complete For this path graphs, two colors suffice: Let B, C be yellow and A, D black.This corresponds to B, C using one wavelength and A, D another one.
Routing and Wavelength Assignments Upper Bound • Assume a given routing with at most L wavelengths/link and at most H hops per path • The number of necessary wavelengths is at most min{(L – 1)H + 1, (2L – 1)|E|0.5 – L + 2} Proof: • Each lightpath can intersect at most (L – 1)H other lightpaths • The degree of the pathgraph is at most (L – 1)H and can be colored in a greedy way with (L – 1)H + 1 colors • Assume there are K lightpaths of length ³ |E|0.5. The average number of wavelengths per link is then K|E|0.5/|E| £ L, so that K £ L|E|0.5. Assign L|E|0.5 different wavelengths to these long paths. • Consider the path with fewer than |E|0.5 – 1 hops. Each intersects with at most (L – 1)(|E|0.5 – 1) other such lightpaths and require at most (L – 1)(|E|0.5 – 1) wavelengths other bound.
Routing and Wavelength Assignments Linear Network – Fact: Greedy assignment requires the minimum number L of wavelengths Proof: • Let L be the maximum number of intersecting paths • Number wavelengths 1 to L • Proceed from left to right: left-most lightpath is assigned 1, then next path is assigned smallest available number, and so on • This requires at most L wavelengths L
Routing and Wavelength Assignments Ring Networks – Most optical networks are arranged as rings (SONET) Cute observation: Shortest path routing may require more wavelengths, but at most twice as many
Routing and Wavelength Assignments Cute observation: Shortest path routing may require more wavelengths, but at most twice as many Proof: • Assume shortest path requires k wavelengths • Consider a link j that uses k wavelengths. Reroute n paths that use that link j reduce # wavelengths on j to k – n but they now use at least N/2 hops and must cross link j + N/2 and increase its # of wavelengths by n • Thus, the minimum number L* of wavelengths must be such that L* ³ minn max{k – n, n} ³ k/2
QoS in Ad-Hoc Networks • Ad-Hoc Networks • QoS • Model and Related Work • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
QoS in Ad-Hoc Networks • Ad-Hoc Networks • QoS • Model and Related Work • Interference • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
Ad-Hoc Networks • No base station • Multi-hop transmissions • Distributed and dynamic operations
QoS in Ad-Hoc Networks • Ad-Hoc Networks • QoS • Model and Related Work • Interference • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
QoS Model, related work • Want to support flows with quality (bandwidth) requirements • Aspects of the problem • Maximum capacity in a network • Interference • Feasibility of a given set of flows • Available capacity once flows are assigned • Routing a given set of flows
QoS Model, related work • Capacity of ad-hoc networks • Random/homogenous topology, traffic matrix • Asymptotic bounds on capacity (see next lecture) • Our Approach • Arbitrary topology, traffic matrix • Graph theoretic model • Feasibility of given set of flows • Distributed, localized and dynamic algorithm
QoS in Ad-Hoc Networks • Ad-Hoc Networks • QoS • Model and Related Work • Interference, conflict graph, independent sets • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
Interference • In wired networks, all links may be used simultaneously • In Ad-Hoc networks, neighboring links interfere • Interference Range > Transmission Range
Interference:Conflict Graph Conflict Graph: L1 L1 Interference Radius L2 L2 L3 L3 Three Links: F1 + F2 <= C and F2 + F3 <= C Two Links: F1 + F2 <= C Single Link: F1 <= C
Independent Set Solution L2 L1 L3 L5 L4 • Identify All Maximal Independent Sets • {L1, L3} • Construct Conflict Graph , {L1, L4} {L2, L4} , {L2, L5} , {L3, L5} • Write Constraints such that • Only one Independent Set “on” at a time • QoS requirements met for flow at each link “A New Model forPacketScheduling in Multihop Wireless Networks”, H. Luo, S. Lu, and V. Bhargavan, ACM Mobicom 2000.
Issues with Independent Sets • Shown to be necessary and sufficientfor existence of global feasible schedule • But scales poorly • Need centralized information • Finding all maximal independent sets is exponential • Takes 10’s of minutes for simple graph (<100 links) • Want distributed and sufficient constraints that can be computed quickly in a large network "Impact of Interference on Multi-hop Wireless Network Performance”, K. Jain, J. Padhye, V. N. Padmanabhan, and L. Qiu, ACM Mobicom 2003.
Overview • Introduction and Motivation • QoS in Ad-Hoc Networks • Model and Related Work • Interference • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
Conflict Graph Conflict Graph: L1 L1 Interference Radius L2 L2 Sufficient: F1 + F2 + F3 <= C L3 L3 Necessary and Sufficient: F1 + F2 <= C and F2 + F3 <= C Single Link: F1 <= C
Row Constraints • At Node 2: F2 + F1 <= C • At Node 1: F1 + F2 + F3 + F4 + F5 <= C • Each row in the Conflict Graph incidence matrix yields a constraint: • Sufficient for existence of feasible schedule • Often too pessimistic • F2 = F3 = F4 = F5 = C possible • Row constraints allow only F2 = F3 = F4 = F5 = C/4
Sufficiency of Row Constraints: Proof • Assume each weight Fi is integral • Transform CG CGF • Replace each node i with Ki fully connected nodes • Color this graph • Each node will be scheduled for requisite number of slots • Neighboring nodes will be scheduled for disjoint slots • Need to achieve coloring in T colors/slots • Greedy algorithm • Color each node with smallest available color • Can always find such a color since degree (row constraints) < T
Overview • Introduction and Motivation • QoS in Ad-Hoc Networks • Model and Related Work • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
Cliques • Observe • Cliques in CG are local structures (IS are global) • Only one node in a clique may be active at once • Definitions • Clique = Complete Subgraph • Maximal Clique = Clique not a subset of any other Maximal Cliques: ABC, BCEF, CDF
Clique Constraints L2 L1 L3 L5 L4 Clique • Identify All Maximal Cliques • {L1, L2}, {L1, L5} , {L2, L3}, {L3, L4}, {L4, L5} • Write Constraints • Only one member of a Clique can be on at once • F1+ F2 <= C, F1+ F5 <= C, ... • Necessary conditions for a feasible schedule
Insufficiency of Clique Constraints L2 L1 L3 L5 L4 • But, clique constraints are not sufficient • F1=F2=F3=F4=F5 = C/2 satisfy clique constraints • But, we see that only 2 of 5 nodes may be on at once • F1=F2=F3=F4=F5 = 2C/5 is the max possible allocation • Sufficient only for ‘Perfect Graphs’
Imperfection Ratio • Imperfection Ratio is the ratio between the weighted Chromatic and Clique numbers • Supremum over all weight (flow) vectors • Bounded when the underlying graph is UDG • Feasible schedule exists if scaled clique constraints are satisfied on a conflict graph • Scale capacity of each link by • So, “Graph Imperfection I”, S. Gerke and C. McDiarmid, Journal of Combinatorial Theory, Series B, vol. 83 (2001), pp. 58-78.
Extensions to Realistic Networks • Earlier results valid for CG that are unit disk graph • Variance in interference range • Model interference range varying between [x,1] • Then, need to scale the clique constraints by • Obstructions in network • Consider virtual CGV without obstructions • Feasible schedule in CGV implies schedule in CG • Satisfy scaled clique constraints in CGV
Overview • Introduction and Motivation • QoS in Ad-Hoc Networks • Model and Related Work • Row Constraints • Clique Constraints • Implementation of Algorithms • Interference-based QoS Routing
0 kbps 500 kbps 1000 kbps 0 33 18 27 4 10 14 3 11 46 17 48 100% 0.5 43 15 20 37 38 23 6 1 39 41 47 21 40 50% 5 22 44 36 16 29 9 49 1.5 28 7 1 26 12 42 13 34 0% 45 2 35 50 25 31 8 2 24 19 30 32 2.5 0 0.5 1 1.5 2 2.5 Choose Destination Routing… Click on bar to choose flow rate Choose Source Y position in km X position in km
0 kbps 500 kbps 1000 kbps Choose Next Source Choose Destination Click on bar to choose flow rate Routing…
0 kbps 500 kbps 1000 kbps Choose Next Source Choose Destination Click on bar to choose flow rate Flow Rejected. Insufficient Resources
Overview • Introduction and Motivation • QoS in Ad-Hoc Networks • Model and Related Work • Row Constraints • Clique Constraints • Computing Cliques • Implementation of Algorithms • Simulations of 802.11b • Interference-based QoS Routing
Shortest Path Methods ?? • 1-3 is widest path from node 1 to 3 • Consider path from 1 to 5 • Path 1-3-4-5: FA+FD+FE<=C, so f<=C/3 • Path 1-2-3-4-5: FB+FC<=C, FC+FD<=C, FD+FE<=C, so f<=C/2 • Violates Bellman’s principle of optimality • Does not conform to distributed algorithm extending path hop by hop • Distributed algorithm unlikely to be optimal • Work with distributed heuristic algorithms
Source Routing • Link state exchange allows src to know • Topology • Available capacity on all links i • New flow (src, dest, bw) arrives • Choose several candidate paths by source routing • Shortest Path (SP) • SP complement • Approximation of Shortest Widest Path (ASWP)(evaluate local constraints: row or clique; keep n-best paths) • Send probe packets along each path • Final path chosen and confirmed by destination