Usage Aware NUMA Process Scheduling
First Claim
1. A method comprising:
- operating a computer system comprising a plurality of processor groups and a plurality of memory banks, each of said processor groups having a corresponding one of said memory banks;
while operating said computer system, receiving a first process comprising instructions that operate on a first memory object;
identifying a first memory bank containing said first memory object;
selecting a first processor being contained in a first processor group, said first processor group corresponding to said first memory bank; and
executing said first process on said first processor.
2 Assignments
0 Petitions
Accused Products
Abstract
Processes may be assigned to specific processors when memory objects consumed by the processes are located in memory banks closely associated with the processors. When assigning processes to threads operating in a multiple processor NUMA architecture system, an analysis of the memory objects accessed by a process may identify processor or group of processors that may minimize the memory access time of the process. The selection may take into account the connections between memory banks and processors to identify the shortest communication path between the memory objects and the process. The processes may be pre-identified as functional processes that make little or no changes to memory objects other than information passed to or from the processes.
69 Citations
20 Claims
-
1. A method comprising:
-
operating a computer system comprising a plurality of processor groups and a plurality of memory banks, each of said processor groups having a corresponding one of said memory banks; while operating said computer system, receiving a first process comprising instructions that operate on a first memory object; identifying a first memory bank containing said first memory object; selecting a first processor being contained in a first processor group, said first processor group corresponding to said first memory bank; and executing said first process on said first processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system comprising:
-
a plurality of processors, each of said processors belonging to one of a plurality of processor groups; a plurality of memory banks, each of said memory banks being assigned to one of said processor groups; a process scheduler that; receives a first process comprising instructions that operate on a first memory object; identifies a first memory bank containing said first memory object; selects a first processor being contained in a first processor group, said first processor group corresponding to said first memory bank; and executes said first process on said first processor. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification