160 likes | 251 Views
Connection Preemption in Multi-Class Networks. Fahad Rafique Dogar Work done while at LUMS, Pakistan. Agenda. Preemption Problem Earlier Work Our Contribution Conclusion. Problem Scenario. 7. Preemption decision for R4->R8. 1. New connection request (R1,R8,bw,class).
E N D
Connection Preemption in Multi-Class Networks Fahad Rafique Dogar Work done while at LUMS, Pakistan
Agenda • Preemption Problem • Earlier Work • Our Contribution • Conclusion
Problem Scenario 7. Preemption decision for R4->R8 1. New connection request (R1,R8,bw,class) 5. Preemption decision for R6->R7 • 2. Makes an admission control decision • If enough bandwidth is available then accept the request; otherwise reject the request • A third possibility: accept the request by preempting lower priority connections 3. Makes a constraint based routing decision Say route ={R1->R6->R7->R4->R8} 6. Preemption decision for R7->R4 • Makes a preemption decision for R1->R6 We consider the problem of which connections to preempt!!!
Preemption Problem: Constraint and Objectives • What is the constraint while making the preemption decision? • available bw + preempted bw bw of new request • Some possible objectives? • Minimize the number of preempted connections • Minimize the preempted bandwidth • Minimize the priority of preempted connections • We consider 1 and 2, in that order
Earlier Work • MinnConn [Peyravian et al. Infocom99] • Enhanced version of our problem • Considers priority as the third objective, so tries to achieve objectives 1,2, and 3, in that order • Let’s assume that priority of preemptable connections is the same i.e., we only consider bronze class traffic for preemption. So MinnConn=Our Problem • Authors’ claim: MinnConn solves the problem optimally in polynomial time Let’s verify the above claims!
MinnConn Bandwidth demand of the new request Available bandwidth While bw of new request is greater than available bw Bandwidth required for preemption Finding the minimum bw connection that is greater than the bw required for preemption --- i≠0 if such connection is found If no SINGLE connection can fulfill the preemption request Finding the connection with the largest bw Removing the chosen connection Including it in the preemption set Updating the available bandwidth
MinnConn [contd.] • Does it run in polynomial time? • Inner loops (steps 4 and 11) run k times (where k is the number of connections in the preemptable set) • Outer loop can also run a maximum of k times since in every iteration at least one connection is chosen for preemption • So complexity is O(k2) • Is it optimal? • Consider C={70,50,50,20} Bp =100 and aj =0 • MinnConn result= {70,50} while optimal result={50,50} • Greedy approach of selecting the largest connection is sub-optimal
Our Contribution • We show that solving this problem optimally in polynomial time is highly unlikely • Prove that this problem is NP-complete by reducing it to the subset sum problem • Propose exact and approximate algorithms to solve this problem • Exact algorithm is optimal and runs in exponential time • Polynomial time approximation algorithm gives a bounded difference from the optimal
NP-completeness Proof • Subset Sum (SS) Problem • Given a set V={a1,…,an} of n positive integers and a number t, is there any subset S of V, such that • How is it different from our problem? • Yes/No problem (rather than finding a set) • Sum is made equal to threshold (rather than overshoot) • No restriction on the cardinality of the solution subset • This difference is the key to reducing our problem to the subset sum problem 3 differences
Proof (Contd.) • How to solve the subset sum problem using the solution to our problem? Basic idea: • Introduce n dummy connections, each corresponding to a valid connection • Choose n connections from 2n options: either an actual connection or its dummy counterpart (but not both) is selected • Dummy values are selected for those connections that are not part of the actual solution • From the resulting set of cardinality n, discard the dummy values • if solution sum equal to threshold (and not greater) then a subset exists whose sum is equal to threshold; otherwise no subset exists
Proof (Contd.) • Examples: (threshold=100 in each case; V’ and S’ are the input and output of our algorithm respectively) • V’={30,60,80,10,D1,D2,D3,D4} S’={30,60,10,D3} SS solution --- YES • V’={100,110,130,150,D1,D2,D3,D4} S’={100,D2,D3,D4} Solution ---YES • V’={50,60,80,10,D1,D2,D3,D4} S’={50,60,D3,D4} Solution --- NO • Challenge: • How to modify the input and the threshold value such that the solution to our problem can be used (as described above) to solve SS problem
Proof (Contd.) • SS Input: V={a1,…,an} and t • We construct V’={c1,b1 …,cn,bn } and t’ Ensures that those cis are chosen that minimize the overshoot from the threshold Ensures that exactly n elements are chosen Ensures that either ci or the corresponding bi (but not both) is selected
Proof --- Putting it together Given SS Input: V={a1,…,an} and t • Check whether the sum of all elements exceed threshold (if not then no solution subset exists) • Construct V’{cis, bis} and t’ and pass it to our problem • Discard the dummy elements from the solution set • Keep the l most significant bits of cis • If their sum equals threshold then a subset exists whose sum is equal to the threshold else no subset exists • Steps 1,3,4,and 5 can be performed in polynomial time • If our problem solver in step 2 can run in polynomial time then subset sum problem can be solved in polynomial time as well
Exact Algorithm (V,t,K) • In any iteration i, the length of L can be as long as 2i • So algorithm has exponential complexity
Approximate Algo. • Similar to the exact algorithm but uses a trim function to reduce the length of L in each iteration • Trimming: • If two values are quite close (within some factor (1+ δ)) then we can keep the larger one and discard the smaller value • Keeping the larger value ensures that our solution is feasible though not optimal • But solution is within (1+ δ)K of the optimal • simulation results show that actual difference is much less
Conclusion • Our contribution • Proof of NP-Completeness • Exact algorithm • Approximate Algorithm • Other applications of this problem • Process preemption in OS • Job preemption in scheduling systems • Take home message • Don’t blindly trust INFOCOM papers