Fast Matching Algorithms for Repetitive Optimization
Sanjay Shakkottai, UT Austin
Joint work with Supratim Deb (Bell Labs) and Devavrat Shah (MIT)
Outline
Refresher: MWMBackground: Switch SchedulingAlgorithm and Main ResultUnsolved Problems, Extensions, Other ApplicationsConclusions
Maximum Weight Matching in a Bipartite Graph
Weight for each edge
Weight of matching =Sum of weights of matched edges
MWM maximizes the weight of the matching
Popular algorithms for obtaining MWM are O(N3)
Scheduling in Input Buffered Switches
Slotted System Slot Duration=Packet transfer time
At each slot, an input port can deliver packet to at most one outputAn output port can receive packet from one input portThe schedule corresponds to a matching
Popular Scheduling Schemes
iSLIP (used in Cisco Routers) Low complexity and High Delay
Batch Scheduling Apply MWM once every L slots Does not provide good tradeoff between delay and complexity
MWM based on queue-lengths High complexity and low delay
Why MWM?Excellent Delay Properties
Comparable to output-buffered switches
Total queue-length grows linearly with switch size
Provides 100% throughput
Goal
Can we improve the complexity of MWM? Use matching from the previous slot Queue-lengths do not change by much in successive slots
Model and Notations
An arrival happens at an input port i and destined to output port k in a slot with probability ik Stability if and only if
qik(t) is the number of packets at input port i, destined for output port k at time t
Primal and the Dual Problem
Primal:Max
Subject to
Dual:Min
Subject to
Facts:
1. Can ignore the integrality constraint
2. There exists integral dual solutions
Key Idea
(x,r,p) optimal if xij=1 ) dij=ri+pj-qij=0 (complementary slackness CS) (x,r,p) feasible (F)
As the qij ‘s change by +1 or –1, adjust the r’s and p’s by adding +1 and –1 so that CS and F are maintained
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
If d11=0, add +1 to r’s and subtract –1 from p’s till CS and F are satisfied
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
If d11=0, add +1 to r’s and subtract –1 from p’s till CS and F are satisfied
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
If d11=0, add +1 to r’s and subtract –1 from p’s till CS and F are satisfied
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
If d11=0, add +1 to r’s and subtract –1 from p’s till CS and F are satisfied
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
If d11=0, add +1 to r’s and subtract –1 from p’s till CS and F are satisfied
Basic Algorithm
Suppose q11 increases by +1
If d11>0, CS and F not violated
If d11=0, add +1 to r’s and subtract –1 from p’s till CS and F are satisfied
Complexity
Run the basic algorithm for each qij that changes
Complexity is O(N2 + NE) where E=no of non-empty queues Need to take special care of nodes having zero queues
Theorem
If < 0.5, given an MWM from the previous slot, a new MWM can be computed in expected O(N2) operations
Conjectured to be true for <1 Require total queue-length to be O(N) under MWM (simulations suggest so)
Conjecture: The expected complexity is O(Nlog(N))
Extensions and Applications
Improve the complexity bound
Devise good incremental MWM algorithm for a more general graph
Top Related