Preparation for Recitation on GFS
Read the GFS paper here.
GFS is a system that replicates files across machines. It's meant for an environment where lots of users are writing to the files, the files are really big, and failures are common. Section 2-4 of the paper describe the design of GFS, Section 5 discusses how GFS handles failures, and Sections 6-7 detail their evaluation and real-world usage of GFS.
To check whether you understand the design of GFS, you should be able to answer the following questions: What is the role of the controller? How does a read work? How does a write work?
As you read, think about:
- Why does GFS use a large chunk size?
- What happens if a replica in GFS fails?
- What happens if the controller fails?
- In the lecture before this, you'll hear about a system called RAID. Could we use a RAID-like parity scheme, but in a wide area? What would the challenges be?
Question for Recitation
Before you come to this recitation, you'll turn in a brief answer to the following questions (really—we don't need more than a sentence or so for each question). Your TA will be in touch about exactly how to turn that in.
Your answers to these questions should be in your own words, not direct quotations from the paper.
- What assumptions does GFS rely on?
- How does it exploit those assumptions? Why does it need them?
- What sort of data do you think Google stores in GFS (as in, what's in the files)? Who uses that data?