NASD, GoogleFS, Farsite
Readings
Garth A. Gibson et al., "A Cost-Effective, High-Bandwidth Storage Architecture" (1998)
Sanjay Ghemawat et al., "The Google File System" (2003)
William J. Bolosky et al., "The Farsite Project: A Retrospective" (2007)
Questions
- What were the target environments for these filesystems? How did these environments shape their assumptions?
- What are the key ideas behind each filesystem?
- What are the strengths and weaknesses of each design?
- What are the strengths and weaknesses of each implementation?
- Which system is best suited for today's Internet? How about tomorrow's?
Questions for NASD
- Is giving direct access between client and drive a good idea?
- Are there substantial advantages in storing variable-length objects over fixed-sized blocks?
- Is putting the filesystem on the drive a good idea? Should more control and awareness be given to hardware devices?
- What are the strengths and weaknesses of the capability-based cryptography which NASD makes use of?
Questions for GoogleFS
- How does the Google file system implement security?
- Doesn't
- Is using a central server (point of access) a good design decision?
-It certainly works -Makes administration easier -As long as redundant and fast, why bother with the hassle of synchronization?
- Is removing random writes a good idea?
-They didn't actually remove it, but it is horribly inneficient -BigTable specifically reduces the instances of random write and implements a way to append the same information
- Is the speedup attained by GFS's record-append method worth the sacrifice of Application overhead?
-Needing to manage duplication yourself -Guaranteed access to specific offsets, which helps consistency, though wastes space
Questions for Farsite
- Byzantine fault tolerance?
- How similar and different compared to OceanStore?
- What's up with the file lease mechanism?
Questions for Farsite retrospective
- If using different programming methods... how does this file-system work given different programming models
- Details of Byzantine fault tolerance