PROTEUS: Network Performance Forecast for Real- Time, Interactive Mobile Applications Qiang Xu*...

Post on 18-Jan-2016

229 views 0 download

Tags:

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