GFS: The Google File System Michael Siegenthaler Cornell Computer Science CS 6464 10 th March 2009.

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

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.
Distributed Filesystems: NFS and GFS Costin Raiciu Advanced Topics in Distributed Systems 18 th October, 2011 Slides courtesy of Brad Karp (UCL) and Robert.
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)
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.
CSC 456 Operating Systems Seminar Presentation (11/13/2012) Leon Weingard, Liang Xin The Google File System.
The Google File System Ghemawat, Gobioff, Leung via Kris Molendyke CSE498 WWW Search Engines LeHigh University.
CPS110: Introduction to Google Landon Cox April 10, 2008.
The Google File System Presenter: Gladon Almeida Authors: Sanjay Ghemawat Howard Gobioff Shun-Tak Leung Year: OCT’2003 Google File System14/9/2013.
The Google File System Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung
Outline for today  Administrative  Next week: Monday lecture, Friday discussion  Objective  Google File System  Paper: Award paper at SOSP in 2003.
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.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
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.
Distributed Systems GFS/HDFS.
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
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)
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:

GFS: The Google File System Michael Siegenthaler Cornell Computer Science CS th March 2009

2 Motivating Application: Search Crawl the whole web Store it all on “one big disk” Process users’ searches on “one big CPU” $$$$$ Doesn’t scale

Google Platform Characteristics Lots of cheap PCs, each with disk and CPU –High aggregate storage capacity –Spread search processing across many CPUs How to share data among PCs?

6 Google Platform Characteristics 100s to 1000s of PCs in cluster Many modes of failure for each PC: –App bugs, OS bugs –Human error –Disk failure, memory failure, net failure, power supply failure –Connector failure Monitoring, fault tolerance, auto-recovery essential

8 Google File System: Design Criteria Detect, tolerate, recover from failures automatically Large files, >= 100 MB in size Large, streaming reads (>= 1 MB in size) –Read once Large, sequential writes that append –Write once Concurrent appends by multiple clients (e.g., producer-consumer queues) –Want atomicity for appends without synchronization overhead among clients

9 GFS: Architecture One master server (state replicated on backups) Many chunk servers (100s – 1000s) –Spread across racks; intra-rack b/w greater than inter-rack –Chunk: 64 MB portion of file, identified by 64- bit, globally unique ID Many clients accessing same and different files stored on same cluster

10 GFS: Architecture (2)

Master Server Holds all metadata: –Namespace (directory hierarchy) –Access control information (per-file) –Mapping from files to chunks –Current locations of chunks (chunkservers) Delegates consistency management Garbage collects orphaned chunks Migrates chunks between chunkservers Holds all metadata in RAM; very fast operations on file system metadata

12 Chunkserver Stores 64 MB file chunks on local disk using standard Linux filesystem, each with version number and checksum Read/write requests specify chunk handle and byte range Chunks replicated on configurable number of chunkservers (default: 3) No caching of file data (beyond standard Linux buffer cache)

13 Client Issues control (metadata) requests to master server Issues data requests directly to chunkservers Caches metadata Does no caching of data –No consistency difficulties among clients –Streaming reads (read once) and append writes (write once) don’t benefit much from caching at client

14 Client API Not a filesystem in traditional sense –Not POSIX compliant –Does not use kernel VFS interface –Library that apps can link in for storage access API: –open, delete, read, write (as expected) –snapshot: quickly create copy of file –append: at least once, possibly with gaps and/or inconsistencies among clients

15 Client Read Client sends master: –read(file name, chunk index) Master’s reply: –chunk ID, chunk version number, locations of replicas Client sends “closest” chunkserver w/replica: –read(chunk ID, byte range) –“Closest” determined by IP address on simple rack- based network topology Chunkserver replies with data

16 Client Write Some chunkserver is primary for each chunk –Master grants lease to primary (typically for 60 sec.) –Leases renewed using periodic heartbeat messages between master and chunkservers Client asks master for primary and secondary replicas for each chunk Client sends data to replicas in daisy chain –Pipelined: each replica forwards as it receives –Takes advantage of full-duplex Ethernet links

