DelayCheck : Scheduling Voice Over Multi-hop Multi-channel Wireless Mesh Networks Ashish Chiplunkar CSE, IITB, India Bhaskaran Raman CSE, IITB, India Partha Dutta IBM Research, India Vijay Gabale CSE, IITB, India SyNerG: Sy stems and Ne twor ks G roup Department of CSE, IIT Bombay, India COMSNETS 2011
57
Embed
DelayCheck: Scheduling Voice Over Multi-hop Multi-channel ...€¦ · Over Multi-hop Multi-channel Wireless Mesh Networks Ashish Chiplunkar CSE, IITB, India Bhaskaran Raman ... Voice
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
DelayCheck: Scheduling Voice Over Multi-hop Multi-channel
Wireless Mesh Networks
Ashish ChiplunkarCSE, IITB, India
Bhaskaran RamanCSE, IITB, India
Partha DuttaIBM Research, India
Vijay GabaleCSE, IITB, India
SyNerG: Systems and Networks GroupDepartment of CSE, IIT Bombay, India
COMSNETS 2011
Wireless Mesh Networks & Our Focus
Goal: Effective and efficient scheduling of # of voice calls in a mesh network
Wireless mesh networks
(WiFi/WiMAX/802.15.4) for real-time applications
Usage: Voice applications for
community networking, local voice telephony
Lo3: Low cost, Low power, Local voice for developing regions
Voice over Wireless Mesh Networks
● CSMA based MAC gives poor throughput and delay [Raman, Chebrolu ’05].
Voice over Wireless Mesh Networks
● CSMA based MAC gives poor throughput and delay [Raman, Chebrolu ’05].
● Usage of 802.15.4 radios● Low radio capacity (250 Kbps).● CSMA breaks down for 2 simultaneous calls on 802.15.4
links [Gabale, Raman '10].
Voice over Wireless Mesh Networks
● CSMA based MAC gives poor throughput and delay [Raman, Chebrolu ’05].
● Usage of 802.15.4 radios● Low radio capacity (250 Kbps).● CSMA breaks down for 2 simultaneous calls on 802.15.4
links [Gabale, Raman '10].
● TDMA based MAC to support voice calls (e.g. LiT).
Voice over Wireless Mesh Networks
● CSMA based MAC gives poor throughput and delay [Raman, Chebrolu ’05].
● Usage of 802.15.4 radios● Low radio capacity (250 Kbps).● CSMA breaks down for 2 simultaneous calls on 802.15.4
links [Gabale, Raman '10].
● TDMA based MAC to support voice calls (e.g. LiT).
● Scheduling transmission over TDMA mesh is an interesting & important problem.
Voice over Wireless Mesh Networks
● CSMA based MAC gives poor throughput and delay [Raman, Chebrolu ’05].
● Usage of 802.15.4 radios● Low radio capacity (250 Kbps).● CSMA breaks down for 2 simultaneous calls on 802.15.4
links [Gabale, Raman '10].
● TDMA based MAC to support voice calls (e.g. LiT).
● Scheduling transmission over TDMA mesh is extensively studied.
Voice over Wireless Mesh Networks
● CSMA based MAC gives poor throughput and delay [Raman, Chebrolu ’05].
● Usage of 802.15.4 radios● Low radio capacity (250 Kbps).● CSMA breaks down for 2 simultaneous calls on 802.15.4
links [Gabale, Raman '10].
● TDMA based MAC to support voice calls (e.g. LiT).
● Scheduling transmission over TDMA mesh is extensively studied.
Are we reinventing the wheel?
End-to-end delay requirement of VoIP packets: 250ms [Hardy ’02]
● 802.15.4 radio with 250Kbps data rate
Parameter WiFi WiMAX 802.15.4
Data Rate &Slot Size
~ 54 – 1 Mbps,~ 50 – 400 us
~ 75 Mbps,~ 50 – 400 us
250 Kbps,~ 6 ms
TDMA Frame ~ 10 – 30 ms ~ 10 – 30 ms ~ 60 – 80 ms
No. of Data Slots 200 – 25 200 – 25 6 - 8
Voice over Wireless Mesh Networks
● End-to-end delay requirement of VoIP packets: 150-250ms [Hardy ’02].
● 802.15.4 radio with 250Kbps data rate
Parameter WiFi WiMAX 802.15.4
Data Rate &Slot Size
~ 54 – 1 Mbps,~ 50 – 400 us
~ 75 Mbps,~ 50 – 400 us
250 Kbps,~ 6 ms
TDMA Frame ~ 10 – 30 ms ~ 10 – 30 ms ~ 60 – 80 msNo. of Data Slots 200 – 25 200 – 25 6 - 8
Voice over Wireless Mesh Networks
● End-to-end delay requirement of VoIP packets: 150-250ms [Hardy ’02].
A packet’s scheduling delay on a hop depends on whether incoming and outgoing links are scheduled in-order or out-of-order [Djukic ’07].
Delay of a path = sum of the scheduling delay of every hop on the path.
Deterministic/TDMA scheduling ensures that a packet faces only scheduling delay but no queuing delay.
Control slot
Data slot
Delay of a hop in TDMA scheduling
Sl(L3)
A B CL1 L2
DL3
Links on a path for a flow
Direction of packet traversal
Sl(L2) Sl(L1)
Out of order link scheduling spans multiple TDMA frames, but overall end-to-end scheduling delay of a path can still be less than the given delay constraint.
Control slot
Data slot
Sl(L1) Sl(L2) Sl(L3)
TDMA frame (Scheduling Interval)Case 2: Out of order scheduling.
A vertex in G’ is a tuple (v, s, c, d), free slot s, free channel c, d <= D.
Link between (v, s, c, d) and (v’, s’, c’, d’) in G provided 4 rules are met.
• Rule 1: v and v’ are neighbors in G’, ensures connectivity in routing path • Rule 2: there are free radios at v and v’, eliminates primary interference • Rule 3: channel c’ in slot s’ free and non-interfering with previous (s, c) link eliminates secondary interference • Rule 4: d’ = d + N – (s’ – s) if s > s’ (out-of-order scheduling, N = #slots in a frame) = d + s’ – s if s < s’ (in-order scheduling), ensures delay constraint
A vertex in G’ is a tuple (v, s, c, d), free slot s, free channel c, d <= D.
Link between (v, s, c, d) and (v’, s’, c’, d’) in G provided 4 rules are met.
• Rule 1: v and v’ are neighbors in G’, ensures connectivity in routing path • Rule 2: there are free radios at v and v’, eliminates primary interference • Rule 3: channel c’ in slot s’ free and non-interfering with previous (s, c) link eliminates secondary interference • Rule 4: d’ = d + N – (s’ – s) if s > s’ (out-of-order scheduling, N = #slots in a frame) = d + s’ – s if s < s’ (in-order scheduling), ensures delay constraint
A vertex in G’ is a tuple (v, s, c, d), free slot s, free channel c, d <= D.
Link between (v, s, c, d) and (v’, s’, c’, d’) in G provided 4 rules are met.
Properties: Paths from source to a node of the form (destination, *, *, *)
Links on the path have an interf-free slot and channel assignment. Packet reaches the destination within delay constraint.
Direction of flow from X to Y
Phase II: Apply Dijkstra's Algorithm
A BX Y
(A,1,1,1)
(A,2,1,1)
(A,1,1,2)
(A,2,1,2)X
(B,1,1,2)
(B,2,1,2)
(B,1,1,3)
(B,2,1,3)(A,1,1,3)(A,2,1,3)
(Y,1,1,3)
(Y,2,1,3)
Selected Path
Graph edge
(A,3,1,1)
(A,3,1,2)
(A,3,1,3)
(B,3,1,2)
(B,3,1,3)(Y,3,1,3)
C
(C,3,1,3)
(C,1,1,3)
(C,2,1,3)
Direction of flow from X to YUse Dijkstra's algorithm to
find a shortest path from src to dst in G'.
Heuristic: Minimizing length of the path minimizes # of resources used.
A resource here is given by (e, s, c): using a slot s with a channel c on a link e.
Phase II: Apply Dijkstra's Algorithm
A BX Y
(A,1,1,1)
(A,2,1,1)
(A,1,1,2)
(A,2,1,2)X
(B,1,1,2)
(B,2,1,2)
(B,1,1,3)
(B,2,1,3)(A,1,1,3)(A,2,1,3)
(Y,1,1,3)
(Y,2,1,3)
Selected Path
Graph edge
(A,3,1,1)
(A,3,1,2)
(A,3,1,3)
(B,3,1,2)
(B,3,1,3)(Y,3,1,3)
C
(C,3,1,3)
(C,1,1,3)
(C,2,1,3)
X-A A-B B-Y X-A A-B B-Y
Slot 2Ch 1
Delay 1
Slot 3Ch 1
Delay 2
Slot 1Ch 1
Delay 3 TDMA frame
Schedule Schedule repeats
Direction of flow from X to YUse Dijkstra's algorithm to
find a shortest path from src to dst in G'.
Heuristic: Minimizing length of the path minimizes # of resources used.
A resource here is given by (e, s, c): using a slot s with a channel c on a link e.
Phase II: Apply Dijkstra's Algorithm
A BX Y
(A,1,1,1)
(A,2,1,1)
(A,1,1,2)
(A,2,1,2)X
(B,1,1,2)
(B,2,1,2)
(B,1,1,3)
(B,2,1,3)(A,1,1,3)(A,2,1,3)
(Y,1,1,3)
(Y,2,1,3)
Selected Path
Graph edge
(A,3,1,1)
(A,3,1,2)
(A,3,1,3)
(B,3,1,2)
(B,3,1,3)(Y,3,1,3)
C
(C,3,1,3)
(C,1,1,3)
(C,2,1,3)
Use Dijkstra's algorithm to find a shortest path from src to dst in G'.
Heuristic: Minimizing length of the path minimizes # of resources used.
A resource here is given by (e, s, c): using a slot s with a channel c on a link e.
Note 1: Minimizing # resources performs close to optimal in simulation.
Note 2: Algorithm is pseudo-polynomial (complexity O((V x S x C x D)2) – but can be made polynomial by adding weights to edges.
Direction of flow from X to Y
Phase II: Polynomial in D
(B,3,1,2)
(V, S, C, D): 4th value – delay
(Y,1,1,3) delay
Phase II: Polynomial in D
(B,3,1,2)
(Y,1,1,m+1)
(V, S, C, M): 4th value – hop
Delay = f (s, s') = 3 – (3 – 1) = 1
(B,3,1,m)
(Y,1,1,3) delay
hops
(V, S, C, D): 4th value – delay
Phase II: Polynomial in D
Dijkstra's algorithm to find “minimum length path which has least delay”. (Complexity O((V x S x C x V)2).
Rule 4 changed: there is link between two nodes (v, s, c, m) and (v', s', c', m+1) in G' with delay (s' – s) mod N.
Formulate and solve real-life constrained fuel problem: minimize toll required to pay, consuming least amount of petrol (with toll/road = 1).
(B,3,1,2)
(Y,1,1,m+1)
(V, S, C, M): 4th value – hop
Delay = f (s, s') = 3 – (3 – 1) = 1
(B,3,1,m)
(Y,1,1,3) delay
hops
(V, S, C, D): 4th value – delay
Phase III: Post-processing
Circular pond
Nodes placed along the pond
L1 & L
5 : 3 hops away,
but may still interfere.
L5
L1
L2
L3
L4
Detect such interfering links.
Reschedule on different slot or channel.
DelayCheck: Features
● Online algorithm.
● Polynomial time algorithm (heuristic) for delay constrained scheduling.
● Joint routing, channel assignment and scheduling along with strict packet-level delay constraint.
● Low memory and CPU requirements (explain shortly).
First algorithm to have above set of features
Comparing against Optimal Solution
Integer Linear Programming (ILP) formulation for the delay-constrained, multi-hop, multi-radio, multi-channel routing & TDMA scheduling problem.
Offline algorithm which may reschedule existing flows while scheduling given input flow.
Gives upper bound on number of calls accepted by an offline scheduler.
Necessary condition with lower bounds on in-order and out-of-order scheduling
DelayCheck: Simulation Results
Simulation Set Up
Simulation Setup: – 802.15.4 wireless mesh (Lo3) – 2 Km * 2 Km, 25 infrastructure node and 100 clients – 1 radio per node, 4 channels – At every client, exponential distribution of • inter-call duration (mean = 0.5hrs to 2hrs) • call duration (mean = 2min) – TDMA frame of 60ms with 8 data slots of 6ms each – Duration: 12 hrs
Online DelayCheck scheduler performs close to offline scheduler.
Calls rejected by DelayCheck quite close to calls rejected by offline scheduler
Comparing against Optimal Solution
Call rejection rate reduced by 2 fold.
Comparing number of calls rejected by DelayCheck and even-odd scheduling.
DelayCheck: Implementation
Implementing In Practice
Storage requirement of graph? E.g. 25 nodes, 100 slots, 10 channels, 10 hops: O(1010).
Observation: Graph need not be stored, connectivity checking can be done on-the-fly in O(1).
Only storage: Cost matrix O(n). ~64KB.
Implementing In Practice
CPU requirement to search the state space? E.g. 25 nodes, 100 slots, 10 channels, 10 hops, 2.2GHz CPU, 2GB RAM: 8 seconds.
Observation: search space can be suitably partitioned, e.g. Highest numbered slot allotted.
During search we consider most likely partition, then go on exploring bigger partitions. Time reduced to ~ 1 second.
Storage requirement of graph? E.g. 25 nodes, 100 slots, 10 channels, 10 hops: O(1010).
Observation: Graph need not be stored, connectivity checking can be done on-the-fly in O(1).
Only storage: Cost matrix O(n). ~64KB.
DelayCheck: Concluding Remarks
Goal: Efficient, delay constrained scheduler to maximize number of voice calls
Joint routing, channel assignment, link scheduling Works in 3 phases Can be extended for 'm'-hop interference model Delay-constrained scheduling
Feasibility & effectiveness via implementation & evaluation Close to optimal behavior 2 x improvement over prior work Low memory & CPU requirement yet being efficient
SyNerG: Systems and Networks Grouphttp://www.cse.iitb.ac.in/synerg
COMSNETS 2011
Thanks! Questions???
This work is funded by:IU-ATC Project, DST, Goverment of India and
UK EPSRC Digital Economy Programme
Phase II: Incorporating 2-hop Interference
(v, s, c, m) (s, c): Check for interference on previous hop
• Rule 3: channel c’ in slot s’ free and non-interfering with previous (s, c) link, eliminates secondary interference
Phase II: Incorporating 2-hop Interference
(v, s, c, m) (s, c): Check for interference on previous hop
• Rule 3: channel c’ in slot s’ free and non-interfering with previous link e:(s, c) and link before e, e1:(s1, c1) , eliminates secondary interference
(v, s, c, s1, c1, m) (s, c, s1, c1): Check for interference on previous two hops in the path
Effect of Multi-channel Scheduling
Using multiple channels can increase call acceptance by 2-fold.
Increase in call acceptance, 5 channels seem sufficient