Table of Contents
Non-blocking Writes
Authors
Abstract
Writing data to a page not present in the file-system page cache causes the operating system to synchronously fetch the page into memory before it can be written into. {\em Synchronous} page fetch defines both policy (when) and mechanism (how). However, its read-before-write behavior blocks the writing process. Non-blocking writes eliminate such blocking by buffering the written data elsewhere in memory and unblocking the writing process immediately. Subsequent reads to the updated page locations are also made non-blocking. This new handling of writes to non-cached pages allow processes to overlap more computation with I/O and improves page fetch I/O throughput by increasing fetch parallelism.
Publications
- Non-blocking Writes to Files pdf
Daniel Campello, Hector Lopez, Luis Useche, Ricardo Koller, and Raju Rangaswami
Proceedings of USENIX File and Storage Technologies (FAST), February, 2015.
Public Software
Acknowledgement of Support
This work is supported in part by the National Science Foundation under grant CNS-1320426 and by a NetApp Faculty Fellowship.