User Tools

Site Tools


Non-blocking Writes



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.


  • 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.

projects/nbw/start.txt · Last modified: m/d/Y H:i by jdaniel