Patent · US Expired

Affinity scheduling of processes on symmetric multiprocessing systems

US5506987A · kind A · utility

151Cited by
11References
24Claims
0Family size

Assignee

Inventors

Key dates

Filing dateMar 24, 1994
Grant dateApr 9, 1996
Priority date
Expiry dateMar 24, 2014

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F9/5033
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

A method of scheduling processes on a symmetric multiprocessing system that maintains process-to-CPU affinity without introducing excessive idle time is disclosed. When a new process is assigned, the process is identified as young and small, given a migtick value and assigned to a specific CPU. If the priority of a process placed on a run queue is above a threshold, the high priority count of the assigned CPU is incremented. At predetermined clock intervals, an interrupt occurs that causes the migtick value of running processes to be decremented. Then each CPU is tested to determine if its high priority count is greater than zero. CPUs having high priority counts greater than zero are tested to determine if any processes having a priority greater than the priority of the running process are assigned. If higher priority processes are assigned to a CPU having assigned processes lying above the threshold, a context switch takes place that results in the higher priority process being run. At regular intervals, a migration deamon is run to load balance the multiprocessor system. First, a large/small process threshold is determined. Then processes whose migtick values are below a migtick…

Source: USPTO / EPO open patent data. Objective bibliographic and citation counts.