27
Wide-area Network Acceleration for the Developing World Sunghwan Ihm (Princeton) KyoungSoo Park (KAIST) Vivek S. Pai (Princeton)

wanax-usenix10

Embed Size (px)

DESCRIPTION

Wide-area Network

Citation preview

Page 1: wanax-usenix10

Wide-area Network Acceleration

for the Developing World

Sunghwan Ihm (Princeton)KyoungSoo Park (KAIST)Vivek S. Pai (Princeton)

Page 3: wanax-usenix10

3

Sunghwan Ihm, Princeton University

WEB PROXY CACHING IS NOT ENOUGH

Local ProxyCache

Users

Slow Link

Origin Web Servers

Whole objects, designated cacheable traffic only

Zambia: 43% cache hit rate, 20% byte hit rate

Page 4: wanax-usenix10

4

Sunghwan Ihm, Princeton University

WAN ACCELERATION:FOCUS ON CACHE MISSES

Packet-level (chunks) caching Mostly for enterprise Two (or more) endpoints, coordinated

Users

Slow Link

Origin Web Servers

WAN Accelerator

WAN Accelerator

Page 5: wanax-usenix10

5

Sunghwan Ihm, Princeton University

CONTENT FINGERPRINTING

Split content into chunksRabin’s fingerprinting over a sliding windowMatch n low-order bits of a global constant KAverage chunk size: 2n bytes

Name chunks by content (SHA-1 hash)

Cache chunks and pass references

A B C D E

Page 6: wanax-usenix10

6

Sunghwan Ihm, Princeton University

WHERE TO STORE CHUNKS

Chunk dataUsually stored on diskCan be cached in memory to reduce disk

access

Chunk metadata indexName, offset, length, etc.Partially or completely kept in memory to

minimize disk accesses

Page 7: wanax-usenix10

7

Sunghwan Ihm, Princeton University

HOW IT WORKS

OriginWeb Server

WANAccelerator

Users

1. Users send requests2. Get content from Web server3. Generate chunks4. Send cached chunk names +

uncached raw content (compression)

WANAccelerator

1. Fetch chunk contents from local disk (cache hits)

2. Request any cache misses from sender-side node

3. As we assemble, send it to users (cut-through)

Sender-Side

Receiver-Side

Page 8: wanax-usenix10

8

Sunghwan Ihm, Princeton University

WAN ACCELERATOR PERFORMACEEffective bandwidth (throughput)

Original data size / total time

Transfer: send data + refsCompression rate

Reconstruction: hits from cacheDisk performanceMemory pressure

High

HighLow

Page 9: wanax-usenix10

9

Sunghwan Ihm, Princeton University

DEVELOPING WORLD CHALLENGES/OPPORTUNITES Dedicated machine

with ample RAM High-RPM SCSI disk Inter-office content only Star topology

Shared machinewith limited RAM

Slow disk All content Mesh topology

VS.

Poor Performance!

Enterprise Developing World

Page 10: wanax-usenix10

10

Sunghwan Ihm, Princeton University

WANAX: HIGH-PERFORMANCE WAN ACCELERATORDesign Goals

Maximize compression rateMinimize memory pressureMaximize disk performanceExploit local resources

ContributionsMulti-Resolution Chunking (MRC)Peering Intelligent Load Shedding (ILS)

Page 11: wanax-usenix10

11

Sunghwan Ihm, Princeton University

SINGLE RESOLUTION CHUNKING (SRC) TRADEOFFS

75% saving3 disk reads3 index entries

93.75% saving15 disk reads15 index entries

High compression rateHigh memory pressureLow disk performance

Low compression rateLow memory pressureHigh disk performance

Q WR TI OX C

P ZV N

E AY U

Q WR TI OX C

P ZV N

E BY U

Page 12: wanax-usenix10

12

Sunghwan Ihm, Princeton University

MULTI-RESOLUTION CHUNKING (MRC) Use multiple chunk sizes simultaneously

Large chunks for low memory pressure and disk seeks

Small chunks for high compression rate

93.75% saving6 disk reads6 index entries

Page 13: wanax-usenix10

13

Sunghwan Ihm, Princeton University

GENERATING MRC CHUNKSOriginal Data

HIT

HIT

HIT

