Friday, January 25, 2013

Serverless Network File Systems (xFS)

by T. Anderson et al., SOSP 1995

Abstract:
In this paper, we propose a new paradigm for network file system design, serverless network file systems. While traditional network file systems rely on a central server machine, a serverless system utilizes workstations cooperating as peers to provide all file system services. Any machine in the system can store, cache, or control any block of data. Our approach uses this location independence, in combination with fast local area networks, to provide better performance and scalability than traditional file systems. Further, because any machine in the system can assume the responsibilities of a failed component, our serverless design also provides high availability via redundant data storage. To demonstrate our approach, we have implemented a prototype serverless network file system called xFS. Preliminary performance measurements suggest that our architecture achieves its goal of scalability. For instance, in a 32-node xFS system with 32 active clients, each client receives nearly as much read or write throughput as it would see if it were the only active client.

Link to the full paper:
http://www.cse.buffalo.edu/faculty/tkosar/cse710_spring13/papers/xfs.pdf

10 comments:

  1. It is said that xFS uses single parity disk striping and in the future the RAID single parity disk striping will be replaced with multiple parity blocks. Can you please tell if this is implemented in the later versions and how are disks distributed?

    ReplyDelete
  2. Does the location of the manager for a particular file matter within the cluster?

    ReplyDelete
  3. Can we extend this design to use RAID 10 which provides more reliability?

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. What prevents xFS to be implemented in Wide Area networks? Also, is there any possibility of having disk-less clients in Server-less File system?

    ReplyDelete
  6. It is mentioned that at the time of writing the paper, XFS was meant only for systems that could trust each other for parallel and distributed jobs(With uniform system administration and security across the systems). Though NFS can be used in untrusted cases, due to loose coupling, the authors were not able to use the NFS clients' resources fully. Has this restriction been overcome now with the current version of XFS?

    ReplyDelete
  7. In the cache consistency scheme the xfs follows, when client-A is in middle of a write to a file, and client-B requests ownership of the file, how is this be handled? My understanding is, client-A should stop writing and handover the ownership to client-B. Why was this design chosen rather than asking client-B to wait till client-A relinquishes the ownership or granting ownership for only a specific amount of time?

    ReplyDelete
  8. In the cache consistency mechansim, if a client that has write access for a file, suddenly drops out of the network due to network failure, would it end up loosing its write privilege and its update discarded upon rejoining the network?

    ReplyDelete
  9. It says - xFS globally replicates the manager map to all manager and client. So in case of failure of any manager, how all other manager get notified about it. Is that any single manager look for all is fine, or All manager look all is fine? (How they updated their map in case of failure)

    ReplyDelete
  10. When xFS reads a block, how long does it take for the managers to send data to the client by requesting the index block from the storage server ? How efficient is this process?

    ReplyDelete