Among the most reliable and fault tolerant components in a distributed system are storage systems. Obviously, reliability of storage systems belongs to the most researched issues in distributed computing. Every distributed file system project is based on different assumptions about size, load, amount of sharing, and desirable semantics, making it hard to compare research results fairly. The current Amoeba file server is the Bullet File Server [van Renesse, Tanenbaum, and Wilschut, 1989] which provides immutable files, is optimized for whole-file transfer and does caching at the file server. It has excellent performance for reading cached files (1.5 + 1.5 n ms for n kilobytes) and for sustained file I/O (680 kilobytes per second, both on read and write). Although performance is excellent, there is room for improvement, especially in the area of fault tolerance, sharing semantics and caching. I am currently doing the back-of-the-envelope design for a new file server that will form the basis of both our normal file system and of a complex-object server which is being designed by the database group at CWI. In addition to those desirable properties of fault tolerance, persistency, consistency, and availability, I am anxious to achieve even better performance than the Bullet server by extensive use of client and server caching.This position paper presents some of our design ideas. Note that this is work in progress; that the design is only just starting and that an implementation of a design will not start for another six months or so.
4th Workshop on ACM SIGOPS European Workshop, EW
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Mullender, S.J. (1990). Combining high performance and fault tolerance in a distributed file server. In Proceedings of the 4th Workshop on ACM SIGOPS European Workshop, EW 1990. doi:10.1145/504136.504165