Mocha A quality Adaptive Multimedia Proxy Cache for

  • Slides: 32
Download presentation
Mocha: A quality Adaptive Multimedia Proxy Cache for Internet Streaming Reza Rejaie AT&T Labs

Mocha: A quality Adaptive Multimedia Proxy Cache for Internet Streaming Reza Rejaie AT&T Labs – Research Menlo Park, CA Jussi Kangasharju Institut Eurocom France NOSSDAV 2001, New York June 25, 2001 http: //www. research. att. com/~reza Rejaie AT&T Labs - Research 1

Motivation Rapid growth in client-server multimedia streaming over the Internet Client-server architecture has two

Motivation Rapid growth in client-server multimedia streaming over the Internet Client-server architecture has two major limitations: • Limited and unstable quality • Limited scalability Reza Rejaie AT&T Labs - Research 2

Unicast Internet Streaming Multimedia streams are pipelined through the network Quality of stream should

Unicast Internet Streaming Multimedia streams are pipelined through the network Quality of stream should match available bandwidth Ø Internet streaming applications should be quality adaptive Quality. Adapt Encoder Cong. Ctrl Source Server TCP Reza Rejaie AT&T Labs - Research Internet TCP Buffer Decoder Display 3

Issues with Client-Server Streaming Limited & unstable quality Limited scalability Asynchronous access could be

Issues with Client-Server Streaming Limited & unstable quality Limited scalability Asynchronous access could be inefficient RTT could be high • High delay VCR-functions • Large startup delay Ø Multimedia proxy caching can address all these issues Reza Rejaie AT&T Labs - Research Client Client Proxy Internet Server 4

Multimedia Caches should be Quality Adaptive To maximize delivered quality to heterogeneous clients: •

Multimedia Caches should be Quality Adaptive To maximize delivered quality to heterogeneous clients: • Multiple encodings/versions • Trans-coding • Layered encoding Design issues: • What streams to cache? • Which quality to cache? Ø Notion of “quality” affects Client 56 Kbps 2 Mbps Proxy Internet Server both design and evaluation Reza Rejaie AT&T Labs - Research 5

Previous Work Existing Web caches can not support Multimedia streams efficiently • Atomic delivery

Previous Work Existing Web caches can not support Multimedia streams efficiently • Atomic delivery & Atomic replacement Multimedia caches = web cache + media player Caching only selected portions of streams • Prefix caching, Video Staging, etc Memory Caching, batching, etc Resource-based Caching Ø Previous work treat multimedia streams in an atomic fashion => Not Quality Adaptive Reza Rejaie AT&T Labs - Research 6

This Paper Design and implementation of Mocha, a quality adaptive proxy cache for multimedia

This Paper Design and implementation of Mocha, a quality adaptive proxy cache for multimedia streams, on top of Squid Preliminary evaluation (Sanity Checking) Reza Rejaie AT&T Labs - Research 7

Design Goal Assuming locality of reference exists Goal: Cache popular streams with appropriate quality

Design Goal Assuming locality of reference exists Goal: Cache popular streams with appropriate quality Appropriate quality is determined by • Client bandwidth • Popularity of streams Max. deliverable quality is not guaranteed Ø Caching appropriate quality => Higher performance Reza Rejaie AT&T Labs - Research 8

The idea Exploit layered organization • Relay on a cache miss • Pre-fetch on

The idea Exploit layered organization • Relay on a cache miss • Pre-fetch on a cache hit § If higher quality is required Client Proxy Two key components: • Fine-grained Prefetching • Fine-grained Replacement Internet Server Reza Rejaie AT&T Labs - Research 9

Client-Server Architecture Reza Rejaie AT&T Labs - Research 10

Client-Server Architecture Reza Rejaie AT&T Labs - Research 10

Mocha Internal Architecture Reza Rejaie AT&T Labs - Research 11

Mocha Internal Architecture Reza Rejaie AT&T Labs - Research 11

