GFS: The Google File System
GFS: The Google File System GFS: The Google File System
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 14
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 rackbased network topology • Chunkserver replies with data 15
- Page 1 and 2: GFS: The Google File System Michael
- Page 5 and 6: Google Platform Characteristics •
- Page 8 and 9: Google File System: Design Criteria
- Page 10 and 11: GFS: Architecture (2) 10
- Page 12 and 13: Chunkserver • Stores 64 MB file c
- Page 16 and 17: Client Write • Some chunkserver i
- Page 18 and 19: Client Write (3) • All replicas a
- Page 20 and 21: Client Record Append (2) • When d
- Page 22 and 23: GFS: Consistency Model (2) • Chan
- Page 24 and 25: Applications and Record Append Sema
- Page 26 and 27: Chunk Leases and Version Numbers
- Page 28 and 29: What if Chunkserver Fails? • Mast
- Page 30: Limitations • Security? - Trusted
- Page 37: Recovery Time • Experiment: kille
Client Read<br />
• Client sends master:<br />
– read(file name, chunk index)<br />
• Master’s reply:<br />
– chunk ID, chunk version number, locations of replicas<br />
• Client sends “closest” chunkserver w/replica:<br />
– read(chunk ID, byte range)<br />
– “Closest” determined by IP address on simple rackbased<br />
network topology<br />
• Chunkserver replies with data<br />
15