Adaptive memory management method for coupled memory multiprocessor systems
Patent 5269013 Issued on December 7, 1993. Estimated Expiration Date: March 20, 2011. Estimated Expiration Date is calculated based on simple USPTO term provisions. It does not account for terminal disclaimers, term adjustments, failure to pay maintenance fees, or other factors which might affect the term of a patent.
An adaptive memory management method for coupled memory multiprocessor computer systems is disclosed. In a coupled memory multiprocessor system all the data and stack pages of processes assigned to individual multiprocessors are, preferably, located in a memory region coupled to the assigned processor. When this becomes impossible, some data and stack pages are assigned to global memory or memory regions coupled to other processors. The present invention is a method of making certain that the most referenced data and stack pages are located in the coupled memory of the processor to which a specific process is assigned and lesser referenced pages are located in global memory or the coupled memory region of other processors. This result is accomplished by sampling the memory references made by the processors of the computer system and causing the most recently referenced pages in each coupled memory region to be maintained at the head of an active page list. References to remote data and stack pages are stored in a remote page hash table. Remote pages are pages stored in global memory or in coupled memory other than the coupled memory of the processor to which the process owning the pages is assigned. Any remote data and stack pages referenced more frequently than pages stored in a processor's coupled memory region are transferred to the processor's coupled memory region. If a processor's coupled memory region is tight, pages are transferred from the processor's coupled memory region to global memory or to the coupled memory region of another processor.
Other References
William J. Bolosky and Michael L. Scott, "Simple But Effective Techniques for NUMA Memory Management," University of Rochester, Rochester, N.Y., Mar. 1989
Alan L. Cox and Robert J. Fowler, "The Implementation of a Coherent Memory Abstraction on a NUMA Multiprocessor: Experiences with Platinum" (Revised), University of Rochester, Rochester, N.Y., May 6, 1989
Ming-Chit Tam, Jonathan M. Smith and David J. Farber, "A Taxonomy-Based Comparison of Several Distributed Shared Memory Systems," University of Pennsylvania, Philadelphia, Pa., May 15, 1990
Robert H. Thomas and Will Crowther, "The Uniform System: An approach to runtime support for large scale shared memory parallel processors," Cambridge, Mas