Mocha RTSP Signaling Cache Hit Cache Miss Reza Rejaie AT&T Labs - Research 12

Mocha RTSP Signaling Cache Hit Cache Miss Reza Rejaie AT&T Labs - Research 12

Mocha Main Components Object Management Fine-grained Pre-fetching Fine-grained Replacement Reza Rejaie AT&T Labs -

Mocha Main Components Object Management Fine-grained Pre-fetching Fine-grained Replacement Reza Rejaie AT&T Labs - Research 13

Mocha/Main Components Object Management Cache RTP packets instead of raw payload Challenge: store and

Mocha/Main Components Object Management Cache RTP packets instead of raw payload Challenge: store and access partially received layers of a single streams • All layers should be collectively viewed as a single object by Squid Need to extend Squid’s data structures: • One file per layer, • Each layer consists of Chunks • A chunk contains a group of contiguous pkts • Chunks are treated in an atomic fashion Reza Rejaie AT&T Labs - Research 14

Mocha/Object Management Data Structure Reza Rejaie AT&T Labs - Research 15

Mocha/Object Management Data Structure Reza Rejaie AT&T Labs - Research 15

Mocha/Main Components Fine-grained Online Pre-fetching Ø Sliding-window • Batch of missing segments • Prioritized

Mocha/Main Components Fine-grained Online Pre-fetching Ø Sliding-window • Batch of missing segments • Prioritized delivery Client Pre-fetching Window L 4 4 5 6 L 3 L 2 3 2 L 1 L 0 1 Extending “Range” header field of RTSP tp Reza Rejaie AT&T Labs - Research Playback Proxy Quality (layers) Pre-fetching stream is Server congestion controlled Pre-fetching & playback should remain loosely sync. Pre-fetch T Time d A Segment 16

Mocha/Main Components Fine-grained Replacement Fine-grained popularity • Assign popularity to individual layers • Pipelining

Mocha/Main Components Fine-grained Replacement Fine-grained popularity • Assign popularity to individual layers • Pipelining -> Hit could be any value within [0. . 1] whit = weighted_hit = Playback. Time(sec)/Stream. Length(sec) This definition of popularity captures: • Level of interest among clients • Available bandwidth to interested clients Within a single stream, layer popularity monotonically decreases Reza Rejaie AT&T Labs - Research 17

Mocha Replacement Pattern Per-layer popularity Cached chunk ØVictim layer Per-segment replacement Quality(Layer) • Demand-driven

Mocha Replacement Pattern Per-layer popularity Cached chunk ØVictim layer Per-segment replacement Quality(Layer) • Demand-driven Reza Rejaie AT&T Labs - Research Time 18

Mocha Experiments (Sanity Check) Data set: • • • 6 layers per stream Layer

Mocha Experiments (Sanity Check) Data set: • • • 6 layers per stream Layer BW = 6 Kbps random length within [30. . 180]sec bw 1 Server bwsp Client 1 Proxy bw 2 Client 2 Cache size: 30% of data set Popularity Win = Infinite 5000 requests • Zipf-like popularity dist Reza Rejaie AT&T Labs - Research 19

Fine-grained Replacement Single Client Pre-fetching Off 50 Streams bw_sp > 6 layers bw 1

Fine-grained Replacement Single Client Pre-fetching Off 50 Streams bw_sp > 6 layers bw 1 = 4 layers Reza Rejaie AT&T Labs - Research 20

Fine-grained Pre-fetching Two Clients Pre-fetching On 20 streams 70% high bw request bw_sp >

Fine-grained Pre-fetching Two Clients Pre-fetching On 20 streams 70% high bw request bw_sp > 6 layers bw 1 > 6 layers Bw 2 = 2 layers Reza Rejaie AT&T Labs - Research 21

Average Delivered Quality Two Clients Pre-fetching On 20 Streams bw_sp > 6 layers bw

