Patent · US Expired

Real time thread dispatcher for multiprocessor applications

US5826081A · kind A · utility

147Cited by
2References
17Claims
0Family size

Assignee

Inventor

Key dates

Filing dateMay 6, 1996
Grant dateOct 20, 1998
Priority date
Expiry dateMay 6, 2016

Classification

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

Abstract

The present invention provides a process scheduler or dispatcher for a multiprocessor system for real time applications. This embodiment of the present invention proposes a dispatcher model that maintains a dispatch queue for each processor and a separate global dispatch queue for unbound higher priority real time threads. A processor has its own queue and a dispatcher. Each queue has a separate schedule lock associated with it to protect scheduling operations. A processor's dispatcher selects a thread for execution from one of the queues in the system as a candidate thread to execute. When a candidate thread is selected for execution, the processor proceeds to verify against threads in the global real time queue and the processor's own dispatch queue to select a highest priority runnable thread in the system. Thus, the present invention allows the dispatcher to prevent race conditions and minimize lock contention while assuring that high-priority threads are dispatched as quickly as possible. The present invention is implemented by a synchronization between the operations of dispatching a thread and making a thread runnable.

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