Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dynamic Data Compression for Wireless Transmission over a Fading Channel Michael J. Neely University of Southern California CISS 2008 *Sponsored in part.

Similar presentations


Presentation on theme: "Dynamic Data Compression for Wireless Transmission over a Fading Channel Michael J. Neely University of Southern California CISS 2008 *Sponsored in part."— Presentation transcript:

1 Dynamic Data Compression for Wireless Transmission over a Fading Channel Michael J. Neely University of Southern California CISS 2008 *Sponsored in part by the DARPA IT-MANET Program, NSF OCE-0520324, NSF Career CCF-0747525 1 2 N Compression S(t) = Channel State

2 1 2 N Compression S(t) = Channel State -Random Packet Arrivals A(t) -Stochastic Channel S(t) -Data must be Compressed, Stored, and Transmitted Both Compression and Transmission expend power! Goal: Minimize Total Average Power Expenditure P tot = P comp + P tran (signal processing consumes power)

3 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function = Random bit size output after compression 1 2 N  (A(t), K(t))

4 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

5 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

6 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

7 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

8 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example: A(t) = 2, K(t)=k  (A(t), K(t)) = (1.1)B bits (random output) P comp (t) =.2 mW (random output) 1 2 N  (A(t), K(t)) 1.1

9 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 2: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

10 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 2: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

11 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 2: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

12 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 2: A(t) = 2, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

13 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 2: A(t) = 2, K(t)=k  (A(t), K(t)) = (0.9)B bits (random output) P comp (t) =.3 mW (random output) 1 2 N  (A(t), K(t)) 0.9

14 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 3: A(t) = 3, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

15 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 3: A(t) = 3, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

16 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 3: A(t) = 3, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

17 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 3: A(t) = 3, K(t)=k  (A(t), K(t)) = ?? (random output) P comp (t) = ?? (random output) 1 2 N  (A(t), K(t))

18 Compression Operation: Timeslotted System: t = {0,1, 2, 3,…} A(t) = # packet arrivals at time t (fixed packets size B bits, A(t) {0, 1, …, N} ) K(t) = Compression Decision Option at time t (K(t) {0, 1, …, K})  (A(t), K(t)) = Compression Function Example 3: A(t) = 3, K(t)=k  (A(t), K(t)) = (1.6)B bits (random output) P comp (t) =.4 mW (random output) 1 2 N  (A(t), K(t)) 1.6

19 Transmission Operation: S(t) = Current Channel State on slot t Example: S(t) {“Good”, “Med”, “Bad”} S(t) {attenuation, 0 < S(t) < 1} P tran (t) = Power Decision on slot t (P = set of power options) Example: P {0 < p < P max } or P {0, P max /2, P max } 1 2 N  (A(t), K(t)) S(t) = Channel State  (t) = C(P tran (t), S(t)) = transmission rate on slot t rate-power curve rate  power P Good Med Bad

20 Transmission Operation: S(t) = Current Channel State on slot t Example: S(t) {“Good”, “Med”, “Bad”} S(t) {attenuation, 0 < S(t) < 1} P tran (t) = Power Decision on slot t (P = set of power options) Example: P {0 < p < P max } or P {0, P max /2, P max } 1 2 N  (A(t), K(t)) S(t) = Channel State  (t) = C(P tran (t), S(t)) = transmission rate on slot t rate-power curve rate  power P Good Med Bad

21 Goal: Design a joint strategy for choosing compression and transmission decisions K(t), P tran (t) over time to support all traffic and minimize total average power. 1 2 N  (A(t), K(t)) Queueing Dynamics: Q(t+1) = max[Q(t) -  (t), 0] + R(t)  (t) = C(P tran (t), S(t)), R(t) =  (A(t), K(t)) P tot = P comp + P tran [Also want low delay!] Q(t) ~ bits

