Operating system designers attempt to keep high CPU utilization by maintaining an optimal level (MPL). Although running more processes makes it less likely to leave the CPU , too many processes adversely incur serious memory competition, and even introduce thrashing, which lowers CPU utilization. A common practice to address the problem is to lower the MPL with the of process swapping out/in operations. This approach is expensive and is only used when the system serious thrashing. The objective of our study is to provide highly responsive and cost-effective protection by adaptively conducting priority page replacement in a timely manner. We have a dynamic system Thrashing Protection Facility (TPF) in the system kernel. Once TPF detects thrashing, one of the active processes will be identified for protection. The identified process will a short period of privilege in which it does not contribute its least recently used (LRU) pages for so that the process can quickly establish its working set, improving the CPU utilization. With the of TPF, thrashing can be eliminated in its early stage by adaptive page replacement, so that process will be avoided or delayed until it is truly necessary. We have implemented TPF in a current representative Linux kernel running on an Intel Pentium machine. Compared with the original Linux replacement, we show that TPF consistently and significantly reduces page faults and the execution of each individual job in several groups of interacting SPEC CPU2000 programs. We also show that introduces little additional overhead to program executions, and its implementation in Linux (or Unix) is straightforward.
No takes yet. Share an insight, caveat, or question.
Jiang et al. (2002) studied this question.
Synapse has enriched 5 related papers. Consider them for comparative context: