Title: Connection Preemption in MultiClass Networks
1Connection Preemption in Multi-Class Networks
- Fahad Rafique Dogar
- Work done while at LUMS, Pakistan
2Agenda
- Preemption Problem
- Earlier Work
- Our Contribution
- Conclusion
3Problem Scenario
7. Preemption decision for R4-gtR8
1. New connection request (R1,R8,bw,class)
5. Preemption decision for R6-gtR7
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
6. Preemption decision for R7-gtR4
3. Makes a constraint based routing decision Say
route R1-gtR6-gtR7-gtR4-gtR8
- Makes a preemption decision for R1-gtR6
We consider the problem of which connections to
preempt!!!
4Preemption 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
5Earlier 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 - Lets assume that priority of preemptable
connections is the same i.e., we only consider
bronze class traffic for preemption. So
MinnConnOur Problem - Authors claim MinnConn solves the problem
optimally in polynomial time - Lets verify the above claims!
6MinnConn
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
7MinnConn 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 C70,50,50,20 Bp 100 and aj 0
- MinnConn result 70,50 while optimal
result50,50 - Greedy approach of selecting the largest
connection is sub-optimal
8Our 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
9NP-completeness Proof
- Subset Sum (SS) Problem
- Given a set Va1,,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
10Proof (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 -
11Proof (Contd.)
- Examples (threshold100 in each case V and S
are the input and output of our algorithm
respectively) - V30,60,80,10,D1,D2,D3,D4 S30,60,10,D3 SS
solution --- YES - V100,110,130,150,D1,D2,D3,D4
S100,D2,D3,D4 Solution ---YES - V50,60,80,10,D1,D2,D3,D4 S50,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
12Proof (Contd.)
- SS Input Va1,,an and t
- We construct Vc1,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
13Proof --- Putting it together
- Given SS Input Va1,,an and t
- Check whether the sum of all elements exceed
threshold (if not then no solution subset exists) - Construct Vcis, 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
14Exact Algorithm (V,t,K)
- In any iteration i, the length of L can be as
long as 2i - So algorithm has exponential complexity
15Approximate 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 d)) 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 d)K of the optimal
- simulation results show that actual difference is
much less
16Conclusion
- 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
- Dont blindly trust INFOCOM papers ?