22
RadioJockey: Mining Program Execution to Optimize Cellular Radio Usage Pavan Kumar, Ranjita Bhagwan, Saikat Guha, Vishnu Navda, Ramachandran Ramjee, Dushyant Arora, Venkat Padmanabhan, George Varghese Microsoft Research India

RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Embed Size (px)

Citation preview

Page 1: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

RadioJockey: Mining Program Execution to Optimize Cellular Radio Usage

Pavan Kumar, Ranjita Bhagwan, Saikat Guha,

Vishnu Navda, Ramachandran Ramjee,

Dushyant Arora, Venkat Padmanabhan, George Varghese

Microsoft Research India

Page 2: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Problem Context: Overheads in Cellular Radio Usage

IDLE CELL_FACH CELL_DCH

Wakeup

Timeout T1 Timeout T2

State transitions based on: (1) traffic volume (2) operator chosen timers

Tx/Rx

Tx/Rx

2

0

50

100

150

200

250

300

350

0 5 10 15 20 25 30

Avg

Cu

rre

nt

in m

A

Time in Seconds

IDLE

Tx/Rx

Ramp-up IDLE

T1

Power Consumption

Radio Tail (15-20J)

T2

Signaling

Transition # control messages

IDLE DCH 30

DCH IDLE 2

Latency

Transition Secs

IDLE DCH 2

DCH IDLE 20

Page 3: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Existing Radio-tail Optimizations

1. Amortize tail overhead by shaping traffic

a) TailEnder [IMC 09]

2. Adapt tail using Fast-dormancy

a) Based on application hints –

TOP [ICNP 10]

b) Based on client-side idle timers –

Falaki et al. [IMC 10]

time

prefetching batching

Page 4: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Existing Radio-tail Optimizations

1. Amortize tail overhead by shaping traffic

a) TailEnder [IMC 09]

2. Adapt tail using Fast-dormancy

a) Based on application hints –

TOP [ICNP 10]

b) Based on client-side idle timers –

Falaki et al. [IMC 10]

time

prefetching batching Requires app changes

Requires app changes + developer awareness

Commonly used in many smartphones (3-5 sec timers)

Page 5: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Fast Dormancy Woes

“Apple upset several operators last year when it implemented firmware 3.0 on the iPhone with a fast dormancy feature that prematurely requested a network release only to follow on with a request to connect back to the network or by a request to re-establish a connection with the network …” What's really causing the capacity crunch? - FierceWireless

Disproportionate increase in signaling traffic caused due to increase in use of fast-dormancy

Page 6: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Problem #1: Chatty Background Apps

• No distinctive knee

• High mispredictions for fixed inactivity timer

CDF of inter-packet times for Outlook application running in background

Page 7: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Problem #2: Varying Network Conditions

• Signal quality variations and handoffs cause sudden latency spikes

• Aggressive timers frequently misfire

CDF of inter-packet times for Lync application for different network conditions

Page 8: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Objectives • Design a fast-dormancy policy for long-

standing background apps which

– Achieves energy savings

– Without increasing signaling overhead

– Without requiring app modifications

Page 9: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

When to Invoke Fast Dormancy?

time

App traffic

Energy savings when 𝑡𝑠 ≥ 3 𝑠𝑒𝑐 and fast dormancy is invoked immediately after end of session

DCH

fast dormancy

Energy Profile

End of session - EOS

≥ 𝑡𝑠

Packets within session

DCH DCH IDLE

Example 1 Example 2

Page 10: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Problem: predict end of session (or onset of network inactivity) Idea: exploit unique application characteristics (if any) at end of sessions Typical operations performed:

• UI element update

• Memory allocation or cleanup

• Processing received data

System calls invoked by an app can provide insights into the operations being performed

Page 11: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Time Network

traffic

System call trace

WaitFo

rSingleO

bjectEx ( )

Clo

seHan

dle( )

ReleaseM

utex ( )

Disp

atchM

essageW( )

FreeL

ibrary

( )

> 𝑡𝑠 secs

…( )

…( )

packet in session 2

Packets in Session 1

…( )

𝑡𝑤

EOS data-item

ACTIVE data-item

𝑡𝑤

• Technique: Supervised learning using C5.0 decision trees • Data item: system calls observed immediately after a packet (encoded as bit-vector) • Label: ACTIVE or EOS

P1 P2 P3

𝑡𝑤

Clo

seHan

dle( )

FreeL

ibrary

( )

…( )

…( )

…( )

EOS data-item

Predicting onset of network inactivity

Page 12: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Decision tree example

Rules: (DispatchMessage & ! send) => EOS ! DispathcMessage => ACTIVE (DispatchMessage & send) => ACTIVE

DispatchMessage

send ACTIVE

EOS ACTIVE

0 1

0 1

Application: gnotify

Page 13: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

RadioJockey System

13

System Calls + Network Traffic

Training using C5.0 traces

Offline learning

Runtime Engine

App System Calls + Packet timestamps

Tree-matching (run-time)

Cellular Radio Interface

Fast Dormancy

App 1 Rules App k Rules

Page 14: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Evaluation Overview

1. Trace driven simulations on traces from 14 applications (Windows and Android platform) on 3G network – Feature set evaluation for training

– variable workloads and network characteristics

– 20-40% energy savings and 1-4% increase in signaling over 3 sec idle timer

2. Runtime evaluation on 3 concurrent background applications on Windows

Page 15: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Energy drain and signaling overhead

Energy consumed normalized to a 3-second idle timer approach

Signaling overhead normalized to a 3-second idle timer approach

Page 16: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Runtime Evaluation with Concurrent Background Applications

• 22-24% energy savings at a cost of 4-7 % signaling overhead

• Marginal increase in signaling due to variance in packet timestamps

Page 17: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Summary

• RadioJockey predicts onset of network inactivity using system calls invoked by background apps

• Requires no modifications to existing apps –legacy, native and managed apps

• Achieves energy savings of 20-40% with marginal increase in signaling overhead

Page 18: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Backup Slides

Page 19: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Predict using only network features

• Features : IP, ports, TCP flags, HTTP headers

• Performance:

– Energy savings only for simple apps

– No good rules for complex apps(Outlook and Lync)

– Cannot handle apps that use encryption

Page 20: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Varying networks and workloads

Energy consumed normalized to a 3-second idle timer approach

Page 21: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Feature Space Exploration and Choice of Window Size

• PrevState feature captures temporal state information

• Adding PrevState into learning boosted savings

• 𝑡𝑤of 0.5 seconds sufficient for most applications

Page 22: RadioJockey: Mining Program Execution to Optimize …jxie1/mobicom12/slides/Navda.pdf · Problem Context: Overheads in Cellular Radio Usage IDLE CELL_FACH CELL_DCH Wakeup Timeout

Understanding Fast Dormancy Feature

• Client controlled • Tail energy reduced to ~1.5J • Without network support

– RRC connection torn down – DCH/FACH to IDLE – Ramp-up costs up to 30 msgs

• With network support – Ramp-down to PCH instead of IDLE – Ramp-up to DCH incurs 12 msgs