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
to Optimize Cellular Radio Usage Pavan Kumar, Ranjita Bhagwan, - - PowerPoint PPT Presentation
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 Problem Context:
Pavan Kumar, Ranjita Bhagwan, Saikat Guha, Vishnu Navda, Ramachandran Ramjee, Dushyant Arora, Venkat Padmanabhan, George Varghese Microsoft Research India
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
50 100 150 200 250 300 350
5 10 15 20 25 30 Avg Current in mA 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
time prefetching batching
time prefetching batching
Requires app changes Requires app changes + developer awareness Commonly used in many smartphones (3-5 sec timers)
“Apple upset several operators last year when it implemented firmware 3.0
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
CDF of inter-packet times for Outlook application running in background
CDF of inter-packet times for Lync application for different network conditions
time App traffic
DCH fast dormancy Energy Profile
End of session - EOS
≥ 𝑢𝑡
Packets within session
DCH DCH IDLE Example 1 Example 2
Time Network traffic System call trace
WaitForSingleObjectEx( ) CloseHandle( ) ReleaseMutex( ) DispatchMessageW( ) FreeLibrary( )
> 𝑢𝑡 secs
…( ) …( ) packet in session 2 Packets in Session 1 …( )
𝑢𝑥
EOS data-item ACTIVE data-item
𝑢𝑥
P1 P2 P3
𝑢𝑥
CloseHandle( ) FreeLibrary( ) …( ) …( ) …( ) EOS data-item
Rules: (DispatchMessage & ! send) => EOS ! DispathcMessage => ACTIVE (DispatchMessage & send) => ACTIVE DispatchMessage send ACTIVE EOS ACTIVE 1 1 Application: gnotify
13
System Calls + Network Traffic Training using C5.0
traces
App System Calls + Packet timestamps Tree- matching (run-time) Cellular Radio Interface Fast Dormancy App 1 Rules App k Rules
Energy consumed normalized to a 3-second idle timer approach Signaling overhead normalized to a 3-second idle timer approach
Energy consumed normalized to a 3-second idle timer approach