Abstract
The ability to cache and buffer file data within an operating
system (OS) page cache is a key performance optimization that has been the
standard for more than four decades. An OS can seamlessly fetch pages into
memory from backing storage when necessary as they are read or written to by a
process. The same key design is also implemented in networked file systems
whereby a client issues page fetches over the network to a remote filer server.
Unfortunately a drawback of this design is that processes are blocked by the OS
during the page fetch step. Recent findings have shown that the page fetch step
is avoidable in cases where a write to a page is not available in the page
cache. This advancement allows the OS to buffer the data temporarily written
elsewhere in memory and unblocks the process immediately. FIU inventors have been able to separate the page fetch policy
from the page fetch mechanism and develop non-blocking reads to pages that are
not in the file system cache if the data being referenced has been recently
written. This design and its executions address the correctness concerns for
non-blocking writes with respect to the durability, ordering, and consistency
semantics for file system operations. Performance evaluations revealed: Throughput performance improvements of up to 45.5x across workload types when non-blocking writes were usedNon-blocking writes reduced write operation latencies by as much as 65 to 79%The overhead introduced by non-blocking writes is negligible with little or no loss of performance when workloads cannot benefit from non-blocking writesIn addition this design provides a starting point for similar implementations in multiple OSs, while also opening up avenues for future developments and enhancements
Benefit
Makes page fetches asynchronous and reduce process blockingCan increase page fetch parallelismDo not compromise system correctness and application ordering semantics for data write/readsDo not compromise application and system recovery
Market Application
Most industries that rely heavily on computers for everyday functions such as governments, corporations, academic institutions
Brochure