asymmetric caching: improved network deduplication for mobile

35
Asymmetric Caching: Improved Network Deduplication for Mobile Devices Shruti Sanadhya, 1 Raghupathy Sivakumar, 1 Kyu-Han Kim, 2 Paul Congdon, 2 Sriram Lakshmanan, 1 Jatinder P Singh 3 1 Georgia Institute of Technology, Atlanta, GA, USA 2 HP Labs, Palo Alto, CA, USA 3 Xerox PARC, Palo Alto, CA, USA 1

Upload: buikhanh

Post on 02-Feb-2017

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Asymmetric Caching: Improved Network Deduplication for Mobile

Asymmetric Caching:

Improved Network Deduplication

for Mobile Devices

Shruti Sanadhya,1 Raghupathy Sivakumar,1 Kyu-Han Kim,2

Paul Congdon,2 Sriram Lakshmanan,1 Jatinder P Singh3

1Georgia Institute of Technology, Atlanta, GA, USA 2HP Labs, Palo Alto, CA, USA 3Xerox PARC, Palo Alto, CA, USA

1

Page 2: Asymmetric Caching: Improved Network Deduplication for Mobile

• Network traffic has a lot of redundancy– 20% HTTP content accessed on smartphones is redundant1

• Network deduplication (dedup) leverages this redundancy to conserve network bandwidth

1 Qian et al,, “Web Caching on Smartphones: Ideal vs. Reality “ , MobiSys 2012

Mobile

Introduction

2

C1 C 2 C3Rabin Fingerprinting

H1 H2 H3Hashing

Sender ReceiverDedup Source Dedup Destination

C1 C3H2Compress

C1 C3H2

H2

Regular Cache

H2 C2

Mobile Cache

SGSN

Inflate packet

C1 C 2 C3

Page 3: Asymmetric Caching: Improved Network Deduplication for Mobile

• What happens when the mobile cache is more populated than the cache at dedup source?

How can all the past cached information at the mobile be successfully leveraged for dedup by any given dedup source?

The Asymmetry Problem

3

Sender ReceiverDedup Source Dedup Destination

H2 H2 C2

Regular

Cache

Mobile

Cache

Mobile

Cache

H3 C3

H4 C4

H5 C5

H6 C6

H7 C7

H8 C8

H2 C2

Page 4: Asymmetric Caching: Improved Network Deduplication for Mobile

• Multi-homed devices

Motivational Scenarios

4

WiFi

Access

Point3G Base

Station (BS)

Mobile

Device

Cache

CacheCache

Page 5: Asymmetric Caching: Improved Network Deduplication for Mobile

• Multi-homed devices

• Resource pooling

– BS: Base Station

– RNC: Radio Network Controller

– SGSN: Serving GPRS Support Node

Motivational Scenarios

5

SGSNMobile

Device

BS

RNC

BS

SGSN

RNC Cache

Cache

Cache

Page 6: Asymmetric Caching: Improved Network Deduplication for Mobile

• Multi-homed devices

• Resource pooling

• Memory scalability

– BS: Base Station

– RNC: Radio Network Controller

– SGSN: Serving GPRS Support Node

Motivational Scenarios

6

BS

RNC

SGSN

Cache

Cache

Cache

Cache

Page 7: Asymmetric Caching: Improved Network Deduplication for Mobile

Scope and Goals

• Scope

– Laptops/smartphones using 3G/WiFi

– Conserving cellular bandwidth

– Downstream and unencrypted traffic

• Goals

– Overall efficiency: Using downstream and upstream more

efficiently

– Application agnostic: Applicable to any application

– Limited overheads: Deployable computational and memory

complexities

7

Page 8: Asymmetric Caching: Improved Network Deduplication for Mobile

• Mobile cache is more populated than dedup source

• On receiving downstream traffic, the mobile selectively

advertises portions of its cache to dedup source

• Dedup source also maintains a feedback cache

• Both regular and feedback cache is used for dedup

Asymmetric Caching - Overview

8

Sender ReceiverDedup

Source

Dedup

Destination

Regular

Cache

Mobile

Cache

H2

Feedback

Cache

Feedback

H4

H3 C3

H4 C4

H5 C5

H2 C2

Page 9: Asymmetric Caching: Improved Network Deduplication for Mobile

• Feedback is sent reactively

• Feedback is sent only when there is downstream traffic

