proteus: network performance forecast for real- time, interactive mobile applications qiang xu*...
TRANSCRIPT
PROTEUS: Network Performance Forecast for Real-Time, Interactive Mobile
Applications
Qiang Xu* Sanjeev Mehrotra# Z. Morley Mao* Jin Li#
*University of Michigan#Microsoft Research
Real-time, interactive apps enrich mobile user experience
Qiang Xu 2
VoIP
Video conferencing
Online gaming
Head Up Display (HUD)
MobiSys’13
Bad condition• Performance adaptation
• Forward error correction (FEC), de-jitter buffer, source coding rate
Unpredictable condition• Performance degradation
Sensitivity to network performance
Qiang Xu 3MobiSys’13
Which category is cellular network performance?
Determining the predictability of cellular network performance in short term• What performance metrics?• What time granularity?• How predictable?
Leveraging network performance predictability in real-time, interactive applications• How to efficiently predict?• How to support applications?• How much benefit?
What problems does PROTEUS address?
Qiang Xu 4MobiSys’13
Hidden factors, e.g., on devices, in networks• Using regression trees
• Treating hidden factors together as a blackbox
Cost of learning predictability• Passive monitoring, no active probing
• Application behavior is stable in short term
Awareness to predictability• Implementing PROTEUS library connecting
regression trees and applications
Challenges & solutions
Qiang Xu 5MobiSys’13
Predictability of cellular network performance
Resource allocation at different network aggregations levels, e.g., base station, RNC, GGSN
The predictability at time granularity of seconds is best suitable for real-time interactive applications• A chunk for adaptive bitrate streaming is multi-
second
Qiang Xu 6
Liu et al. MobiCom’08
Manweiler et al.
MobiSys’11
Shafiq et al. SIGMETRICS’
11
second minute hour
MobiSys’13
400+ one-hour packet traces• Protocol: UDP
• TCP has congestion control and retransmission
• Device: Android, iPhone, USB dongle• Windows Phone doesn’t have a packet
sniffer• Location: Ann Arbor (MI), Chicago
(IL)• Carrier: AT&T, Sprint, T-Mobile
Verifying performance predictability
Qiang Xu 7MobiSys’13
MobiSys’13 8
Evidence of performance predictability
Qiang Xu
The current throughput is highly correlated with the one 1s ago, but unlikely with 20s ago
Proportional fair scheduling: X vs. Y• X: device with the best
network condition• Y: fairness among devices
A device can occupy the same channel for ~1s• The time slot for channel resource allocation is ~1.67ms• The aggressiveness factor to favor the current device is
0.001
Why predictable? Scheduling at base stations
Qiang Xu 9MobiSys’13
Using regression trees for prediction
Exponential backoff to favor recent performance • Short time window, e.g., 0.5s, for real-time
requirement• Small history window, e.g., 20s, for efficiency
Qiang Xu 10
time windowhistory window
MobiSys’13
No offline training, predicting in real-time
• Available after the first history window
Comparing against two adaption solutions• AD1: adapt to the current time window• AD2: adapt to the averaged history window
Running regression trees over traces
Qiang Xu 11MobiSys’13
Prediction accuracy for lossA false positive occurs if a loss is predicted but actually not
FP: PROTEUS 1%, AD1 3-20%, AD2 >80%, ∀ linear 3-5%; FN: PROTEUS 1-3%, AD1 5-25%, AD2 20-80%, ∀ linear 3-20%
Qiang Xu 12MobiSys’13
Collecting throughput, loss, and OWD predictions from AD1, AD2, and PROTEUS• How to guarantee reproducible cellular network
performance?
Adjusting source rate, redundancy (FEC), and de-jitter buffer size• Standard approach using the H.264 reference software• No such open-source encoding/decoding suite for
mobile
Evaluating PROTEUS in video conferencing
Qiang Xu 13MobiSys’13
Equivalent mobile video conferencing
Qiang Xu 14
Per-frame adaptation
Encoding/decoding suite
Reproducible network
conditions
Modifying the H.264 reference software
Running the modified H.264 reference suite on a laptop
Replaying the 400+ packet traces with adaptively encoded content
MobiSys’13
Replaying packet trace in encoding
Qiang Xu 15
1. Compute <source rate, FEC>
2. Encode <frame> adaptively
3. Refill <random> with <frame>
PROTEUSAD1/AD2
<frame><frame><frame>
MobiSys’13
Decoding replayed packet traces
PROTEUS 36dB
AD1/AD2 23dB TCP 20dB
Qiang Xu 16MobiSys’13
Additional FEC overhead: PROTEUS 5kbps, AD1/AD2 20kbps
FEC overhead due to over-protection
Qiang Xu 17MobiSys’13
Identified the predictability of cellular network performance in short term (e.g., 0.5s)• Prediction accuracy: loss 98%, delay 97%, throughput
10±10kbps
Designed PROTEUS to provide applications with performance forecast
Evaluated the benefit to video conferencing• Video conferencing: PSNR 15dB higher, almost identical to
the hypothetical optimal
Concluding PROTEUS
Qiang Xu 18MobiSys’13
Qiang Xu 19MobiSys’13