Throughput Maximization in Mobile WSN Scheduling with Power Control and Rate Selection Yosef Alayev1 , Fangfei Chen2 , Yun Hou3 , Matthew P. Johnson2 , Amotz Bar-Noy1 , Tom La Porta2 , Kin K. Leung4 1 Department
of Computer Science, The Graduate Center, CUNY, NY, USA of Computer Science and Engineering, PSU, PA, USA 3 ASTRI, Hong Kong, China 4 EEE Department, Imperial College, UK
2 Department
May 16, 2012
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
1 / 26
Outline
1
Introduction
2
Model
3
Algorithms
4
Simulations
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
2 / 26
Outline
1
Introduction
2
Model
3
Algorithms
4
Simulations
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
2 / 26
Outline
1
Introduction
2
Model
3
Algorithms
4
Simulations
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
2 / 26
Outline
1
Introduction
2
Model
3
Algorithms
4
Simulations
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
2 / 26
Scheduling Problem for Data Delivery in WSN
Problem: m APs (machines), K transmission rate levels on each machine, q transmission power levels on each machine, n mobile users (jobs), each job j has a weight wj Goal: Assign timeslots on APs to jobs with adaptive transmission rate and power control so as to maximize total profit of all assigned jobs and prevent interference.
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
3 / 26
Scheduling Problem for Data Delivery in WSN
Problem: m APs (machines), K transmission rate levels on each machine, q transmission power levels on each machine, n mobile users (jobs), each job j has a weight wj Goal: Assign timeslots on APs to jobs with adaptive transmission rate and power control so as to maximize total profit of all assigned jobs and prevent interference.
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
3 / 26
Scheduling Problem Assumptions
Each job is associated with a single data item that needs to be transmitted Schedule transmission at discrete timeslots Data items are transmitted in contiguous timeslots (no preemption) Channel is dedicated to a single transmission (mutual exclusion)
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
4 / 26
Scheduling Problem Assumptions
Each job is associated with a single data item that needs to be transmitted Schedule transmission at discrete timeslots Data items are transmitted in contiguous timeslots (no preemption) Channel is dedicated to a single transmission (mutual exclusion)
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
4 / 26
Scheduling Problem Assumptions
Each job is associated with a single data item that needs to be transmitted Schedule transmission at discrete timeslots Data items are transmitted in contiguous timeslots (no preemption) Channel is dedicated to a single transmission (mutual exclusion)
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
4 / 26
Scheduling Problem Assumptions
Each job is associated with a single data item that needs to be transmitted Schedule transmission at discrete timeslots Data items are transmitted in contiguous timeslots (no preemption) Channel is dedicated to a single transmission (mutual exclusion)
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
4 / 26
Scenario
Figure: Clients encountering DAPs
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
5 / 26
Transmission Range and Contact Window
Figure: Different Transmission Ranges
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
6 / 26
Contact Window and Transmission time C = B log
P N
+1 d2
C - Channel capacity, R-Transmission Rate, where R ≤ C, P - Transmission Power, d - Transmission Range. P/N constant, R ↑, d ↓ contact-window for each job on each machine depends on transmission-rate tT = s/R tT - Transmit Time s - Data-Item Size R ↑, tT ↓ transmit-time (process-time) depends on transmission rate R increases/decreases, both contact-window and process-time decrease/increase Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
7 / 26
Contact Window and Transmission time (cont.)
Figure: contact window and transmission time for different rates
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
8 / 26
Power and Contact Window
R constant, P/N ↑, d ↑ contact-window for each job on each machine depends on transmission-power P increases/decreases, contact-window increases/decreases
Problem: Interference
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
9 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Model and Notations M = {M1 , . . . , Mm } APs (indices k, ` ∈ {1, . . . , m}) J = {J1 , . . . , Jn } mobile users (indices i, j ∈ {1, . . . , n}) R = {R1 , . . . , RK } (index ρ, ρ1 , ρ2 ∈ {1, . . . , K}) P = {P1 , . . . , Pq } (index π, π1 , π2 ∈ {1, . . . , q}) rjkρπ – release time djkρπ – deadline time (djkρπ − rjkρπ ) – contact window pjkρπ – processing-time of a job wj – weight of a job I(Mk ,M` ) [P × P × R × R] – 0/1 interference matrix s, u – timeslot indices xjkρπs = 1, job j is scheduled at timeslot s, on machine k, with Rρ and Pπ 0, otherwise. Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
10 / 26
Optimization Problem and IP Formulation
max
−pjkρ q djkρπ n X m X K X X X j=1 k=1 ρ=1 π=1
wj · xjkρπs
s=rjkρπ
s.t.: Pn PK Pq Ps (1) π=1 u=s−pjkρ +1 xjkρπu ≤ 1, ∀k,s ρ=1 Pj=1 P m PK Pq djkρπ −pjkρ (2) xjkρπs ≤ 1, ∀j k=1 ρ=1 Ps π=1 s=rjkρπ (3) xjkρ1 π1 s + u=s−pi`ρ +1 xi`ρ2 π2 u + Ik,` (π1 , π2 , ρ1 , ρ2 ) ≤ 2 2 ∀i,j (i 6= j), ∀π1 ,π2 ,ρ1 ,ρ2 , ∀s (4) xjkρs ∈ {0, 1} Constraints: (1) no multiple jobs are scheduled simultaneously on a single machine (2) prevent any single job from being scheduled more than once (3) prevent interference (4) restrict decision variables to integers Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
11 / 26
Related Work Approximating throughput of multiple machines in real-time scheduling [Bar-Noy et.al.][2001] job-dependant windows only Multi-phase algorithms for throughput maximization for real-time scheduling [Berman and DasGupta][2000] job-dependant windows only Who, When, Where:Timeslot Assignment to Mobile Clients [Fangfei et.al.][2009] job and machine dependant windows Unrelated Machine Scheduling with time-window and machine downtime constraints: An application to a naval battle-group problem[Lee and Sherali][1994] Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
12 / 26
Example Machines: M1 and M2 Jobs: J1 and J2 Rates: R1 and R2 end time T = 5 Eight job instances (rjkρ , djkρ , pjkρ , wj ) M1 : J1 – (1, 4, 3, 1) and (2, 4, 2, 1) J2 – (2, 5, 3, 2) and (3, 4, 2, 2)
M2 : J1 – (3, 5, 3, 1) and (3, 4, 2, 1) J2 – (0, 4, 3, 2) and (1, 3, 2, 2) Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
13 / 26
Example Machines: M1 and M2 Jobs: J1 and J2 Rates: R1 and R2 end time T = 5 Eight job instances (rjkρ , djkρ , pjkρ , wj ) M1 : J1 – (1, 4, 3, 1) and (2, 4, 2, 1) J2 – (2, 5, 3, 2) and (3, 4, 2, 2)
M2 : J1 – (3, 5, 3, 1) and (3, 4, 2, 1) J2 – (0, 4, 3, 2) and (1, 3, 2, 2) Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
13 / 26
Solution for an Example
Figure: Solution: (J1 on M1 with either R1 or R2 ) and (J2 on M2 with either R1 or R2 ).Objective: 3
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
14 / 26
Algorithms k-Admission (Bar-Noy 2001) Accept jobs machine by machine earliest finish time first Criterion: W – total weight of all scheduled jobs overlapping with the current job j. Accept job j if wj > W · β, for some constant β Can be √ extended to machine+rate dependent time windows 3 + 2 2-approximation guarantee still holds Easily extendable to centralized-online Global-Admission
Two-Phase (Berman 2000) phase-1: evaluation phase (pushes candidate intervals on a stack) phase-2: selection phase (schedules selected intervals) Can be extended to machine+rate dependent time windows 2-approximation guarantee still holds Can be extended to machine+rate+power dependent time windows 2 + I-approximation
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
15 / 26
Algorithm I - All-Rates k-Admission
Enumerate all possible job instances with all different combinations of (j, k, ρ, s). Run k-Admission algorithm. Approximation guarantee of 3 + 2
Yosef Alayev et. al (CUNY)
p (2).
scheduling with adaptive rate/power control
May 16, 2012
16 / 26
Algorithm II - Max-Ratio Rate-selection k-Admission
Find one rate for each job-DAP pair based on contact-window to processing-time ratio. d −r ρ∗j,k = argρ max jkρpjkρjkρ Enumerate all job instances with the chosen rate with all different combinations of (j, k, ρ∗j,k , s). Run k-Admission algorithm.
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
17 / 26
Algorithm III - All-Rates 2PA
Enumerate all possible job instances with all different combinations of (j, k, ρ, s). Run 2PA. Approximation guarantee of 2.
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
18 / 26
Algorithm IV - All-Powers 2PA-PC
Enumerate all possible job instances with all different combinations of (j, k, ρ, π, s). Run 2PA-PC. Approximation guarantee of 2 + I.
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
19 / 26
Simulation settings R = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} P = {100, 125, 150, 175, 200} Separation between APs vary Use Random Waypoint model for cars with different speeds contact windows are calculated using Shannon’s formula data sizes are uniformly distributed in [0, 10] weights - Zipf distributed with α = 2 clipped by [1,10] window Bandwidth is 20Mbps Interference matrix is calculated using protocol model
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
20 / 26
Experiment 3
Figure: Rate-Controlled throughput with 1 AP Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
21 / 26
Experiment 4
Figure: Rate-Controlled throughput for convoy Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
22 / 26
Experiment 6
Figure: Rate-Controlled throughput for a grid Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
23 / 26
Experiment 8
Figure: Power-Controlled throughput for 1AP Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
24 / 26
Experiment 9
Figure: Power-Controlled throughput for convoy Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
25 / 26
Thank You
Questions???
[email protected]
Yosef Alayev et. al (CUNY)
scheduling with adaptive rate/power control
May 16, 2012
26 / 26