Back-to-Basics Weekend Reading: An Implementation of a Log-Structured File System
This weekend I am travelling to Australia for the first AWS Summit of 2017. I find on such a long trip, to keep me from getting distracted, I need an exciting paper that is easy to read. Last week’s ‘Deep Learning’ overview would have not met those requirements.
One topic that always gets me excited is how to take computer science research and implement it in production systems. There are often so many obstacles that we do not see much of this work happening. For example when building Dynamo, where we put a collection of different research technologies together in production, we struggled with all the assumptions the researchers had made. At times, it makes research unsuitable for production (e.g. real systems do not fail by stopping in a nice and clean way).
In the early nineties, Mendel Rosenblum and John Ousterhout had made a major breakthrough in the design of file systems with “The Design and Implementation of a Log-Structured File System.” That alone is an interesting paper to read, but this weekend we will be looking at the actual implementation of an LFS by Margo Seltzer and other members of the BSD team.
It is one of the first papers to describe the implementation of a research system, and measure the result within a production system. I hope you will also enjoy it!
“An implementation of a log-structured file system for UNIX.”, Margo Seltzer, Keith Bostic, Marshall Kirk Mckusick, and Carl Staelin. 1993, In Proceedings of the USENIX Winter 1993 Conference Proceedings on USENIX Winter 1993 Conference Proceedings (USENIX'93). USENIX Association, Berkeley, CA, USA, 3-3.