• Feedback sent is specific to the ongoing traffic

When is feedback sent?

9

Dedup

Source

Dedup

Destination

Feedback

Downstream trafficDownstream traffic

Feedback

Page 10: Asymmetric Caching: Improved Network Deduplication for Mobile

• Hashes at dedup destination can be organized as per:

– Order of arrival

– Same flow

(Src IP, Dest IP, Src Port, Dest Port )

– Same object

(HTML , JPEG or CSS)

• Objects help in effectively matching new and old content

• Application agnostic estimate of objects are flowlets

Where from is feedback selected?

10

H3 H4 H5

H7H6 H8H1 H2

H9 H10

H7H6 H8 H9H5H3 H4H1 H2 H10

H5H3 H4

H7H6 H8

H9 H10

H1 H2

Page 11: Asymmetric Caching: Improved Network Deduplication for Mobile

• Sequence of bytes in a flow is a time-series

• Flowlets are piecewise stationary segments of a flow

• Check for flowlet boundary at start of each packet

• Consider byte series B[0:m](1st packet), B[m+1:n] (2nd packet) and B[0:n] as autoregressive processes of order p:

Bi= Σ1<=j<=p aiBi-j + σε , ε is white noise

• d[0:m:n] = gain(B[0:n]) – gain(B[0:m]) – gain(B[m+1:n])

Gain in the noise power when B[0:n] is in one flowlet instead of different flowlets: B[0:m] and B[m+1:n]

• If d[0:m:n] > dthresh , then flowlet boundary exists at m

How are flowlets extracted?

11

B0, B1, ….., Bm, Bm+1, ……, Bn

B[0:n]

B[0:m] B[m+1:n]

Page 12: Asymmetric Caching: Improved Network Deduplication for Mobile

• Find best matching past flowlet

How is feedback selected?

12

Page 13: Asymmetric Caching: Improved Network Deduplication for Mobile

• Find best matching past flowlet

How is feedback selected?

13

H1 H2

Page 14: Asymmetric Caching: Improved Network Deduplication for Mobile

• Find best matching past flowlet

How is feedback selected?

14

F1, F3

F1, F2, F3

H1

H2

H1 H2

Page 15: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

How is feedback selected?

15

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 16: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

How is feedback selected?

16

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 17: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

How is feedback selected?

17

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 18: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

• Find start of next feedback in the best matching flowlet

How is feedback selected?

18

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 19: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

• Find start of next feedback in the best matching flowlet

How is feedback selected?

19

H1, H2, Best matching

past flowletH4, H5, H6,H7, H8, H9,H10, H11, H12, H13,

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 20: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

• Find start of next feedback in the best matching flowlet

How is feedback selected?

20

Last hash

matched

H1, H2, Best matching

past flowletH4, H5, H6,H7, H8, H9,H10, H11, H12, H13,

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 21: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

• Find start of next feedback in the best matching flowlet

How is feedback selected?

21

Last hash

matchedLast hash

advertised

H1, H2, Best matching

past flowletH4, H5, H6,H7, H8, H9,H10, H11, H12, H13,

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 22: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

• Find start of next feedback in the best matching flowlet

– δ : temporal offset

How is feedback selected?

22

Last hash

matchedLast hash

advertised

δ

H1, H2, Best matching

past flowletH4, H5, H6,H7, H8, H9,H10, H11, H12, H13,

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 23: Asymmetric Caching: Improved Network Deduplication for Mobile

Last hash matched

• Find best matching past flowlet

– Flowlet 1 (F1) is best matched

• Find start of next feedback in the best matching flowlet

– δ : temporal offset

How is feedback selected?

23

Last hash

matchedLast hash

advertised

Start of next

feedback

δ

H1, H2, Best matching

past flowletH4, H5, H6,H7, H8, H9,H10, H11, H12, H13,

F1, F3

F1, F2, F3

H1

H2

H1 H2F1: H1, H2, H4, H5, H6, H7, H8, H9, H10, H11, H12, …….

F2: H2, H5, H10, ….

F3: H5, H8, H11, H12, …..

Page 24: Asymmetric Caching: Improved Network Deduplication for Mobile

• Dedup source maintains a feedback cache along with

regular cache of baseline dedup

How is the feedback used?

24

Dedup

Source

Regular Cache Feedback Cache

Page 25: Asymmetric Caching: Improved Network Deduplication for Mobile

