Application-controlled physical memory using external page-cache management
ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
Adaptive page replacement based on memory reference behavior
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
PRS '97 Proceedings of the IEEE symposium on Parallel rendering
EELRU: simple and effective adaptive page replacement
SIGMETRICS '99 Proceedings of the 1999 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Principles of Optimal Page Replacement
Journal of the ACM (JACM)
Cache-optimal methods for bit-reversals
SC '99 Proceedings of the 1999 ACM/IEEE conference on Supercomputing
ACM Computing Surveys (CSUR)
A study of storage partitioning using a mathematical model of locality
Communications of the ACM
Demand paging through utilization of working sets onr the MANIAC II
Communications of the ACM
The working set model for program behavior
Communications of the ACM
Improving memory performance of sorting algorithms
Journal of Experimental Algorithmics (JEA)
SIGMETRICS '02 Proceedings of the 2002 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Linux Kernel Internals with Cdrom
Linux Kernel Internals with Cdrom
TPF: a dynamic system thrashing protection facility
Software—Practice & Experience
IPDPS '03 Proceedings of the 17th International Symposium on Parallel and Distributed Processing
Thrashing: its causes and prevention
AFIPS '68 (Fall, part I) Proceedings of the December 9-11, 1968, fall joint computer conference, part I
Redline: first class support for interactivity in commodity operating systems
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Swap fairness for thrashing mitigation
ECSA'13 Proceedings of the 7th European conference on Software Architecture
Hi-index | 0.00 |
Most computer systems use a global page replacement policy based on the LRU principle to approximately select a Least Recently Used page for a replacement in the entire user memory space. During execution interactions, a memory page can be marked as LRU even when its program is conducting page faults. We define the LRU pages under such a condition as false LRU pages because these LRU pages are not produced by program memory reference delays, which is inconsistent with the LRU principle. False LRU pages can significantly increase page faults, even cause system thrashing. This poses a more serious risk in a large parallel systems with distributed memories because of the existence of coordination among processes running on individual node. In the case, the process thrashing in a single node or a small number of nodes could severely affect other nodes running coordinating processes, even crash the whole system. In this paper, we focus on how to improve the page replacement algorithm running on one node. After a careful study on characterizing the memory usage and the thrashing behaviors in the multi-programming system using LRU replacement. we propose an LRU replacement alternative, called token-ordered LRU, to eliminate or reduce the unnecessary page faults by effectively ordering and scheduling memory space allocations. Compared with traditional thrashing protection mechanisms such as load control, our policy allows more processes to keep running to support synchronous distributed process computing. We have implemented the token-ordered LRU algorithm in a Linux kernel to show its effectiveness.