← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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 04:23
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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag