Transcript
Page 1: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

MiddleMan: A Video Caching Proxy Server

NOSSDAV 2000

Brian SmithDepartment of Computer Science

Cornell UniversityIthaca, NY

Soam AcharyaInktomi Corporation

Foster City, CA

Page 2: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

VOW (Video on the Web):1999-2000• Remote sites

– eg. CNN, Mars Pathfinder, ESPN

– Clinton’s testimony– “micro broadcasting”

stations• Local sites

– corporate intranets - training videos

– University-wide lecture distribution

Page 3: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Internet

Problems With VOW

• Network unreliability• Client heterogeneity• Server bottlenecks

• Content Distribution Networks • Only distribute portion of a web site• Don’t improve latency as much as ..

• My solution: cache transmission

CNN28.8/56 Kbps T1

ISP

Page 4: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Our Goals

• Low end, low cost approach• Scalable• Utilize highly connected network of

powerful commodity PCs

Page 5: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

How Does It Work?

P

CNN

P

Video web caching proxy system

TCP

Coordinator

Page 6: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Why is this an attractive idea?

• Consider a University campus– 50-1000 PCs– 4 GB disk each– 100 MB for caching– 5-100 GB aggregate cache

• System Architecture– Proxies: cache on each end system. Acts

as both client and server– Coordinator: manages cache

Page 7: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Roadmap

• Survey Summary• Architecture: Detailed system architecture• Analysis: Architecture analysis and results• Comparison with other designs• Conclusion and future direction

Page 8: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Characterizing Videos On The Web

• mid April 1997 - May 1997

• about 57000 video titles

• 100 GB of data

• Web video size (~ 1 MB)

• Videos are WORMs

Page 9: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Characterizing User Access To Videos On The World Wide Web

• Traces from an ongoing Enterprise VoW trial:• 2 year period• 13100 requests• 246 titles

• Video browsing pattern• Partial browsing: only 61% of all movie

accesses went to completion• High temporal locality• File size trends …

Page 10: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Roadmap

• Survey Summary• Architecture: Detailed system architecture• Analysis: Architecture analysis and results• Comparison with other designs• Conclusion and future direction

Page 11: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

MiddleMan Design Principles

• Proxy cluster– proxies + one coordinator per LAN

• Fragmentation– videos fragmented into equal sized file

fragments (1 MB “cache lines”)• Partial Video Storage Policy

– don’t have to keep entire video lying around– Replace on a block by block basis

Page 12: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

How It Works I

P

WWW

C

P

P

C

P

Coordinator

Proxy

Page 13: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

How It Works II

P

WWW

C

P

P

C

P

Coordinator

Proxy

Page 14: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

LP

LPLP

SP

MiddleMan: Actual ArchitectureC

WWW

LAN

LP

CoordinatorLocal ProxyStorage ProxySP

SPC

CommunicationData transfer

Page 15: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Linking Multiple Proxy Clusters

C C

C

Page 16: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Roadmap

• Survey Summary• Architecture: Detailed system architecture• Analysis: Architecture analysis and results• Comparison with other designs• Conclusion and future direction

Page 17: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Issues To Analyze

• Local cache size• Size of file blocks• Caching algorithm• Controlling proxy load

Page 18: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Performance Analysis (via Simulations)

• Caching– analyze byte hit rates of various caching

algorithms

• Load Balancing– load analysis on the proxies

Page 19: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

The Configuration Tested• 44 proxies• Individual proxy cache size:

– 50 Mbytes (8.6% of video server size), – 25 Mbytes (4.3%)– 12 Mbytes (2.1%)

• Block size: 1 Mbyte• Three sub traces: cdt, sm, campus • Trace Durations:

– 6 months– 2 years

Page 20: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

0%

10%

20%

30%

40%

50%

60%

70%

80%

90%

Perfect

LRU

LFU

FIFO

LRU

-3

Perfect

LRU

LFU

FIFO

LRU

-3

Perfect

LRU

LFU

FIFO

LRU

-3By

te H

it Ra

te

Overall Cdt Cache Performance

12 MB, 2.1%

25 MB, 4.3% 50 MB, 8.6%

Page 21: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Caching Conclusion

• Not much difference in caching algorithm performance– cannot evaluate architecture solely based

on byte hit rate– Should consider load balancing behavior

Page 22: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Load Balancing• How define/measure “load”?

– Dynamic: traffic in the past hour, peak # of connections, peak BW

– Cumulative: byte traffic through a proxy?

• tested the following algorithms:– LRU– histLRUpick

• run LRU-2, LRU-3, LRU-4 in parallel to obtain multiple candidates for block replacement

• pick the least loaded block

Page 23: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Measuring Dynamic Load

Balancing Performance

P1 P2 P3

# of connections

Total # of connections

Timeconnections at (max) proxy

# of connections

Time

Example Proxy Connection Plot

# of connections

Page 24: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

LRU

histLRUpick

Proxy Conns:44 proxies, 50MB each

Page 25: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Cumulative Load balancing: Max/Min

0.00

2000.00

4000.00

6000.00

8000.00

10000.00

12000.00

14000.00

16000.00

44-LRU

44-HistLR

Upick

22-LRU

22-HistLR

Upick

11-LRU

11-HistLR

Upick

MB

ytes

Max

Min

Page 26: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Load balancing: Conclusions

• histLRUpick performs the best• as number of proxies decrease,

individual load increases• Room for improvement:

– RWFQ– replication

Page 27: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Roadmap

• Survey Summary• Architecture: Detailed system architecture• Analysis: Architecture analysis and results• Comparison with other designs• Conclusion and future direction

Page 28: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Comparison to Other Proxy Caches

Internet

www

P P

• Document Characteristics– fragment, distribute video– keep initial portions of video

• Caching Approach– other approaches optimized for

• small documents• high reference locality

• Proxy architecture– Distributed vs. centralized

Page 29: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Conclusion

• Caching in general is a good idea:– High hit rates for relatively small cache size

• HistLRUk – high hit rates– effective dynamic and cumulative load

balancing• Used Jigsaw, HTTP/1.1, GET/PUTs to

build prototype storage proxy server

Page 30: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

Future Work

• Other load balancing schemes• Fault Tolerance• FF/REW support• Security/Authentication• Proxy Cluster Cooperation

Page 31: MiddleMan: A Video Caching Proxy Server NOSSDAV 2000 Brian Smith Department of Computer Science Cornell University Ithaca, NY Soam Acharya Inktomi Corporation

histLRUpick

Dynamic Load Balancing

Performance: 22 * 100LRU

• reduce the number of proxies

• raise the cache size of each proxy to keep the same global cache size


Recommended