EP0064142A2

Multiprocessor system comprising a task handling arrangement.

Abstract

The task handling arrangement is provided in a multiprocessor system in which each processor (5) includes a task dispatcher and a signal dispatcher. The signal dispatcher runs in a processor whenever a task dispatching element (TDE) is put on the task dispatching queue (TDQ) as a result of the task running in the processor. The signal dispatcher examines the TDEs enqueued on the TDQ and determines if any task dispatcher should be invoked, i.e. if any processor is running a lower priority task a task switch should occur. If so, it signals the selected processor to invoke its task dispatcher. After completing the task switch, the selected processor must invoke its signal dispatcher to determine if the task it had been performing should now be performed on some other processor in the multiprocessor system.

EP0064142A2, drawing sheet 1
Sheet 1 of 28

Term

Term ended

Projected expiry passed 9 March 2002, 24.5 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

6 claims: 3 independent, 3 dependent

  1. 1
    Task handling arrangement for a multiprocessor computer system including at least two processors sharing a common main storage containing a task dispatching queue adapted to have task dispatching elements enqueued in priority sequence, each processor having a task dispatcher for dispatching task dispatching elements from said task dispatching queue and for performing task switches when the associated processor is processing a task dispatching element having a priority lower than the priority of a waiting dispatchable task dispatching element on said task dispatching queue, each processor having an enqueueing mechanism for returning waiting non-dispatchable task dispatching elements to said task dispatching queue, said arrangement being characterized in that it comprises :a signal dispatcher for each processor for scanning the priorities of task dispatching elements on said task dispatching queue and signaling another processor to operate its task dispatcher upon finding a task dispatching element on said task dispatching queue having a priority higher than the priority of the task dispatching element being processed by the processor to be signaled, said signal dispatcher being rendered operable in response to said enqueueing mechanism of the associated processor enqueueing a task dispatching element on said task dispatching queue.
  2. 4
    Arrangement according to any one of claims 1, 2 or 3 wherein said processor signaled to operate its task dispatcher, to perform a task switch, operates its signal dispatcher upon completing said task switch.
  3. 5
    Arrangement according to any one of the preceding claims further comprising locking means selectively operable for locking access to said main storage, unlocking means selectively operable for unlocking access to said main storage, each of said task dispatchers, said signals dispatchers and said enqueueing mechanisms including means for selectively operating said locking and said unlocking means.