Method of fast file page replacement for sequential and synchronous file I/O
Original Publication Date: 2005-Mar-11
Included in the Prior Art Database: 2005-Mar-11
Presented is a method to reduce the performance impact of page replacement in certain workloads through the use of multiple page lists.
Method of fast file page replacement for sequential and synchronous file I /O
Disclosed is a method to reduce the performance impact of page replacement in workloads that consist of sequential or synchronous file activity (database and Network File System (NFS) server for example). A known method to address this issue is the release-behind algorithm that free file pages once they have been processed by the application. This method however does not support synchronous file I/O and reduces the maximum throughput for sequential I/O. The core idea is to maintain multiple page lists in the Virtual Memory Manager (VMM) that contain all file pages created in memory to cache data from pages accessed through sequential and synchronous file access. The page list consist of a 'fast steal', 'medium fast steal, and 'slow steal' from which the page replacement algorithm can steal pages immediately without performing additional overhead in finding a candidate to steal, as it is in the case with a typical least recent used page replacement algorithm.
The first list, the 'fast steal' list, contains all cached file pages created through sequential or synchronous file access and that have been copied into an user application buffer through the read system call or those pages that were read into memory by either the page read ahead algorithm or through a synchronous read system call, or written to disk through the sequential write behind algorithm or a synchronous write. When the page replacement algorithm starts to steal file pages, it will...