b) As we discussed in class, with large-scale systems, it is possible for nodes to fail or the network to fail making availability and consistence For reliability we want a specific number copies of the data (called a quorum). There are several choices for how to handle network partitions that occur in between datacenters (given below). For each of these choices, say i) if it violates consistency (and why), and give an example of what bad things might happen. a. Allow all partitions to process both reads and writes. b. Allow all partitions to process reads, but only one special partition (pre- chosen) to process writes. c. Allow only the partition which has at least a quorum number of servers (measured across all datacenters) to execute writes. d. Until partitions are repaired, allow only reads but no writes. e. Allow only partitions with a quorum of servers (measured across all datacenters) to execute writes and reads.
7 Question 6: Network File System Network File System (NFS). Sun’s Network File System (NFS) makes serv er crash recovery simple by handling failures in a uniform and simple way. (a) When a client issues a request and fails to get a response, it simply waits a while and tries again. What are the different cases where the client won’t get a reply back from the server? (b) What property of each protocol request is needed for it to be OK to keep retrying a request? (c) Sometimes not all requests in NFS have the property described in the question above. For example, consider NFS Create(pfid, filename), which creates the file filename in the directory referred to by pfid, if the file doesn’t already exist. If it does exist, the request returns an error. What odd thing can happen upon retry of this request? (d) Caching plays a major role in achieving reasonable NFS performance. On the client side, writes can be buffered for a while before flushing them to the server upon close (i.e., when the file is closed, the client file system will flush all of its dirty blocks to the server). Can a block be written to the server before the file is closed? Describe. (e) Now consider an NFS server. Each NFS Write() request must be written to stable storage (e.g., a disk) before replying to the client. Why is that? (f) Because each request must be written to stable storage before replying, some companies put a flash-based cache in the server to absorb those writes. Estimate what the possible performance impact of such a cache is on write performance, making whatever assumptions you need.
You've reached the end of your free preview.
Want to read all 7 pages?
- Fall '14
- Star schema, Snowflake schema, Network File System, network file, reasonable NFS performance