300 likes | 468 Views
SRB: Shared Running Buffers in Proxy to Exploit Memory Locality of Multiple Streaming Media Sessions. Songqing Chen, Bo Shen, Yong Yan, Sujoy Basu, and Xiaodong Zhang IEEE Proceedings of the 24 th International Conference on Distributed Computing Systems (ICDCS’04) July 13th, 2006
E N D
SRB: Shared Running Buffers in Proxy to Exploit Memory Locality of Multiple Streaming Media Sessions Songqing Chen, Bo Shen, Yong Yan, Sujoy Basu, and Xiaodong Zhang IEEE Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS’04) July 13th, 2006 Seo, Dongmahn
Contents • Introduction • Shared Running Buffers (SRB) Media Caching Algorithm • Performance Evaluation • Conclusion • Presenter’s Opinion
Contents • Introduction • Shared Running Buffers (SRB) Media Caching Algorithm • Performance Evaluation • Conclusion • Presenter’s Opinion
Introduction • Web content delivery network • Server-proxy-client system • proxy • reduce network load and end-to-end latency • cache, static • The delivery of streaming media content • larger size • continuous and timely delivery • a lot of resources have to be reserved • high bandwidth of disk and network
Related works • Partial caching • cache either a prefix or segments of a media object • in the disk storage of the proxy • Dynamic caching of streaming data • memory-based running buffer based caching tech. • the fixed-sized running buffer caching • fixed-sized buffer • to cache media data fetched by the proxy • hoping that subsequent requests could reuse • the interval caching • consider the arrival intervals of all request pairs • The smaller intervals, the more requests with given memory
Related works (cont.) • Above both • do NOT take consideration of user access patterns
Related works (cont.) • Other related works • patching algorithms • take advantage of the client-side storage resource • the greedy patching • patch to the existing complete stream • the grace patching • restarts a new complete stream at some appropriate points in time • the optimal patching • consider how to reuse the limited storage on the client side to receive as many data as possible while listening to as many channels as possible
Works of this paper • propose Shared Running Buffers (SRB) • a new memory-based caching algorithm for streaming media objects • based on user access patterns and the requested media objects • different buffers are fully shared • useful when requests are highly temporally localized • efficiently reclaim the idle memory space • efficient near-optimal buffer replacement at runtime when requests are terminated • propose Patching SRB (PSRB) • improves the performance of the media data delivery without the necessity of caching
Contents • Introduction • Shared Running Buffers (SRB) Media Caching Algorithm • Performance Evaluation • Conclusion • Presenter’s Opinion
SRB Media Caching Algorithm • SRB (Shared Running Buffer) • Motivation • the limits of current memory buffering approaches • based caching algorithm for streaming media • with the aim to maximize the memory utilization
SRB Related Concepts • Concepts • Interval Series • Average Request Arrival Interval (ARAI) • three buffer states and three timing concepts • Construction State & Start-Time • Running State & Running-Distance • Idle State & End-Time
SRB Algorithm • working flow • If the latest running buffer of the object i is caching the prefix of the object i, the request will be served directly from all the existing running buffers of the object • Otherwise • If there is enough memory, a new running buffer of a predetermined size T is allocated • If there is no enough memory, the SRB buffer replacement algorithm is called to either re-allocate an existing running buffer to the request or serve this request without caching • Update the End-Times of all existing buffers of the object i
SRB Algorithm (cont.) • SRB Buffer Lifecycle Management • Starting from the Construction State • a three-state lifecycle management process • Case 1 : in the Construction State. • The proxy makes a decision at the end of T • If ARAI = ∞, initial buffer enters the Idle State (case 3) immediately • If In (waiting time) > ARAI, the initial buffer is shrunk • If In ≤ ARAI, the initial buffer maintains the construction state and continues to grow • buffer expansion is bounded by the available memory
SRB Algorithm (cont.) • Case 2 : in the Running State. • Case 3 : in the Idle State. • When a buffer enters the Idle State, it is ready for reclamation. • time span T (the initial buffer size) is determined • buffer has upper bound and lower bound
SRB Algorithm (cont.) • SRB Buffer Dynamic Reclamation • Two types of session termination • the complete session termination • If the resident buffer is the only running buffer for the media object, the resident buffer enters the idle state • If the resident buffer is not only running buffer, the buffer enters the idle state and maintains its content until its End-Time • the premature session termination • If one request is served from the middle of it resident buffer, the resident buffer maintains its current state and the request get deleted from all its associated running buffers. • If one request is served from the head of its resident buffer, the request is deleted from all of its associated running buffers. • If one request is served at the tail of a running buffer, • deleting the request from the request list of its resident buffer, if the request list is not empty, do nothing • If the request is at the tail of the last running buffer, the buffer will be shrunk to the extent that previous R is the last request served from the buffer.
SRB Algorithm (cont.) • SRB Buffer Replacement Policy • propose popularity based replacement policies • for the SRB media caching algorithm • basic idea • ordering on-going streams according to their popularities calculated in a certain past time period • if demanded object has a higher popularity that the least popular object, deallocated and re-allocated
Patching SRB (PSRB)Media Delivering Algorithm • SRB is extended to a PSRB • for sharing of such sessions • using more client-side storage • to maximize the data sharing among concurrent sessions • to minimize the server-to-proxy traffic
Contents • Introduction • Shared Running Buffers (SRB) Media Caching Algorithm • Performance Evaluation • Conclusion • Presenter’s Opinion
Performance Evaluation • event-driven simulator to model a proxy’s memory caching behavior • Both synthetic workloads and a real workload from enterprise media server logs • real workload as REAL • HP Corporate Media Solutions • April 1 to April 10, 2001 • 403 total objects • unique object size accounts to 20G • 9000 requests, run for 916427 seconds • 83% requests only view the objects for less than 10 minutes • 56% requests only view the objects for less than 10% • Only about 10% requests view the whole objects
Evaluation Metrics • the server traffic reduction • neither object hit ratio nor hit ratio • measure the traffic • between proxy and clients • HP workstation x4000 • with 1GHz CPU and 1GB memory • running Linux Redhat 7.1 • simulation • a set of seven algorithms in three groups • buffering schemes • the running buffer caching and the interval caching • patching algorithms • the greedy patching, the grace patching and the optimal patching • two shared running buffer algorithms proposed in this paper
Contents • Introduction • Shared Running Buffers (SRB) Media Caching Algorithm • Performance Evaluation • Conclusion • Presenter’s Opinion
Conclusion • propose two new algorithms for efficiently delivering streaming media objects • Shared Running Buffers (SRB) caching algorithm • to dynamically cache media objects in the proxy memory • Patching SRB (PSRB) algorithm • to enhance the memory utilization in the proxy • show simulation results
Contents • Introduction • Shared Running Buffers (SRB) Media Caching Algorithm • Performance Evaluation • Conclusion • Presenter’s Opinion
Presenter’s Opinion • in the paper • Server-Proxy-Client system model • simulation VS implementation • media data characteristics • server topology • How about to study • adapt to VCR-like functions • Fast Forward, Fast Rewind, Pause, Resume and so on