How Yahoo! use to serve millions of videos from its video library.

Slides:



Advertisements
Similar presentations
Finding a needle in Haystack Facebook’s Photo Storage
Advertisements

Background Virtual memory – separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution. Logical.
Class-constrained Packing Problems with Application to Storage Management in Multimedia Systems Tami Tamir Department of Computer Science The Technion.
Digital Library Service – An overview Introduction System Architecture Components and their functionalities Experimental Results.
File Processing - Indirect Address Translation MVNC1 Hashing Indirect Address Translation Chapter 11.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
Web Caching Schemes1 A Survey of Web Caching Schemes for the Internet Jia Wang.
Scalable Resource Information Service for Computational Grids Nian-Feng Tzeng Center for Advanced Computer Studies University of Louisiana at Lafayette.
P2P: Advanced Topics Filesystems over DHTs and P2P research Vyas Sekar.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Google Bigtable A Distributed Storage System for Structured Data Hadi Salimi, Distributed Systems Laboratory, School of Computer Engineering, Iran University.
Topics in Reliable Distributed Systems Fall Dr. Idit Keidar.
Implementing ISA Server Caching. Caching Overview ISA Server supports caching as a way to improve the speed of retrieving information from the Internet.
Proteus: Power Proportional Memory Cache Cluster in Data Centers Shen Li, Shiguang Wang, Fan Yang, Shaohan Hu, Fatemeh Saremi, Tarek Abdelzaher.
Wide-area cooperative storage with CFS
File Management Chapter 12.
CS4432: Database Systems II
The Operating System The operation system (OS) is a set of programs that coordinates: Hardware functions Interaction between application software and computer.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
File Systems (1). Readings r Silbershatz et al: 10.1,10.2,
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
Lecture 21 Last lecture Today’s lecture Cache Memory Virtual memory
1 Physical Data Organization and Indexing Lecture 14.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Network Aware Resource Allocation in Distributed Clouds.
Distributed File Systems
HBase A column-centered database 1. Overview An Apache project Influenced by Google’s BigTable Built on Hadoop ▫A distributed file system ▫Supports Map-Reduce.
Most modern operating systems incorporate these five components.
EXPOSE GOOGLE APP ENGINE AS TASKTRACKER NODES AND DATA NODES.
Google’s Big Table 1 Source: Chang et al., 2006: Bigtable: A Distributed Storage System for Structured Data.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Introduction to DFS. Distributed File Systems A file system whose clients, servers and storage devices are dispersed among the machines of a distributed.
File Management Chapter 12. File Management File management system is considered part of the operating system Input to applications is by means of a file.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Reporter : Yu Shing Li 1.  Introduction  Querying and update in the cloud  Multi-dimensional index R-Tree and KD-tree Basic Structure Pruning Irrelevant.
Hashing Hashing is another method for sorting and searching data.
CE Operating Systems Lecture 17 File systems – interface and implementation.
CS333 Intro to Operating Systems Jonathan Walpole.
 Introduction  Architecture NameNode, DataNodes, HDFS Client, CheckpointNode, BackupNode, Snapshots  File I/O Operations and Replica Management File.