Average Delivered Quality Two Clients Pre-fetching On 20 Streams bw_sp > 6 layers bw 1 > 6 layers Bw 2 = 2 layers Reza Rejaie AT&T Labs - Research 22

Summary Mocha is a quality adaptive multimedia proxy cache Features: • Able to manage

Summary Mocha is a quality adaptive multimedia proxy cache Features: • Able to manage layer-encoded streams • Fine-grained pre-fetching • Fine-grained replacement Reza Rejaie AT&T Labs - Research 23

Future Directions Developing a methodology for performance evaluation of multimedia proxy caches Examining various

Future Directions Developing a methodology for performance evaluation of multimedia proxy caches Examining various replacement and prefetching mechanisms Encoding/content specific replacement & pre-fetching Reza Rejaie AT&T Labs - Research 24

Mocha: A quality Adaptive Multimedia Proxy Cache for Internet Streaming Reza Rejaie AT&T Labs

Mocha: A quality Adaptive Multimedia Proxy Cache for Internet Streaming Reza Rejaie AT&T Labs – Research Menlo Park, CA Jussi Kangasharju Institut Eurocom France NOSSDAV 2001, New York June 25, 2001 http: //www. research. att. com/~reza Rejaie AT&T Labs - Research 25

Evaluation Methodology Web caching evaluations are not sufficient Evaluation should be performed across Quality-Load

Evaluation Methodology Web caching evaluations are not sufficient Evaluation should be performed across Quality-Load plan Parameters of a request sequence • Popularity distribution (similar to Web) • Distribution of request among different classes of clients Reza Rejaie AT&T Labs - Research 26

Client-server Internet Streaming Internet streaming applications should be quality adaptive(QA) QA is often needed

Client-server Internet Streaming Internet streaming applications should be quality adaptive(QA) QA is often needed in a shared environment, e. g. • Diff-serve without per-flow admission control • Shared reservation • Streaming over best-effort class Quality adaptation • Adjust the quality with long-term changes in BW ü Limited quality & Limited scalability Reza Rejaie AT&T Labs - Research 27

Performance Evaluation Goal of Web caching: • to maximize Byte-Hit-Ratio Goal of MCaching: •

Performance Evaluation Goal of Web caching: • to maximize Byte-Hit-Ratio Goal of MCaching: • to maximize Byte-Hit-Ratio, and • to maximize delivered quality ØMCaching performance should be evaluated across quality-BHR plan Reza Rejaie AT&T Labs - Research 28

Replication Campus Client Server 2 Client Server 1 ISP Client Internet Server 1 Client

Replication Campus Client Server 2 Client Server 1 ISP Client Internet Server 1 Client Reza Rejaie AT&T Labs - Research 29

Proxy Caching Campus Client Server 2 MCache Client ISP Client Internet Server 1 MCache

Proxy Caching Campus Client Server 2 MCache Client ISP Client Internet Server 1 MCache Client Reza Rejaie AT&T Labs - Research 30

Replication vs Proxy Caching Location: Proxy is often closer to clients • No bottleneck

Replication vs Proxy Caching Location: Proxy is often closer to clients • No bottleneck • Min RTT • Higher locality of reference! Content management (Push vs Pull) • A proxy adaptively caches popular streams from different servers based on clients’ interest • A mirror server statically replicates content of a specific group of servers Administration Reza Rejaie AT&T Labs - Research 31

Mocha/Design Issues Pre-fetching: An Example Pre-fetched data Played back stream Stored stream Quality (no.

Mocha/Design Issues Pre-fetching: An Example Pre-fetched data Played back stream Stored stream Quality (no. active layers) Missing pieces of the active layers are prefetched on-demand Required pieces are identified by QA Pre-fetching results in improvement of quality Pre-fetched data is always cached L 4 L 3 L 2 L 1 L 0 Time Reza Rejaie AT&T Labs - Research 32