Process affinity scheduling method and apparatus
AssigneeNCR Corporation
InventorsArthur F. Cochcroft, Jr., Jimmy D. Pike
Life of this patent
Estimating the term…
Abstract
Process migration is controlled in multiple processor system by a circuit providing a rapid lookup to see if an available process has any affinity for the top N entries on the system run queue. If the currently available processor has an affinity for, i.e. has one or more lines of operands and/or instructions stored in its local cache related to the process, then the processor selects the process it has affinity for from the top N processes on the run queue. In this manner, unnecessary replacements of cache lines with data from main memory is reduced.
Claims7
An apparatus for use with a computer system having a plurality of processors each having a local external cache memory, comprising:
- an affinity cache means for storing in a plurality of cache data lines identification codes that identify the most recently executed user processes;
- each of said cache data lines containing data which indicates the number of data lines occupied in the local external cache by a respective user process;
- and
- means for comparing an identification code of a ready-to-run process listed in a run queue of the computer system to each of said identification codes in said affinity cache means to determine if a user process has an affinity for an available processor.
An apparatus for use with a computer system having a plurality of processors each having a local external cache memory, comprising:
- an affinity cache means for storing in a plurality of cache data lines identification codes that identify the most recently executed user processes;
- each of said cache data lines containing data which indicates the number of data lines occupied in the local external cache by a respective user process;
- means for comparing an identification code of a ready-to-run process listed in a run queue of the computer system to each of said identification codes in said affinity cache means to determine if a user process has an affinity for an available processor;
- and
- means for associating and storing a respective kernel/user bit with each of the plurality of identification codes in said affinity cache means.
An apparatus for use with a computer system having a plurality of processors each having a local external cache memory, comprising:
- an affinity cache means for storing identification codes of a plurality of most recently executed user processes in a plurality of cache data lines thereof;
- each of said cache data lines of said affinity cache means having a counter value stored therein of a number of data lines of a user process that corresponds to a number of cache data lines that the user process occupies in the local external cache;
- means for comparing an identification code of a ready-to-run process listed in a run queue of the computer system to each of said identification codes in said affinity cache means and providing an indicator signal if said identification codes match;
- and
- means for associating and storing a respective kernel/user bit with each of the plurality of identification codes in said affinity cache means.
Dependencies are inferred from the claim text.