• Dedup source maintains a feedback cache along with

regular cache of baseline dedup

• Regular cache is populated by downstream data

How is the feedback used?

25

Dedup

Source

Regular Cache Feedback Cache

H1

H2

Page 26: Asymmetric Caching: Improved Network Deduplication for Mobile

• Dedup source maintains a feedback cache along with

regular cache of baseline dedup

• Regular cache is populated by downstream data

How is the feedback used?

26

Dedup

Source

Regular Cache Feedback Cache

H1

H2

Page 27: Asymmetric Caching: Improved Network Deduplication for Mobile

• Dedup source maintains a feedback cache along with

regular cache of baseline dedup

• Regular cache is populated by downstream data

• Feedback hashes are inserted in feedback cache

How is the feedback used?

27

Dedup

Source

Regular Cache Feedback Cache

H3

H4

H1

H2

Page 28: Asymmetric Caching: Improved Network Deduplication for Mobile

• Dedup source maintains a feedback cache along with

regular cache of baseline dedup

• Regular cache is populated by downstream data

• Feedback hashes are inserted in feedback cache

Every downstream packet is deduped using both regular

and feedback cache

How is the feedback used?

28

Dedup

Source

Regular Cache Feedback Cache

H3

H4

H1

H2

Page 29: Asymmetric Caching: Improved Network Deduplication for Mobile

Design Summary

• When is the feedback sent?

• Where from is the feedback

chosen?

• How are flowlets extracted?

• How is the feedback

selected?

• How is the feedback used?

• Reactively

• Flowlets at dedup destination

• Stationarity properties

• Best matching flowlet and

pointers in past flowlet

• Stored in the feedback cache

for dedup

29

Page 30: Asymmetric Caching: Improved Network Deduplication for Mobile

• Data collection– 25 laptop and 5 smartphone users over 3 months giving 26GB of

unsecured downlink data

– WiFi as well as 3G network

– Packet sniffing through Wireshark and Tcpdump

• Trace analysis– Custom analyzer implemented in Python

– Mimic mobility by splitting trace into two halves: past and present

– Past trace populates the initial cache at the dedup destinationThis is the data remembered from previous networks access

– 30 random connections from the present create ongoing traffic

– Dedup is performed using asymmetric caching

Trace Based Analysis

30

Page 31: Asymmetric Caching: Improved Network Deduplication for Mobile

• Redundancy identified

Trace Analysis Results - I

31

Asymmetric caching leverages significant portion of

the achievable redundancy

# Redundant bytes found by asymmetric caching

Actual # redundant bytesx 100

Averageasymmetric caching

Averagesymmetric caching

Page 32: Asymmetric Caching: Improved Network Deduplication for Mobile

• Feedback efficiency

Trace Analysis Results - II

32

Asymmetric caching generates efficient and relevant feedback

# Bytes saved downstream

# Bytes sent upstream

Split of total hits across

the caches at dedup source

Page 33: Asymmetric Caching: Improved Network Deduplication for Mobile

• Network layer approaches– Spring et al, “A protocol-independent technique for

eliminating redundant network traffic”. SIGCOMM, 2000.

– Aggarwal et al, “EndRE: an end-system redundancy elimination service for enterprises”. NSDI, 2010.

– Shen et al, “REfactor-ing content overhearing to improve wireless performance”. MobiCom, 2011

• Transport layer approaches– Zohar et al, “The power of prediction: cloud bandwidth and

cost reduction”, SIGCOMM 2011

• Application layer approaches– Web browser caches and proxies

– Content Distribution Networks (CDNs)

Related Work

33

Page 34: Asymmetric Caching: Improved Network Deduplication for Mobile

• A dedup strategy that leverages past remembered on mobile devices to perform dedup at any dedup source

• Application agnostically estimate different objects in a flow by using stationarity properties of different content

• Trace analysis of 30 users shows that asymmetric caching:– Leverages 89% of achievable redundancy

– Gives 6x feedback efficiency

• Prototype implementation on Linux desktop and Android smartphone with deployable overheads

• Future Work:– Upstream dedup, i.e. reduce redundant content sent upstream

– Extending dedup to end-to-end encrypted traffic

– Study energy impact of asymmetric caching on mobile devices

Conclusion and Future Work

34

Page 35: Asymmetric Caching: Improved Network Deduplication for Mobile

Questions?

35