Patent · US Expired

Apparatus for minimizing lock contention in a multiple processor system with multiple run queues when determining the threads priorities

US6981260B2 · kind B2 · utility

29Cited by
27References
34Claims
0Family size

Assignee

Inventors

Key dates

Filing dateJun 5, 2003
Grant dateDec 27, 2005
Priority date
Expiry dateOct 18, 2023

Classification

  • Technology area (CPC G)Physics
  • CPC primaryG06F2209/483
  • WIPO fieldComputer technology
  • WIPO sectorElectrical engineering

Abstract

Apparatus and methods are provided for selecting a thread to dispatch in a multiple processor system having a global run queue associated with each multiple processor node and having a local run queue associated with each processor. If the global run queue and the local run queue associated with the processor performing the dispatch are both not empty, then the highest priority queue is selected for dispatch, as determined by examining the queues without obtaining a lock. If one of the two queues is empty and the other queue is not empty, then the non-empty queue is selected for dispatch. If the global queue is selected for dispatch but a lock on the global queue cannot be obtained immediately, then the local queue is selected for dispatch. If both queues are empty, then an idle load balancing operation is performed. Local run queues for other processors at the same node are examining without obtaining a lock. If a candidate thread is found that satisfies a set of shift conditions, and if a lock can be obtained on both the non-local run queue and the candidate thread, then the thread is shifted for dispatch by the processor that is about to become idle.

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