22 Intuition: Consider a trivial case where all of the following hold… 1) Static Channel: S(t) = Constant 2) Linear rate-power curve: C(P) =  P 3) Raw Data Rate small: E{A(t)}B <  max =  P max If all 3 hold, easy to show P tran proportional to bits transmitted, and decision is trivial: choose K(t) = k {0,…,K} that minimizes:  (a, k) + m(a,k)/  If one or more of the above fail, decision is non-trivial!

23 Prior Experimental Work in this case: 1.Barr, Asanovic “Energy Aware Lossless Data compression” [2003] 2. Sadler, Martonosi “Data Compression algorithms for energy-constrained devices” [SenSys2006] Data Compression an important problem! [Richard Baraniuk’s Plenary talk was totally cool!] Intelligent Compression Can Significantly Improve Power Expenditure.

24 Defining Optimality: The h*(r) and g*(r) functions Assume: - # arrivals A(t) iid over slots, p A (a) = Pr[A(t) = a] - S(t) iid over slots,  s = Pr[S(t) = s] Min bit rate out of compressor Max time avg. transmission rate (assume r min < r max ) Distributions p A (a) and  s are potentially unknown to controller

25 Defining Optimality: The h*(r) and g*(r) functions Assume: - # arrivals A(t) iid over slots, p A (a) = Pr[A(t) = a] - S(t) iid over slots,  s = Pr[S(t) = s] Distributions p A (a) and  s are potentially unknown to controller Intuitively: There are two reasons to compress data: i)To stabilize queue, we may need to compress (if raw input rate > r max ) ii) Power spent compressing can reduce trans. power.

26 Defining Optimality: The h*(r) and g*(r) functions h*(r) = minimum P comp to yield compressor output rate r. Min h such that: h*(r) r min g*(r) = minimum P tran to yield avg. transmission rate r. Min g such that: g*(r) r max rate r (optimizing over all stationary randomized opportunistic policies)

27 Theorem (characterizing minimum avg. power): P comp + P tran P * Any stabilizing policy yields avg. power such that: > av Where P* is the min avg. power and satisfies: av Minimize: h*(r) + g*(r) Subject to: r min < r < min [ r max, BE{A(t)} ] rate r r min min[r max, BE{A(t)}] Total avg power

28 Want a dynamic control algorithm to minimize power… Use Joint Lyapunov Stability + Performance Optimization Technique for Stochastic Network Optimization: -Georgiadis, Neely, Tassiulas [NOW F&T in Networking, 2006] -Neely [Phd thesis 2003, Infocom 2005, IT 2006] -See also related technique in Stolyar [Queueing Systems 2005] Lyapunov Function: L(Q) = (1/2) Q 2 Lyapunov Drift:  (Q(t)) = E{L(Q(t+1)) - L(Q(t)) | Q(t)} Technique: Every slot, observe Q(t), take control action to minimize (for a given constant V>0):  (Q(t)) + VE{Cost(t)| Q(t)} Theorem: 1) E{Q} < O(V) 2) E{Cost(actual) - Cost(optimal)} < O(1/V)

29 1 2 N  (A(t), K(t)) S(t) = Channel State The Dynamic Compression and Transmission Algorithm: Compression: On slot t, observe A(t). Choose K(t) such that: Transmission: On slot t, observe S(t). Choose P tran (t) such that: Q Q

30 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: B = (1/2)[  max 2 + B 2 E{A 2 }] Q

31 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: VV P* av Avg Power Avg Delay Q

32 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: VV P* av Avg Power Avg Delay Q

33 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: VV P* av Avg Power Avg Delay Q

34 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: VV P* av Avg Power Avg Delay Q

35 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: VV P* av Avg Power Avg Delay Q

36 1 2 N  (A(t), K(t)) S(t) = Channel State Concluding Theorem (Performance): For any V>0 we have: VV P* av Avg Power Avg Delay Q


Download ppt "Dynamic Data Compression for Wireless Transmission over a Fading Channel Michael J. Neely University of Southern California CISS 2008 *Sponsored in part."

Similar presentations


Ads by Google