CSE 221: Homework 3
Due: Tuesday, March 10, 2009 at 3:30pm in class
- [Snoeren] A reliability-induced synchronous write is a
synchronous write that is issued by the file system to ensure that the
file system's state (as represented by the system's metadata) is not
left inconsistent if the system crashes at an embarrassing time.
- Let f be a new file created in a directory d. The
file system will issue at least three disk operations to complete this
operation. Ignoring any data blocks allocated for the directory or
new file, what are these three disk operations for?
- In Unix FFS, at least two of these writes will be issued
synchronously. Which are they, and what order should they be
performed in? Briefly explain why.
- Consider the Soft Updates solution to this problem. Does it do
any reliability-induced synchronous writes? If so, how does it differ
from FFS? If not, why can it avoid doing so? Explain.
- Consider the same operation in LFS. Does LFS generate any
reliability-induced synchronous writes? Explain.
- Consider the same operation with the Rio file cache. Does Rio
generate any reliability-induced synchronous writes? Explain.
- In 1999, Wang et al. proposed a disk drive architecture
supporting a service called "eager write". Rather than update a block
in place, as with normal disks, an eager writing disk simply writes to
the next free block near the disk head (the disk internally keeps
track of this mapping by maintaining a table mapping "logical" disk
blocks to physical disk blocks). Argue whether using such a disk
would improve the performance of a Log-Structured File System, hurt
its performance, or make little difference.