Page Fault Behavior and Two Prepaging
Seong-je Cho, Yookun Cho
Abstract
Seong-je Cho, Yookun Cho
Abstract
In this paper we study characteristics of page fault behavior of programs under a demand pag- ing system and propose two prepaging schemes: page premapping and page prefetching. Our studies on the page fault behavior show that a large number of page faults occur in the shared library or in the dynamic heap of programs and can be handled without disk ac- cess. For those page faults, we propose page premapping that tries to reduce page fault overhead by mapping the page(s) which will be referenced shortly in advance. Premapping is performed by page fault handler when- ever a page fault occurs and can save many page faults needed otherwise to execute programs. When a process starts to run, the pages of the text and the initialized data segments must be read from disk at every page fault. In that case the process must wait for a faulted page while it is being read. So the page faults that oc- cur at process start time exert a strong influence on its response time. For those page faults, we propose page prefetching that tries to reduce page-in delay by pre- fetching page(s) to be referenced shortly. Prefetching is effective in reducing the sleep times of processes due to disk access. Prefetching is performed asynchronously by a low priority kernel-level process. Our prepaging schemes use hints that reflect the sequence of page ref- erences and the page fault behavior of the program. Experimental results show that our prepaging schemes induce little overhead and can improve the performance of several programs significantly.
OpenAlex reports 1 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
In this paper we study characteristics of page fault behavior of programs under a demand pag- ing system and propose two prepaging schemes: page premapping and page prefetching. Our studies on the page fault behavior show that a large number of page faults occur in the shared library or in the dynamic heap of programs and can be handled without disk ac- cess. For those page faults, we propose page premapping that tries to reduce page fault overhead by mapping the page(s) which will be referenced shortly in advance. Premapping is performed by page fault handler when- ever a page fault occurs and can save many page faults needed otherwise to execute programs. When a process starts to run, the pages of the text and the initialized data segments must be read from disk at every page fault. In that case the process must wait for a faulted page while it is being read. So the page faults that oc- cur at process start time exert a strong influence on its response time. For those page faults, we propose page prefetching that tries to reduce page-in delay by pre- fetching page(s) to be referenced shortly. Prefetching is effective in reducing the sleep times of processes due to disk access. Prefetching is performed asynchronously by a low priority kernel-level process. Our prepaging schemes use hints that reflect the sequence of page ref- erences and the page fault behavior of the program. Experimental results show that our prepaging schemes induce little overhead and can improve the performance of several programs significantly.
Key concepts: Page fault, Computer science, Demand paging, Page view, Page, Web page, Process (computing), Overhead (engineering)