Bigtable: A Distributed Storage System for Structured Data
Bigtable: A Distributed Storage System for Structured Data Google Inc. OSDI 2006.
External fragmentation in a paging system Use paging circuitry to map groups of noncontiguous free pages into logically contiguous addresses (remap your.
System Models Advanced Operating Systems Nael Abu-halaweh.
File-System Management
Memory Management.
Jonathan Walpole Computer Science Portland State University
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
Indexing and hashing.
Distributed File Systems
Chapter 9: Virtual Memory
Finding a Needle in Haystack : Facebook’s Photo storage
Auburn University COMP7330/7336 Advanced Parallel and Distributed Computing MapReduce - Introduction Dr. Xiao Qin Auburn.
File System Implementation
(slides by Nick Feamster)
Google Filesystem Some slides taken from Alan Sussman.
Accessing nearby copies of replicated objects
O.S Lecture 13 Virtual Memory.
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 8 11/24/2018.
Edge computing (1) Content Distribution Networks
Computer Architecture
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 12/1/2018.
EECS 498 Introduction to Distributed Systems Fall 2017
Introduction to Data Structures
Memory Management Lectures notes from the text supplement by Siberschatz and Galvin Modified by B.Ramamurthy Chapter 9 4/5/2019.
Chapter 11: Indexing and Hashing
CSE 542: Operating Systems
Virtual Memory 1 1.
Presentation transcript:

How Yahoo! use to serve millions of videos from its video library. 2011 USENIX Best Paper: Semantics of Caching with SPOCA: A Stateless, Proportional, Optimally-Consistent Addressing Algorithm By Chawla et al.

Hint for Question 1a in Assignment? Image taken from Tim Roughgarden Notes

Image taken from chawla et al. Data Growth Image taken from chawla et al.

The Scale The Yahoo! Video Platform has a library of over 20,000,000 video assets. From this library, end users make about 30,000,000 requests per day for over 800,000 unique videos, which creates a low ratio of total requests to unique requests. Also, videos are large, a typical front-end server can hold only 500 unique videos in memory and 100,000 unique videos on disk. The low ratio of total/unique requests combined with the large size of video files make it difficult to achieve a high percentage of cache hits.

Requirements Stateless Addressing: Servers are added and deleted and content should automatically route to the sever id given the video filename. Efficiency: Request Router must recalculate the destination server on every request Heterogeneous pool of server: Server capacities are different. Each sever 𝑖 has capacity 𝑐 𝑖 and the load must be balanced in proportion to the loads of the server.

Last Class: Consistent hashing. Hash both machines and objects in the same range. To assign object x, compute ℎ 𝑖 (x) and then traverse right until you find the first machine’s hash ℎ 𝑚 (𝑌). Assign x to Y. Image taken from Tim Roughgarden Notes

What happens when servers are added/deleted? They all share the load. We only have to move data from one of the servers instead of all with traditional hashing! Image taken from Tim Roughgarden Notes

Search time? Can do log(n) Use Binary Search trees. Put allocated index of serves in a binary search tree. Update as needed. Given h(x) find its successor in log(n) time.

Image taken from chawla et al. Issues 1: Domino Effect Image taken from chawla et al.

Issue 2: No Proportional Distribution Image taken from chawla et al.

Can modify consistent hashing to achieve this? Create multiple copies in proportion to the capacity of the machines and hash. Solves most of the problems in chawla et al. Image taken from Tim Roughgarden Notes

Image taken from chawla et al. The Solution proposed Create a sparse address space and allocate a contiguous space of the size equal to the capacity of server. The address space size should be roughly twice the total size for easily allocation and deallocation For hashing vid1, keep hashing until reach a valid address of server and assign. So h(vid1), h(h(vid1)), etc. Image taken from chawla et al.

Image taken from chawla et al. The Solution proposed For hashing vid1, keep hashing until reach a valid address of server and assign. So h(vid1), h(h(vid1)), etc. The SPOCA routing function uses a hash function to map names to a point in a hash space. Input = the name of the requested content Output = the server that will handle the request. Re-hashing happens till the result maps to a valid hash space. Image taken from chawla et al.

Image taken from chawla et al. Server Down Image taken from chawla et al.

Image taken from chawla et al. Server addition Image taken from chawla et al.

Expected Search time? Probability that hash lands in empty space = ½ Expected number of hash to land in valid space ? Expected value = 2 (instead of log n with consistent hashing) Sharp tails so decays exponentially!!

Handling Popularity: Zebra System For popular content we need to route requests to multiple front-end servers. Bloom Filters to identify popular content. But over time anything will be popular.

Image taken from chawla et al. Multiple Bloom Filter Image taken from chawla et al.

Image taken from chawla et al. Multiple Bloom Filter Image taken from chawla et al.

Image taken from chawla et al. Multiple Bloom Filter Image taken from chawla et al.

Image taken from chawla et al. Multiple Bloom Filter Image taken from chawla et al.

Identifying popularity Image taken from chawla et al.

Solution to Popularity Zebra determines which serving cluster will handle a given request based on geolocality and popularity. SPOCA determines which front-end server within that cluster will cache and serve the request Store the hashed address of any requested content for a brief popularity window. (150 seconds was used in the case) When the popularity window expires, the stored hash for each object is discarded.

Results: What after deployment Image taken from Tim Roughgarden Notes

Results: After Deployment

Impact More than $350 million dollars in unnecessary equipment (filer costs, rack space etc) alone can be saved in five-year period of running with SPOCA. In addition to the substantial savings in filer costs, the hidden cost savings included Power savings for running the equipment's and data center utilizations.