Patent US5317738A successfully refreshed from Google Patents.
US5317738A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Process affinity scheduling method and apparatus
Assignee: Teradata US Inc
•
Filing: 1992-02-18
•
Granted: 1994-05-31
•
Expires: 2012-02-18
Abstract
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.
Inventors
- 👤 Arthur F. Cochcroft, Jr.
- 👤 Jimmy D. Pike
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-01 14:49
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5061; G06F9/5066; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0806; G06F12/0842
Claims Analysis
Total Claims: 10
Claim 1
Independent Claim
114 words
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.
Claim 2
Independent Claim
114 words
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.
Claim 3
Independent Claim
136 words
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.
Claim 4
Independent Claim
136 words
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.
Claim 5
Dependent Claim
23 words
An apparatus for use with a computer system according to claim 2, wherein said affinity cache means is a fully associative cache memory.
Claim 6
Dependent Claim
37 words
An apparatus for use with a computer system according to claim 2, further comprising means for storing a respective valid/invalid bit that is associated with each of the plurality of identification codes in said affinity cache means.
Claim 7
Independent Claim
155 words
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.
Claim 8
Independent Claim
155 words
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.
Claim 9
Dependent Claim
23 words
An apparatus for use with a computer system according to claim 5, wherein said affinity cache means is a fully associative cache memory.
Claim 10
Dependent Claim
37 words
An apparatus for use with a computer system according to claim 5, further comprising means for storing a respective valid/invalid bit that is associated with each of the plurality of identification codes in said affinity cache means.
References Cited (Backward Citations)
US4316245A
Cited
US4809157A
Cited
US4775955A
Cited
US5006982A
Cited
US5193168A
Cited
US5148533A
Cited
US5193172A
Cited
US5155831A
Cited
US5197139A
Cited
US5109512A
Cited
US5185861A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1997-05-30 | 1997-11-29 | 1998-05-31 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2001-05-30 | 2001-11-29 | 2002-05-31 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2005-05-30 | 2005-11-29 | 2006-05-31 | $7700.00 | Window Closed / Lapsed |