This document presents SAPSM, a system that uses machine learning to classify smartphone apps as either high or low priority based on their network usage patterns. It then uses these classifications to optimize the phone's WiFi power save mode for each app's traffic, allowing low priority app traffic without triggering a power-hungry mode switch. This can significantly reduce energy consumption from WiFi without degrading performance of high priority apps like web browsing. The system was evaluated using a user study and shown to achieve large energy savings for low priority apps while maintaining performance for high priority ones.
1 of 28
Download to read offline
More Related Content
SAPSM Ubicomp 2012
1. SAPSM: Smart Adaptive
802.11 PSM for Smartphones
Andrew J. Pyles, Xin Qi, Gang Zhou,
Matthew Keally and Xue Liu*
College of William and Mary,
*McGill University
http://www.cs.wm.edu/~xqi Ubicomp 2012 1
2. WiFi A Significant Source of Energy
Consumption
Mobile data grows fast
WiFi usage accounts for:
94.2% in 2011
(Cisco Visual Networking Index 2011-2016)
80% (estimated) in 2015
Low Power
WiFi power consumption 1200
Active(Idle)
1000
High in Active Mode Active (Xmit)
Power (mW)
800
600
400
200
0
[SiFi - Ubicomp `11, Bartendr - Mobicom `10]
http://www.cs.wm.edu/~xqi Ubicomp 2012 Screen 2
BT
WiFi
3. Static PSM
Static Power Save Mode (PSM):
Beacon
PS-Poll
(Smartphone) (Access Point)
Sleeping Sleeping
Beacon Interval Beacon Interval
Awake Awake Awake
Pros: Saving Energy
Cons: Adding Delay (100~300ms)
Unacceptable for delay sensitive Apps, such as
http://www.cs.wm.edu/~xqi Ubicomp 2012 3
4. Adaptive PSM
Adaptive PSM
Null:
Null :
Awake
Beacon nobuffering
buffering
Sleep
PS-Poll
(Smartphone) (Access Point)
PSM
CAM Awake
Power(CAM) 20*Power(PSM)
pkt. rate
CAM
True
timeout?
>thr.?
CAM = Constantly Active Mode
Be careful of the switch to CAM.
http://www.cs.wm.edu/~xqi Ubicomp 2012 4
5. Adaptive PSM Behavior of Different
Handheld Devices
Adaptive PSM appears to only use information from MAC
layer to control the switch to CAM
Is it consistent across all devices?
We evaluate Adaptive PSM behaviors on different devices
UDP traffic with
random port
How to improve Adaptive PSM?
All devices switch to CAM with spurious network traffic.
Energy waste!
http://www.cs.wm.edu/~xqi Ubicomp 2012 5
6. To Be Smart
Utilize information from lay 3 and above in network stack
Prevent unimportant traffic from triggering the switch
to CAM
unimportant traffic - delay tolerant traffic and traffic
discarded by TCP/IP stack (no listening port)
STPM (Mobicom `03) considers traffic delay sensitivity
assigned by developers
gap between developers and users
65-75% energy consumption of free apps deliver advertisements
[EuroSys2012]. Developers may not be motivated to indicate their
app is delay tolerant
http://www.cs.wm.edu/~xqi Ubicomp 2012 6
7. Ideas and Challenges
Ideas:
Associates a priority with each app
Users decide the priority of each app
Only high priority (or delay sensitive) apps traffic can
trigger the switch to CAM
Other apps traffic cannot
Challenges:
How to assist even non-technical users to decide an apps
priority?
How to track an apps priority through the system
efficiently?
http://www.cs.wm.edu/~xqi Ubicomp 2012 7
8. Outline
SAPSM Design
Evaluation
Related Work
Conclusions
http://www.cs.wm.edu/~xqi Ubicomp 2012 8
9. Constraints, Definitions and Hints
Constraints:
minimizes user interaction
respects the critical path
uses hints from system and apps
Definitions - app priorities
delay sensitive traffic ? allowed to switch to CAM ?
High Priority Yes Yes
Low Priority No No
Hints
background traffic delay tolerant traffic, e.g., SipDroid
sets the entire system to be low priority as screen is off
http://www.cs.wm.edu/~xqi Ubicomp 2012 9
10. SAPSM Architecture
Exposes driver internals to SAPSM Core Relays apps priority from
APM to SAPSM Core
Checks the priority of app each packet belongs to
Updates the Adaptive PSM counter if high priority
Collects networking usage of each app
Classifies each app into high priority or low priority
Interacts with users
http://www.cs.wm.edu/~xqi Ubicomp 2012 10
11. SAPSM Core Inbound Traffic
Port
1 1 mapping being
App1 UID1 True
UID
listened?
App2 UID2 TCP/IP
SAPSM
Core
High Priority List WiFi Driver Packet
Updates thenothingcounter
Does traffic
http://www.cs.wm.edu/~xqi Ubicomp 2012 11
12. SAPSM Core Outbound Traffic
Packet
1 1 mapping
App1 UID1 UID
App2 UID2 TCP/IP
SAPSM
Core
High Priority List WiFi Driver
Resets Type of Service in IP header
Does nothing
http://www.cs.wm.edu/~xqi Ubicomp 2012 12
13. Application Priority Manager
Low priority for each app by default
Polls each apps data rate by TrafficStats API
Classifies each app to either high priority or low priority
Provides interfaces for user to set priority
http://www.cs.wm.edu/~xqi Ubicomp 2012 13
14. SVM as Classifier
Data collection a user study
14 participants
6 apps
Network interactive apps: Android Market, web browser
Network non-interactive apps: an offline game
Ambiguous apps: Gmail, Facebook and Twitter
Set the phone to static PSM
Each participant uses each app for 10 minutes and is asked
whether the observed latency is acceptable or not
acceptable means low priority; otherwise high priority
The RX and TX rates and traffic amounts are collected for each
app
http://www.cs.wm.edu/~xqi Ubicomp 2012 14
15. 88.1%
RXRate features are preferred Download data in background
Tank Game is low priority 14/14
Ambiguous apps 47/56
http://www.cs.wm.edu/~xqi Ubicomp 2012 15
16. Evaluation
Do low priority applications save energy over high priority
applications?
How does the SAPSM solution save energy with typical use
cases?
Does general networking performance suffer for applications
placed into high priority?
http://www.cs.wm.edu/~xqi Ubicomp 2012 16
17. Do low priority apps save energy?
Traffic with no listening socket
SAPSM is higher than Static PSM
Low Priority Energy Inversion
http://www.cs.wm.edu/~xqi Ubicomp 2012 17
Low priority apps achieve large energy saving at low rate
18. Does SAPSM save energy with typical
use cases?
4 clearly low priority apps:
Streaming audio app, 128kbps Manually set as low priority
Offline map app Classified as low priority
RSS reader app Classified as low priority
Social networking apps (Gmail, Facebook, and Twitter) running in
background when screen is off Automatically set as low priority
44%
18% 56%
13%
http://www.cs.wm.edu/~xqi Ubicomp 2012 18
19. Does general networking performance
suffer?
Netperf a benchmark to measure network
performance
SAPSM 1 implements the socket checking by hashing table
SAPSM achieves similar performance as Adaptive PSM
http://www.cs.wm.edu/~xqi Ubicomp 2012 19
20. Related Work
Optimizing PSM behavior, e.g.,
PSMThrottling (ICNP 07) uses traffic shaping to add burstiness
Micro power (Mobisys 08) predicts small sleep interval to save
energy
SAPSM saves energy by prioritizing apps and is hence different
Modifications to network infrastructure, e.g.,
Napman (Mobisys 10) reduces contention by staggering beacon
period of each client and ensures the fairness of AP scheduling
Avoiding the Rush Hours (Mobisys 11) staggers beacon periods
by eavesdropping on APs in close proximity
SAPSM runs on client and is hence complementary
http://www.cs.wm.edu/~xqi Ubicomp 2012 20
21. Conclusions
Effective WiFi power management is important
SAPSM assists users in automatically determining each
apps priority with an offline classifier
In future, we plan to develop personal classifier or one classifier
for each potential user group
SAPSM achieves 13%~56% energy saving by
prioritizing apps
only allowing high priority apps to trigger the switch to CAM
http://www.cs.wm.edu/~xqi Ubicomp 2012 21
25. Setup
A Linux server runs hostpad as AP
Server varies pkt rates, 30s for each rate
512 bytes pkts for MCAST, UDP and ICMP based unwanted
traffic
60 bytes SYN for TCP-based unwanted traffic
Each device is less than one meter away from the AP
Turning off all apps using network and other network
interface, e.g., Bluetooth, 3G
http://www.cs.wm.edu/~xqi Ubicomp 2012 25
26. Observations
Various UP thresholds, some of them are small, e.g. 1pkt/s for HTC
Hero
All devices are susceptible to unwanted traffic based on UDP and
ICMP
Energy waste caused by such unwanted traffic
http://www.cs.wm.edu/~xqi Ubicomp 2012 26
27. To Be Smart
Utilize information from lay 3 and above in network stack
Prevent unimportant traffic from triggering the switch
to CAM
unimportant traffic - delay tolerant traffic and traffic
discarded by TCP/IP stack (no listening port)
STPM (Mobicom `03) considers traffic delay sensitivity (or
priority) assigned by developers
gap between developers and users
65-75% energy consumption of free apps deliver advertisements
[EuroSys2012]. Developers may not be motivated to indicate their
app is low priority.
http://www.cs.wm.edu/~xqi Ubicomp 2012 27
28. Ideas and Challenges
Ideas:
Associates a priority with each app
Users decide the priority of each app
Only high priority (or delay sensitive) apps traffic can
trigger the switch to CAM
Other apps traffic cannot
Challenges:
How to assist even non-technical users to decide an apps
priority?
How to track an apps priority through the system
efficiently?
http://www.cs.wm.edu/~xqi Ubicomp 2012 28
#3: Recently, as smartphone becomes more and more popular, the mobile data usage keeps growing Here is a table from a recent cisco report, the mobile data traffic growth speed is fast these yearIt also reports that . It estimates the number will be 80% in 2015It is well known thatThis figure is drawn based on data from recent pubsThe Wifi component consumes much higher power than other component when it is in active mode.
#4: To reduce WIFi energy consumptionThe smartphone stops polling when no more buffered packets at AP and goes to sleep for a beacon intervalHowever, such sleeping interval adds delay
#5: Adaptive PSM is a tradeoff between energy and delayIn Adaptive PSM, when the smartphone is awake, as usual itHowever,In CAM, cancel buffering high powerAt the same time,Switch back to buffer packetsThrough experiments, we find that
#6: A question arises here is that is this behaviorTo find the answer, we The results are plotted X dimensionY dimensionFrom the figure you can see all devices are triggered to CAM by this spurious network traffic.
#7: In this paper, we plan to make smarterFirst, we utilizeWith these information, we can preventPrevious work such as STPM
#8: To tame the challenges, we have the following ideas
#9: In the rest of the talk, I will present the design of our system and its evaluation results.Then, I will briefly talk related work and conclude the talk.
#10: The design is restricted to the following three constraintsThe two hints we use in our design areFor example, sipdroid uses a service to transmit RTP packet in background, we dont want such traffic to be low prioritySecond, we set since when the screen is off, users do not care the delay anymore.
#11: There are mainly four components in SAPSM architectureBesides, it interacts with users to finally set each apps priority.
#12: SAPSM Core then compares the UID with those of high priority apps
#14: This interface queries user whether the network latency of this app is acceptable or not.If it is not acceptable, the user can set the app to be high priority for smaller latency.
#15: To train a svm classifier, we did a user study.In the study, there are 14 participants with different majorsTheir network interactive level depends the actual network usage.
#16: From the collected information, Smartphones are receivers rather than consumers of informationWe use cross validation to do the parameter selectionThere are three zones in the resulting classifierFirst, the classifier can accurately classify all 14 tank game instances into low priorityFor the ambiguous apps such as it can correctly classify 47 out of 56 instances.The apps in the right upper zone are those with both high and high. They are classified as low.. The results contradict intuition. One explanation could be that all the apps here download data in background and users do not care delay in such case
#17: We evaluate our design from three aspectsFirst, we check whetherSecond we check whether Third, we evaluate whether the general networking performance. Here we want to check the overhead of SAPSM.
#18: To see whether there is an energy saving for low priority apps,Second, we investigate the lowFrom previous slides, we know the power consumption of PSM is lower than that of CAM. However, the smartphone sends a polling packets for each data packet buffered at AP. When the data rate is high, the number of polling packet will also be high, it is an extra overhead compared to CAM.
#27: --Did you zoom in before copying and pasting? This figure (also the one before) looks blurry when displayed. Zoom in first before copying and pasting will make it clear. Focus on UDP with random portICMP ping packetsremove