Anomalies in Optimal Rate-control and Scheduling Protocols for Cognitive Radio Networks Vinay Kolar 1 V. Munishwar 2 N. Abu-Ghazaleh 1,2 1 Department of Computer Science Carnegie Mellon University, Qatar 2 Department of Computer Science State University of New York, Binghamton CogART, 2010
Introduction Cognitive Radio Networks are promising Large spectrum can meet growing capacity demands WiFi, Mesh, Sensor Networks based on CRNs But, large spectrum large capacity to end-applications Primary user activities Resource allocation among secondary nodes Paper focus: How do we design and realize efficient protocols?
How do we design and realize efficient protocols? Two broad categories: Heuristic protocols: Fast design cycle, low-complexity Theoretical models: Systematically formulate, derive insights Well-known theoretical methodology: Generalized Network Utility Maximization (GNUM) Formulate optimal network models Derive optimal protocols, network layers Demonstrated in real-systems (e.g. FAST-TCP)
Contribution Varieties of GNUM formulations have been studied in CRN Power-control, Scheduling, etc Joint optimization of source-rate, routing and scheduling Paper focus: Can we realize Joint source-rate, routing and scheduling in systems? What are the anomalies when translating theory into systems?
Introduction Contribution Model System issues in GNUM Conclusions
Joint Source-rate, routing and scheduling Deriving optimal protocols in GNUM: A three step recipe Formulate the primal optimization problem Decompose into sub-problems Structure of sub-problems Functions carried out at physical entities Identify message-passing between physical entities
Joint Source-rate, routing and scheduling Deriving optimal protocols in GNUM: A three step recipe Formulate the primal optimization problem Decompose into sub-problems Structure of sub-problems Functions carried out at physical entities Identify message-passing between physical entities
Primal Problem 1. Maximize application utilities (e.g., throughput, fairness,... ) such that 2. Packets are routed from src to dest 3. Schedule for links are feasible (an NP-hard problem) 4. Don t schedule when primary is on Maximize k K U(r k) s.t. x k a f Π b:(a,b) L c C f k ab,c k K tk i,c + P i,c 1 b:(b,a) L c C f k ba,c
Primal Problem 1. Maximize application utilities (e.g., throughput, fairness,... ) such that 2. Packets are routed from src to dest 3. Schedule for links are feasible (an NP-hard problem) 4. Don t schedule when primary is on Maximize k K U(r k) s.t. x k a f Π b:(a,b) L c C f k ab,c k K tk i,c + P i,c 1 b:(b,a) L c C f k ba,c
Dual decomposition Use standard Lagrangian Dual Decomposition method. Two subproblems 1. Source-rate maximization problem D 1 (q) = max r 0 k K U(r k) k K r kqsrc(k) k Completely distributed 2. Joint routing and scheduling problem D 2 (q) = max (a,b) L c C f ab,c k max f 0 k K (qk a qb k) Weight for a flow = Congestion price differential at link end-points Needs message passing at each time-slot
Dual decomposition Use standard Lagrangian Dual Decomposition method. Two subproblems 1. Source-rate maximization problem D 1 (q) = max r 0 k K U(r k) k K r kqsrc(k) k Completely distributed 2. Joint routing and scheduling problem D 2 (q) = max (a,b) L c C f ab,c k max f 0 k K (qk a qb k) Weight for a flow = Congestion price differential at link end-points Needs message passing at each time-slot
Dual decomposition Use standard Lagrangian Dual Decomposition method. Two subproblems 1. Source-rate maximization problem D 1 (q) = max r 0 k K U(r k) k K r kqsrc(k) k Completely distributed 2. Joint routing and scheduling problem D 2 (q) = max (a,b) L c C f ab,c k max f 0 k K (qk a qb k) Weight for a flow = Congestion price differential at link end-points Needs message passing at each time-slot
Optimal algorithms At each time-slot 1 Each node updates congestion-prices 2 Source node locally solves the Source-rate problem. 3 Centralized scheduler computes schedule Each link computes congestion price differential for each connection. Sender and receiver will transmit Primary Usage Map Scheduler computes optimal flow for each link, and disseminates
Introduction Contribution Model System issues in GNUM Conclusions
Example scenario 1 0.9 Conn 1: N1 N5 Conn 2: N2 N5 Conn 3: N3 N5 0.8 Src for Conn 3 Src for Conn 1 Src for Conn 2 L1 L3 N1 N3 N2 L5 L2 L4 Source rate 0.7 0.6 0.5 0.4 0.3 Link L2 senses primary on channel 2 Link L6 senses primary on channel 1 0.2 0 100 200 300 400 500 Time slot N4 L6 N5 Dest for Conn 1,2,3 Mean flow 1 0.9 0.8 0.7 0.6 0.5 0.4 Ch 1 Conn 1 Ch 1 Conn 2 Ch 1 Conn 3 Ch 2 Conn 1 Ch 2 Conn 2 Ch 2 Conn 3 0.3 0.2 0.1 0 Link L1 Link L2 Link L3 Link L4 Link L5 Link L6
Example scenario 1 0.9 Conn 1: N1 N5 Conn 2: N2 N5 Conn 3: N3 N5 0.8 Src for Conn 3 Src for Conn 1 Src for Conn 2 L1 L3 N1 N3 N2 L5 L2 L4 Source rate 0.7 0.6 0.5 0.4 0.3 Link L2 senses primary on channel 2 Link L6 senses primary on channel 1 0.2 0 100 200 300 400 500 Time slot N4 L6 N5 Dest for Conn 1,2,3 Mean flow 1 0.9 0.8 0.7 0.6 0.5 0.4 Ch 1 Conn 1 Ch 1 Conn 2 Ch 1 Conn 3 Ch 2 Conn 1 Ch 2 Conn 2 Ch 2 Conn 3 0.3 0.2 0.1 0 Link L1 Link L2 Link L3 Link L4 Link L5 Link L6
Closer look at scheduling Scheduling works on the basis of back-pressure Scheduler balances queue-length differences Links with larger price differential are given priority System issue 1: What happens at inactive links of a connection? Spurious pressure at inactive links is necessary to push packets through actual link Src for Conn 1 Src for Conn 2 L1 L3 N1 N3 N2 L2 Src for Conn 3 L5 L4 N4 L6 N5 Dest for Conn 1,2,3 Example scenario
Closer look at scheduling Scheduling works on the basis of back-pressure Scheduler balances queue-length differences Links with larger price differential are given priority System issue 1: What happens at inactive links of a connection? Spurious pressure at inactive links is necessary to push packets through actual link Src for Conn 1 Src for Conn 2 L1 L3 N1 N3 N2 L2 Src for Conn 3 L5 L4 N4 L6 N5 Dest for Conn 1,2,3 Example scenario
Spurious pressure points Packets are blocked at wrong nodes! Src for Conn 3 Src for Conn 1 Src for Conn 2 L1 L3 N1 N3 N2 100 90 80 Link L2 for Conn 1 Link L6 for Conn 1 Link L1 for Conn 1 Link L5 for Conn 1 L2 L5 N4 L6 L4 Cumulative flow 70 60 50 40 30 N5 20 10 Dest for Conn 1,2,3 0 0 50 100 150 200 250 300 Time slot Example scenario
Choice of time-slot Scheduling happens in microseconds or milliseconds Message passing overhead too high Practical solutions: Exchange messages at coarse time-granularity (say, 1 sec) Reuse schedules System issue 2: Bursty schedules Links are turned on and off for long times
Bursty schedules 1.4 Average flow on 1.2 links L2 and L6 on channels 1 and 2 Link L2 (N1 N4) Conn 1 Ch 1 Link L2 (N1 N4) Conn 1 Ch 2 Link L6 (N4 N5) Conn 2 Ch 1 Link L6 (N4 N5) Conn 2 Ch 2 100 90 80 1 70 Flow 0.8 0.6 Delay (in s) 60 50 Average packet delay 0.4 40 30 0.2 0 150 160 170 180 190 200 Time slot 20 0 1 2 3 4 5 6 7 8 4 Packet Number x 10 Prohibitively large delays, unfairness, large buffer spaces
Conclusions and future work Extended Joint Source-rate, routing and scheduling GNUM model for CRNs Analyzed system issues and impact of back-pressure based GNUM models Spurious pressure points induce packet losses Bursty schedules result in large delays, buffer-spaces and unfairness Link-pruning can help in designing fast-schedulers Future work: Evaluation in simulation and SDRs
Thank you. For further information, please contact: Vinay Kolar: vkolar@cmu.edu
Misc - Scheduling problem Problem 1: Problem 2: Compute list of all links that can be scheduled Maximal Independent Set (MIS) problem on multi-channel conflict graph of CRN Schedule each MIS Total time for all MIS 1 Time for a (link, channel) should respect MIS membership Each MIS M i : (link, channel) pair System issue 1: Computing MIS is NP hard Number of MISs grow exponentially if number of edges, channels grow
Misc - Scheduling problem Problem 1: Problem 2: Compute list of all links that can be scheduled Maximal Independent Set (MIS) problem on multi-channel conflict graph of CRN Schedule each MIS Total time for all MIS 1 Time for a (link, channel) should respect MIS membership Each MIS M i : (link, channel) pair System issue 1: Computing MIS is NP hard Number of MISs grow exponentially if number of edges, channels grow
Misc - Scheduling problem Problem 1: Problem 2: Compute list of all links that can be scheduled Maximal Independent Set (MIS) problem on multi-channel conflict graph of CRN Schedule each MIS Total time for all MIS 1 Time for a (link, channel) should respect MIS membership Each MIS M i : (link, channel) pair System issue 1: Computing MIS is NP hard Number of MISs grow exponentially if number of edges, channels grow
Misc - Scheduling problem Problem 1: Problem 2: Compute list of all links that can be scheduled Maximal Independent Set (MIS) problem on multi-channel conflict graph of CRN Schedule each MIS Total time for all MIS 1 Time for a (link, channel) should respect MIS membership Each MIS M i : (link, channel) pair System issue 1: Computing MIS is NP hard Number of MISs grow exponentially if number of edges, channels grow