17 Client Write (2)

18 Client Write (3) All replicas acknowledge data write to client Client sends write request to primary Primary assigns serial number to write request, providing ordering Primary forwards write request with same serial number to secondaries Secondaries all reply to primary after completing write Primary replies to client

19 Client Record Append Google uses large files as queues between multiple producers and consumers Same control flow as for writes, except… Client pushes data to replicas of last chunk of file Client sends request to primary Common case: request fits in current last chunk: –Primary appends data to own replica –Primary tells secondaries to do same at same byte offset in theirs –Primary replies with success to client

20 Client Record Append (2) When data won’t fit in last chunk: –Primary fills current chunk with padding –Primary instructs other replicas to do same –Primary replies to client, “retry on next chunk” If record append fails at any replica, client retries operation –So replicas of same chunk may contain different data—even duplicates of all or part of record data What guarantee does GFS provide on success? –Data written at least once in atomic unit

21 GFS: Consistency Model Changes to namespace (i.e., metadata) are atomic –Done by single master server! –Master uses log to define global total order of namespace-changing operations

22 GFS: Consistency Model (2) Changes to data are ordered as chosen by a primary –All replicas will be consistent –But multiple writes from the same client may be interleaved or overwritten by concurrent operations from other clients Record append completes at least once, at offset of GFS’s choosing –Applications must cope with possible duplicates

23 GFS: Data Mutation Consistency WriteRecord Append serial success defined defined interspersed with inconsistent concurrent success consistent but undefined failureinconsistent

24 Applications and Record Append Semantics Applications should use self-describing records and checksums when using Record Append –Reader can identify padding / record fragments If application cannot tolerate duplicated records, should include unique ID in record –Reader can use unique IDs to filter duplicates

25 Logging at Master Master has all metadata information –Lose it, and you’ve lost the filesystem! Master logs all client requests to disk sequentially Replicates log entries to remote backup servers Only replies to client after log entries safe on disk on self and backups!

26 Chunk Leases and Version Numbers If no outstanding lease when client requests write, master grants new one Chunks have version numbers –Stored on disk at master and chunkservers –Each time master grants new lease, increments version, informs all replicas Master can revoke leases –e.g., when client requests rename or snapshot of file

27 What If the Master Reboots? Replays log from disk –Recovers namespace (directory) information –Recovers file-to-chunk-ID mapping Asks chunkservers which chunks they hold –Recovers chunk-ID-to-chunkserver mapping If chunk server has older chunk, it’s stale –Chunk server down at lease renewal If chunk server has newer chunk, adopt its version number –Master may have failed while granting lease

28 What if Chunkserver Fails? Master notices missing heartbeats Master decrements count of replicas for all chunks on dead chunkserver Master re-replicates chunks missing replicas in background –Highest priority for chunks missing greatest number of replicas

29 File Deletion When client deletes file: –Master records deletion in its log –File renamed to hidden name including deletion timestamp Master scans file namespace in background: –Removes files with such names if deleted for longer than 3 days (configurable) –In-memory metadata erased Master scans chunk namespace in background: –Removes unreferenced chunks from chunkservers

Limitations Security? –Trusted environment, trusted users –But that doesn’t stop users from interfering with each other… Does not mask all forms of data corruption –Requires application-level checksum 30

31

32

33

34

35

36 (for a single file)

Recovery Time Experiment: killed 1 chunkserver –Clonings limited to 40% of the chunkservers and 50 Mbps each to limit impact on applications –All chunks restored in 23.2 min Experiment: killed 2 chunkservers –266 of 16,000 chunks reduced to single replica –Higher priority re-replication for these chunks –Achieved 2x replication within 2 min 37

38

39

40 GFS: Summary Success: used actively by Google to support search service and other applications –Availability and recoverability on cheap hardware –High throughput by decoupling control and data –Supports massive data sets and concurrent appends Semantics not transparent to apps –Must verify file contents to avoid inconsistent regions, repeated appends (at-least-once semantics) Performance not good for all apps –Assumes read-once, write-once workload (no client caching!)