The Google File System Presenter: Gladon Almeida Authors: Sanjay Ghemawat Howard Gobioff Shun-Tak Leung Year: OCT’2003 Google File System14/9/2013.

Slides:



Advertisements
Similar presentations
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung SOSP 2003 Presented by Wenhao Xu University of British Columbia.
Advertisements

Question Scalability vs Elasticity What is the difference?
Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung
The google file system Cs 595 Lecture 9.
THE GOOGLE FILE SYSTEM CS 595 LECTURE 8 3/2/2015.
G O O G L E F I L E S Y S T E M 陳 仕融 黃 振凱 林 佑恩 Z 1.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google Jaehyun Han 1.
The Google File System Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani 1CS5204 – Operating Systems.
GFS: The Google File System Brad Karp UCL Computer Science CS Z03 / th October, 2006.
NFS, AFS, GFS Yunji Zhong. Distributed File Systems Support access to files on remote servers Must support concurrency – Make varying guarantees about.
The Google File System (GFS). Introduction Special Assumptions Consistency Model System Design System Interactions Fault Tolerance (Results)
Google File System 1Arun Sundaram – Operating Systems.
Lecture 6 – Google File System (GFS) CSE 490h – Introduction to Distributed Computing, Winter 2008 Except as otherwise noted, the content of this presentation.
The Google File System. Why? Google has lots of data –Cannot fit in traditional file system –Spans hundreds (thousands) of servers connected to (tens.
The Google File System and Map Reduce. The Team Pat Crane Tyler Flaherty Paul Gibler Aaron Holroyd Katy Levinson Rob Martin Pat McAnneny Konstantin Naryshkin.
1 The File System Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung (Google)
GFS: The Google File System Michael Siegenthaler Cornell Computer Science CS th March 2009.
Large Scale Sharing GFS and PAST Mahesh Balakrishnan.
The Google File System.
Google File System.
Northwestern University 2007 Winter – EECS 443 Advanced Operating Systems The Google File System S. Ghemawat, H. Gobioff and S-T. Leung, The Google File.
Case Study - GFS.
Google Distributed System and Hadoop Lakshmi Thyagarajan.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google∗
1 The Google File System Reporter: You-Wei Zhang.
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung
The Google File System Ghemawat, Gobioff, Leung via Kris Molendyke CSE498 WWW Search Engines LeHigh University.
Homework 1 Installing the open source cloud Eucalyptus Groups Will need two machines – machine to help with installation and machine on which to install.
The Google File System Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
CENG334 Introduction to Operating Systems Erol Sahin Dept of Computer Eng. Middle East Technical University Ankara, TURKEY Network File System Except as.
Presenters: Rezan Amiri Sahar Delroshan
The Google File System by S. Ghemawat, H. Gobioff, and S-T. Leung CSCI 485 lecture by Shahram Ghandeharizadeh Computer Science Department University of.
GFS : Google File System Ömer Faruk İnce Fatih University - Computer Engineering Cloud Computing
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture The Metadata Consistency Model File Mutation.
GFS. Google r Servers are a mix of commodity machines and machines specifically designed for Google m Not necessarily the fastest m Purchases are based.
HADOOP DISTRIBUTED FILE SYSTEM HDFS Reliability Based on “The Hadoop Distributed File System” K. Shvachko et al., MSST 2010 Michael Tsitrin 26/05/13.
EE324 DISTRIBUTED SYSTEMS FALL 2015 Google File System.
Presenter: Seikwon KAIST The Google File System 【 Ghemawat, Gobioff, Leung 】
Eduardo Gutarra Velez. Outline Distributed Filesystems Motivation Google Filesystem Architecture Chunkservers Master Consistency Model File Mutation Garbage.
Google File System Robert Nishihara. What is GFS? Distributed filesystem for large-scale distributed applications.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Lecture 24: GFS.
Google File System Sanjay Ghemwat, Howard Gobioff, Shun-Tak Leung Vijay Reddy Mara Radhika Malladi.
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Presenter: Chao-Han Tsai (Some slides adapted from the Google’s series lectures)
GFS: The Google File System Brad Karp UCL Computer Science CS GZ03 / M th October, 2008.
Dr. Zahoor Tanoli COMSATS Attock 1.  Motivation  Assumptions  Architecture  Implementation  Current Status  Measurements  Benefits/Limitations.
1 CMPT 431© A. Fedorova Google File System A real massive distributed file system Hundreds of servers and clients –The largest cluster has >1000 storage.
Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
Cloud Computing Platform as a Service The Google Filesystem
File and Storage Systems: The Google File System
Google File System.
GFS.
The Google File System (GFS)
Google Filesystem Some slides taken from Alan Sussman.
Google File System CSE 454 From paper by Ghemawat, Gobioff & Leung.
Gregory Kesden, CSE-291 (Storage Systems) Fall 2017
Gregory Kesden, CSE-291 (Cloud Computing) Fall 2016
The Google File System Sanjay Ghemawat, Howard Gobioff and Shun-Tak Leung Google Presented by Jiamin Huang EECS 582 – W16.
The Google File System (GFS)
Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Google Vijay Kumar
The Google File System (GFS)
The Google File System (GFS)
The Google File System (GFS)
The Google File System (GFS)
THE GOOGLE FILE SYSTEM.
by Mikael Bjerga & Arne Lange
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Google SOSP’03, October 19–22, 2003, New York, USA Hyeon-Gyu Lee, and Yeong-Jae.
The Google File System (GFS)
Presentation transcript:

The Google File System Presenter: Gladon Almeida Authors: Sanjay Ghemawat Howard Gobioff Shun-Tak Leung Year: OCT’2003 Google File System14/9/2013

Key Design Considerations  Component failures are the norm rather than the exception.  Files are huge by traditional standards.  Most files are mutated by appending new data rather than overwriting existing data.  Co-designing the applications and the file system API. Google File System2 4/9/2013

Assumptions  Inexpensive commodity hardware that often fail.  Modest number of large files(typically ~100MB) will be stored. Small files supported but not optimized for.  Large streaming read / small random reads  Large sequential write that append data to files  System must efficiently implement well-defined- semantics for multiple clients that concurrently append to the same file  High sustained bandwidth is more important than low latency Google File System3 4/9/2013

Architecture  Single master and multiple chunk servers  Each is a typical commodity Linux machine running a user level server process  Files are divided into fixed sized chunks each of which is identified by a globally unique 64-bit chunk handle  Typically 3 replica’s of each chuck spread over different chunk servers  Master maintains all file system metadata  Namespace  Access control information  Mapping from files to chunks  Current locations of chunk  Master also control system-wide activities like:  Lease management  Garbage collection of orphaned chunks  Chunk migration between chunk servers  Periodic handshake messages with chunk servers  GFS client code uses this file system API to communicate with Master and chunk servers Google File System4 4/9/2013

Architecture Figure: GFS Architecture Google File System54/9/2013

Design Overview  Chuck Size (64MB - Large)  Reduces client-master interactions  Reduces network overhead  Reduces size of metadata on the master.  Metadata:  Namespace and file-to-chunk mappings persistent storage as mutation logs on master (as well as remote locations)  Operation Logs:  Historical record of critical metadata changes  Defines the order of concurrent operations  Critical:  Replication on multiple remote machines  Changes are 1 st made persistent on local as well as remote location and then made visible to client.  Fast recovery: (1 minute for few million files)  Replay operation logs  Checkpoints (B-tree like form) Google File System64/9/2013

Consistency Model  Consistent region: If all the clients will always see the same data, regardless of which replicas they read from.  Defined region: After a file data mutation if it is consistent and clients will see what the mutation writes in its entirety. Google File System7 4/9/2013

Consistency Model – contd.  After a sequence of successful mutations, the mutated is guaranteed to be defined by: 1. Applying mutations to all replicas in the same order 2. Using chunk version number to detect any replica that becomes stale  What if client caches stale chunk location?  Such window limited by the cache entry’s timeout  Most files are append-only – Stale replica returns a premature end of chunk rather than outdated data Google File System 8 4/9/2013

System Interactions: Leases and Mutation order  Leases: used to maintain a consistent mutation order across replicas.  Lease is granted by the master to one of the replicas called the primary  The primary picks a serial order for all mutations to the chunk.  Initial timeout of lease of 60 sec which can be extended  Extension requests piggybacked on heartbeat messages between master and chunk server Google File System9 4/9/2013

Control and Data flow for a write Google File System 10 4/9/2013

Decoupling of Data and Control Flow  Control flow:  Master -> Client -> Primary Chunk -> Secondary Chunks  Data flow:  Decoupled from control flow to use the network efficiently  Data pushed linearly in pipeline fashion  Each machine forwards data to the closest machine (Determined by the IP address)  Outbound b/w is fully utilized (No tree structure)  Switched networks and full-duplex links Google File System11 4/9/2013

Atomic Record Appends (record append)  Concurrent serializable appends  Client specifies only data (No offset)  GFS uses append-at-least-once-atomically policy  GFS appends the data and returns the offset to the client  Heavily used:  Multiple-producer / Single-Consumer queues  Concurrent merged results from many different clients  If failure, the client retries the operation  GFS doesn’t guarantee that each chunk is byte-wise identical, it only guarantees that data is written at least once as an atomic unit.  Successful operations: Defined regions  Intervening regions: Undefined regions Google File System12 4/9/2013

Snapshots  Why ?  Makes copy of a file or directory almost instantaneously  Copy-on-write technique  Steps when a snapshot request is received: 1. Revoke nay outstanding leases 2. Log the operation to the disk 3. Duplicate the metadata for source file / directory tree  When write request to these chucks is received  Notices that reference count is greater than 1  Creates copy of chunk locally  Informs other replicas to do the same  Returns new chunk handle Google File System13 4/9/2013

Master Operations - Namespace Management and Locking  No per-directory data structure  No support for aliases  lookup table mapping full path names to metadata  Each node in namespace tree (file/directory) has associated read/write lock  Why locks ?  Example: to lock /d1/d2/d3/leaf for write  Example: How mechanism prevents a file /home/user/foo from being created while /home/user is being snapshotted to /save/user  Snapshot:  Read locks on /home, /save  Write locks on /home/user, /save/user  Create:  Read lock on /home, /home/user  Write lock on /home/user/foo Google File System14 4/9/2013

Policies:  Chunk replica replacement: 1. Maximize data reliability and availability 2. Maximize network bandwidth utilization 3. Spread replicas across machine as well as racks  New chunk creation: 1. New replicas created on below-average disk utilization 2. Limit the number of “recent” creations on each chunk server 3. spread replicas of a chunk across racks  Re-replication:  soon as the number of available replicas falls below a user-specified goal. Priority considering: 1. How far from replication goal? 2. Is chunk blocking client? 3. Is file live?  Occasionally rebalance replicas Google File System15 4/9/2013

Garbage Collection  Lazy garbage collection  Steps: 1. Log the deletion immediately 2. Rename file to hidden name (Deleted in 3 days) 3. During regular scans remove the such hidden files  Master’s regular scans of chunk namespace  Identify orphaned chunks and erase metadata  During heartbeat message exchange this info with the chunk servers  Chunk servers delete these chunks  Stale replica detection:  Using version numbers Google File System16 4/9/2013

Fault Tolerance:  High Availability:  Fast recovery: Servers designed to restart fast.  Chunk Replication:  Different replication levels for different parts on namespace  Default level = 3  Master Replication:  Operation log and checkpoint replicated remotely  Master process externally monitored.  On failure new process started using remotely saved checkpoint and logs  Use of canonical names  Shadow Masters  Data Integrity:  chunk broken into 64 KB blocks. Each has 32 bit checksum.  Chunk server verifies before returning – Hence, no error propagation Google File System17 4/9/2013

Relating it to CSCI-572 !  GFS led to development of Hadoop Distributed File System  HDFS ideal for large workloads which can use the Map- Reduce framework for high degree of parallelism using commodity hardware.  Ideal for search engine workloads like:  Crawling,  Generating inverted index,  PageRank calculation, etc.  Other:  Large-scale machine learning problems  Clustering problems  Large scale graph computation 4/9/2013 Google File System18

Pros and Cons  Pros:  Assumptions at the beginning of the paper are later backed up by experiment results.  Very important paper: Led to development of Hadoop Distributed File System (HDFS).  Cons:  Only talks about workloads which are sequential reads and file appends. GFS is not suitable for random read/writes.  The authors don’t provide any performance results for random read/writes 4/9/2013 Google File System19

Conclusion:  GFS supports large-scale data processing workloads in commodity hardware  Design decisions specific to Google's needs but many may apply to data processing tasks of a similar magnitude and cost consciousness.  Component failures are the norm rather than exception  Optimization priority: 1. Concurrent appends 2. Read  Fault tolerance by monitoring, replication and fast recovery  High aggregate throughput to many concurrent readers Google File System20 4/9/2013