Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
First Claim
1. A method of process assignment in a multiprocessor system having non-uniform memory access storage architecture, the multiprocessor system having multiple interconnected multiprocessing nodes and a main storage distributed among the multiprocessing nodes, wherein each multiprocessing node contains one or more processors and a local main memory, the method comprising the steps of:
- dynamically reserving a pool of memory space within the main storage during operation of said multiprocessor system;
allocating the reserved pool of memory space to one or more multiprocessing nodes among the multiple multiprocessing nodes; and
following allocation of said reserved pool of memory space to said one or more multiprocessing nodes, assigning a process associated with the pool of memory space to a multiprocessing node allocated that pool of memory space such that accesses to local main memory are increased and system performance is enhanced.
1 Assignment
0 Petitions
Accused Products
Abstract
According to the present invention, pool allocation and process assignment mechanisms create process nodal affinity in a NUMA multiprocessor system for enhanced performance. The multiprocessor system includes multiple interconnected multiprocessing nodes that each contain one or more processors and a local main memory, the system main storage being distributed among the local main memories of the multiprocessing nodes in a NUMA architecture. A pool reservation mechanism reserves pools of memory space within the logical main storage, and the pool allocation mechanism allocates those pools to real pages in the local main-memory of multiprocessing nodes. Processes to be created on the multiprocessor are given an attribute that indicates an associated pool. Upon creation, the process assignment mechanism will only assign a process to a multiprocessing node that has been allocated the pool indicated by the process'"'"' attribute. This process nodal affinity increases accesses by the assigned process to local main storage of that node, thereby enhancing system performance.
-
Citations
22 Claims
-
1. A method of process assignment in a multiprocessor system having non-uniform memory access storage architecture, the multiprocessor system having multiple interconnected multiprocessing nodes and a main storage distributed among the multiprocessing nodes, wherein each multiprocessing node contains one or more processors and a local main memory, the method comprising the steps of:
-
dynamically reserving a pool of memory space within the main storage during operation of said multiprocessor system; allocating the reserved pool of memory space to one or more multiprocessing nodes among the multiple multiprocessing nodes; and following allocation of said reserved pool of memory space to said one or more multiprocessing nodes, assigning a process associated with the pool of memory space to a multiprocessing node allocated that pool of memory space such that accesses to local main memory are increased and system performance is enhanced. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A multiprocessor system of non-uniform memory access storage architecture, the multiprocessor system comprising:
-
a plurality of interconnected multiprocessing nodes, wherein each multiprocessing node among the plurality of multiprocessing nodes contains one or more processors and a local main memory; main storage distributed among the multiprocessing nodes in a non-uniform memory access storage architecture such that the main storage includes the local main memories of the plurality of interconnected multiprocessing nodes, and wherein each local main memory is accessible by each processor among the plurality of interconnected multiprocessing nodes; a pool reservation mechanism that dynamically reserves one or more pools of memory space within the main storage during operation of the multiprocessor system; a pool allocation mechanism that allocates a reserved pool of memory space to one or more multiprocessing nodes among the plurality of interconnected multiprocessing nodes; and a process assignment mechanism that, following allocation of said reserved pool of memory space to said one or more multiprocessing nodes, assigns a process associated with said reserved pool of memory space to a multiprocessing node allocated that pool of memory space. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A program product providing process assignment in a multiprocessor system having non-uniform memory access storage architecture, wherein the multiprocessor system has multiple interconnected multiprocessing nodes, each multiprocessing node containing one or more processors and a local main memory, and a main storage distributed among the local main memories, the program product comprising:
-
a pool reservation mechanism that dynamically reserves one or more pools of memory space within the main storage during operation of the multiprocessor system; a pool allocation mechanism that allocates a reserved pool of memory space to one or more multiprocessing nodes among the plurality of interconnected multiprocessing nodes; a process assignment mechanism that, following allocation of said reserved pool of memory space to said one or more multiprocessing nodes, assigns is a process associated with said reserved pool of memory space to a multiprocessing node allocated that pool of memory space; and signal bearing media bearing the pool reservation mechanism, the pool allocation mechanism, and the process assignment mechanism. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
Specification