December 18, 2013
Asynchronous file writes form one of the cornerstones of high-performance file systems. They speed up application performance by enabling processes to continue execution while the write is committed to storage in the background. Current local file systems and network (NFS) clients and servers suffer from a problem in that they block process execution when a file page that is being partially written into is not found in the buffer cache. The process remains blocked until the page is fetched from storage into memory. Workloads with a significant write component can thus experience a noticeable slowdown.This project will develop a new approach for making asynchronous file writes non-blocking under all system conditions and at all points in the storage stack, including local storage as well as client and server end-points of network storage. These non-blocking writes will sever the last remaining link coupling asynchronous write operations and blocking page fetches.