Method, system and computer program product for managing memory in a non-uniform memory access system
AssigneeSilicon Graphics, Inc.
InventorLuis F. Stevens
Life of this patent
Estimating the term…
Loading patent…
AssigneeSilicon Graphics, Inc.
InventorLuis F. Stevens
Estimating the term…
A memory management and control system that is selectable at the application level by an application programmer is provided. The memory management and control system is based on the use of policy modules. Policy modules are used to specify and control different aspects of memory operations in NUMA computer systems, including how memory is managed for processes running in NUMA computer systems. Preferably, each policy module comprises a plurality of methods that are used to control a variety of memory operations. Such memory operations typically include initial memory placement, memory page size, a migration policy, a replication policy and a paging policy. One method typically contained in policy modules is an initial placement policy. Placement policies may be based on two abstractions of physical memory nodes. These two abstractions are referred to herein as “Memory Locality Domains” (MLDs) and “Memory Locality Domain Sets” (MLDSETs). By specifying MLDs and MLDSETs, rather than physical memory nodes, application programs can be executed on different computer systems regardless of the particular node configuration and physical node topology employed by the system. Further, such application programs can be run on different machines without the need for code modification and/or re-compiling.
A method for allocating memory for one or more threads within an application program running on a distributed shared memory multi-node computer system, the application program having a virtual address space comprising one or more sections, the method comprising the steps of:
A system for allocating memory for one or more threads within an application program running on a distributed shared memory multi-node computer system, the application program having a virtual address space comprising one or more sections, the system comprising:
A computer program product comprising a computer useable medium having computer program logic stored therein, the computer program logic enables at least one processor to allocate memory for one or more threads within an application program running on a distributed shared memory multi-node computer system, the application program having a virtual address space comprising one or more sections, wherein said computer program logic comprises:
A method for allocating memory for one or more threads within an application program running on a distributed shared memory multi-node computer system, the application program having a virtual address space comprising one or more sections, the method comprising the steps of:
A system for allocating memory for one or more threads within an application program running on a distributed shared memory multi-node computer system, the application program having a virtual address space comprising one or more sections, the system comprising:
A computer program product comprising a computer useable medium having computer program logic stored therein, the computer program logic enables at least one processor to allocate memory for one or more threads within an application program running on a distributed shared memory multi-node computer system, the application program having a virtual address space comprising one or more sections, wherein said computer program logic comprises:
An operating system comprising:
Dependencies are inferred from the claim text.