A Pausable File System

Author(s)/Presenter(s):
Library Content Type:
Publish Date: 
Monday, September 21, 2015
Event Name: 
Focus Areas:
Abstract: 

As storage developers we are all obsessed with speed. This talk gives a different take on speed – how slow can we go? Can we even stop? If so for how long? The talk will also analyze why this is interesting, and demonstrate that the file system interface – and the way all software depends upon it – is one of the most powerful abstractions in operating systems.

The presenter will use his own implementation of an SMB3 server (running in user mode on Windows) to demonstrate the effects of marking messages as asynchronously handled and then delaying responses – in order to build up a complete understanding of the semantics offered by a pausable file system.

This exploration of the semantics of slow responses will demonstrate that researching slowing down can bear as much fruit as speeding up!

Learning Objectives

Understanding The Inversion of Control design pattern and how it can be applied to an implementation of a file server.
Exploring how the file system interface can be seen as a contract and that the semantics of that contract can be exploited for innovative uses.
Demonstrating that implementing a fairly small subset of SMB3 as a server is enough to conduct research in file systems.