EP0343646A2

Task execution control method for a multiprocessor system with enhanced post/wait procedure.

Abstract

Task execution control for a multiprocessor wherein at a time point when a post issue task ends the use of a shared resource, the shared resource is released, another task which is running on another processor is allowed to lock the shared resource, and thereafter the task is made ready. After that, the post procedure is initiated, and thereafter through the high-­speed dispatch procedure, the processor is granted first to a task which has failed to lock the shared resource, and the task is prompted to retry to lock the shared resource.

EP0343646A2, drawing sheet 1
Sheet 1 of 17

Term

Term ended

Projected expiry passed 24 May 2009, 17.3 years ago.

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

8 claims: 4 independent, 4 dependent

  1. 1
    A task execution control method for a multi­processor system comprising the steps of:(a) trying by a task, running on one of multiple processors, to lock a shared by tasks resource, when the task intends to use the resource;(b) keeping running the task if the task has locked said shared resource successfully;(c) suspending execution of the task and placing the task in a state of waiting availability of said shared resource, if the task has failed to lock the shared resource;(d) transiting a task, in a state of waiting availability of the shared resource to a state of waiting availability of a processor when said task, ceases to use the shared resource after locking thereof;and (e) selecting a task from among tasks in a state waiting availability of a processor and running the selected task on one of the multiple processors, when a task running on the one processor terminates execution thereof or is suspended;wherein said method further comprising the steps of: (f) releasing the shared resource so that other running task can lock the shared resource, when a running task (task 1) ends use of the shared resource and a task (task 2) in a state waiting availability of the shared resource is transited to a state waiting availability of processor wait state;and (g) task (2) retrying by the task 2 to lock the shared resource, when the task 2 runs on one of the multiple processors.
  2. 4
    A task execution control method for a multi­processor system comprising the steps of:(a) trying by a task, running on one of multiple processors to lock a shared by tasks resource, when the task intends to use the resource;(b) keeping running the task if the task has locked said shared resource successfully;(c) suspending execution of the task and placing the task in a state of waiting availability of said shared resource, if the task has failed to lock the shared resource;(d) transiting a task, in a state of waiting availability of the shared resource to a state of wait­ing availability of a processor when said task, ceases to use the shared resource after locking thereof;and (e) selecting a task from among tasks in a state waiting availability of a processor and running the selected task on one of the multiple processors, when a task running on the one processor terminates execution thereof or is suspended;wherein said method further comprising the steps of: (f) suspending execution of a running task (task 1), when task 1 the ceases to the shared resource and a task (task 2) in a state of waiting availability of the shared resource is brought a state waiting availability of a processor;and (g) executing said task 2 with priority on one of the processor on which said task 1 has been running.
  3. 5
    A task execution control method for a multi­processor system comprising the steps of:(a) trying by a task, running on one of multiple processors to lock a shared by tasks resource, when the task intends to use the resource;(b) keeping running the task if the task has locked said shared resource successfully;(c) suspending execution of the task and placing the task in a state of waiting availability of said shared resource, if the task has failed to lock the shared resource;(d) transiting a task, in a state of waiting availability of the shared resource to a state of waiting availability of a processor when said task, ceases to use the shared resource after locking thereof;and (e) selecting a task from among tasks in a state waiting availability of a processor and running the selected task on one of the multiple processors, when a task running on the one processor terminates execution thereof or is suspended;wherein said method further comprising the steps of: (f) altering an original execution priority rank of a task to a higher rank if the task has failed to lock the shared resource, and, thereafter, transiting said task to a state waiting availability of the resource;(g) selecting a task to be run from among tasks in a state waiting availability of a processor in accord­ance with the execution priority ranks of the tasks;and (h) restoring the execution priority rank of said task having an altered execution priority rank to an original rank if the task is selected to run after locking the shared resource.
  4. 6
    A task execution control method for a multiprocessor system comprising the steps of:(a) trying by a task, running on one of multiple processors to lock a shared by tasks resource, when the task intends to use the resource;(b) keeping running the task if the task has locked said shared resource successfully;(c) suspending execution of the task and placing the task in a state of waiting availability of said shared resource, if the task has failed to lock the shared resource;(d) transiting a task, in a state of waiting availability of the shared resource to a state of wait­ing availability of a processor when said task, ceases to use the shared resource after locking thereof;and (e) selecting a task from among tasks in a state waiting availability of a processor and running the selected task on one of the multiple processors, when a task running on the one processor terminates execution thereof or is suspended;wherein said method further comprising the steps of: (f) when a task (task 1) locking the shared resource ceases to use the shared resource, altering an execution priority rank of a task (task 2) in a state waiting availability of the shared resource to a higher rank and, thereafter, transiting said task 2 to a state waiting availability of a processor;(g) selecting a task to be run from among tasks in a state waiting availability of a processor in accord­ance with the execution priority ranks of the tasks;and (h) restoring the execution priority rank of said task 2 having an altered execution priority rank to an original rank if the task 2 is selected to run after locking the shared resource.