Detect smallest chunk boundaries firstLarger chunks are generated by matching

more bits of the detected boundariesClean chunk alignment + less CPU

Page 14: wanax-usenix10

14

Sunghwan Ihm, Princeton University

STORING MRC CHUNKS

Store every chunk regardless of content overlapsNo association among chunksOne index entry load + one disk seekReduce memory pressure and disk seeksDisk space is cheap, disk seeks are

limited

B C

AB CA

*Alternative storage options in the paper

Page 15: wanax-usenix10

15

Sunghwan Ihm, Princeton University

PEERING

Cheap or free local networks(ex: wireless mesh, WiLDNet)Multiple caches in the same regionExtra memory and disk

Use Highest Random Weight (HRW)Robust to node churnScalable: no broadcast or digests exchangeTrade CPU cycles for low memory footprint

Page 16: wanax-usenix10

16

Sunghwan Ihm, Princeton University

INTELLIGENT LOAD SHEDDING (ILS) Two sources of fetching chunks

Cache hits from diskCache misses from network

Fetching chunks from disks is not always desirableDisk heavily loaded (shared/slow)Network underutilized

Solution: adjust network and disk usage dynamically to maximize throughput

Page 17: wanax-usenix10

17

Sunghwan Ihm, Princeton University

SHEDDING SMALLEST CHUNK

Move the smallest chunks from disk to network, until network becomes the bottleneck

Disk one seek regardless of chunk size

Network proportional to chunk sizeTotal latency max(disk, network)

DiskNetworkPeer

Time

Page 18: wanax-usenix10

18

Sunghwan Ihm, Princeton University

SIMULATION ANALYSIS News Sites

Web browsing of dynamically generated Web sites (1GB)

Refresh the front pages of 9 popular Web sites every five minutes

CNN, Google News, NYTimes, Slashdot, etc.

Linux KernelLarge file downloads (276MB)Two different versions of Linux kernel

source tar file

Bandwidth savings, and # disk reads

Page 19: wanax-usenix10

19

Sunghwan Ihm, Princeton University

BANDWITH SAVINGS

SRC: high metadata overheadMRC: close to ideal bandwidth savings

Page 20: wanax-usenix10

20

Sunghwan Ihm, Princeton University

DISK FETCH COST

MRC greatly reduces # of disk seeks22.7x at 32 bytes

Page 21: wanax-usenix10

21

Sunghwan Ihm, Princeton University

CHUNK SIZE BREAKDOWN

SRC: high metadata overhead MRC: much less # of disk seeks and index

entries (40% handled by large chunks)

Page 22: wanax-usenix10

22

Sunghwan Ihm, Princeton University

EVALUTION Implementation

Single-process event-driven architecture 18000 LOC in C HashCache (NSDI’09) as chunk storage

Intra-region bandwidths 100Mbps

Disable in-memory cache for content Large working sets do not fit in memory

Machines AMD Athlon 1GHz / 1GB RAM / SATA Emulab pc850 / P3-850 / 512MB RAM / ATA

Page 23: wanax-usenix10

23

Sunghwan Ihm, Princeton University

MICROBENCHMARK

MRC

ILS

PEER

Better

90% similar 1 MB files512kbps / 200ms RTT

No tuning required

Page 24: wanax-usenix10

24

Sunghwan Ihm, Princeton University

REALISTIC TRAFFIC: YOUTUBE

Classroom scenario 100 clients download 18MB clip 1Mbps / 1000ms RTT

Better

High Quality (490)

Low Quality (320)

Page 25: wanax-usenix10

25

Sunghwan Ihm, Princeton University

IN THE PAPER

Enterprise testMRC scales to high performance servers

Other storage optionsMRC has the lowest memory pressureSaving disk space increases memory

pressure

More evaluationsOverhead measurementAlexa traffic

Page 26: wanax-usenix10

26

Sunghwan Ihm, Princeton University

CONCLUSIONSWanax: scalable / flexible WAN

accelerator for the developing regions

MRC: high compression / high disk performance / low memory pressure

ILS: adjust disk and network usage dynamically for better performance

Peering: aggregation of disk space, parallel disk access, and efficient use of local bandwidth

Page 27: wanax-usenix10

[email protected]

http://www.cs.princeton.edu/~sihm/