Methods and apparatus for processor task migration in a multi-processor system
First Claim
1. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of processing units coupled to and for accessing a shared memory, the method comprising:
- providing that selected processor tasks for execution and having respective priorities be copied from the shared memory to one or more of the processing units, and that each of the selected tasks is executed at one of the processing units;
providing that the processing units select processor tasks from the shared memory for execution based on the priority levels of the processor tasks;
determining a second processing unit from the plurality of the processing units except for a first processing unit of the processing units, wherein the second processing unit is executing a processor task of lowest priority and having a lower priority than a first selected processor task being executed at the first processing unit;
migrating the first selected processor task being executed at the first processing unit from the first processing unit to the second processing unit; and
after the migrating, providing that the first processing unit run a processor task having a higher priority than the migrated first selected processor task.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus are provided for executing processor tasks on a multi-processing system. The multi-processing system includes a plurality of sub-processing units and a main processing unit that may access a shared memory. Each sub-processing unit includes an on-chip local memory separate from the shared memory. The methods and apparatus contemplate: providing that the processor tasks be copied from the shared memory into the local memory of the sub-processing units in order to execute them, and prohibiting the execution of the processor tasks from the shared memory; and migrating at least one processor task from one of the sub-processing units to another of the sub-processing units.
45 Citations
53 Claims
-
1. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of processing units coupled to and for accessing a shared memory, the method comprising:
-
providing that selected processor tasks for execution and having respective priorities be copied from the shared memory to one or more of the processing units, and that each of the selected tasks is executed at one of the processing units; providing that the processing units select processor tasks from the shared memory for execution based on the priority levels of the processor tasks; determining a second processing unit from the plurality of the processing units except for a first processing unit of the processing units, wherein the second processing unit is executing a processor task of lowest priority and having a lower priority than a first selected processor task being executed at the first processing unit; migrating the first selected processor task being executed at the first processing unit from the first processing unit to the second processing unit; and after the migrating, providing that the first processing unit run a processor task having a higher priority than the migrated first selected processor task. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of processing units coupled to and for accessing a shared memory, the method comprising:
-
providing that selected processor tasks for execution and having respective priorities be copied from the shared memory to one or more of the processing units, and that each of the selected tasks is executed at one of the processing units; providing that the processing units select processor tasks from the shared memory for execution based on the priority levels of the processor tasks; determining a second processing unit from the plurality of the processing units except for a first processing unit of the processing units, wherein the second processing unit is running a processor task of lowest priority and having a lower priority than a first selected processor task running on the first processing unit; migrating the first selected processor task running on the first processing unit from the first processing unit to the second processing unit; and after the migrating, providing that the first processing unit run a processor task having a higher priority than the migrated first selected processor task. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of sub-processing units and a main processing unit coupled to and for accessing a shared memory, each sub-processing unit including an on-chip local memory separate from the shared memory, the method comprising:
-
providing that the processor tasks for execution and having respective priorities be copied from the shared memory into the local memory of the sub-processing units and that each of the tasks is executed at one of the sub-processing units, and prohibiting the execution of the processor tasks from the shared memory after the copying into the local memory of the sub-processing units; selecting a plurality of processor tasks of associated priority levels from the shared memory for execution by one or more of the sub-processing units; providing that the sub-processing units select processor tasks from the shared memory for execution based on the priority levels of the processor tasks; providing that the sub-processing units determine whether an n-th processor task in the shared memory having a given priority level has a higher priority level than any of the priority levels of the plurality of processor tasks; determining a second sub-processing unit from the plurality of the sub-processing units except for a first sub-processing unit of the sub-processing units, wherein the second sub-processing unit is executing a processor task of lowest priority and having a lower priority than a first selected processor task being executed on the first sub-processing unit; migrating the first processor task being executed at the first sub-processing unit from the first sub-processing unit to the second sub-processing unit; and after the migrating, providing that the first sub-processing unit run a processor task having a higher priority than the migrated first processor task. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of sub-processing units and a main processing unit coupled to and for accessing a shared memory, each processing unit including an on-chip local memory separate from the shared memory, the method comprising:
-
providing that the processor tasks for execution and having respective priorities be copied from the shared memory into the local memory of the sub-processing units and that each of the tasks is executed at one of the sub-processing units, and prohibiting the execution of the processor tasks from the shared memory after the copying into the local memory of the sub-processing units; providing that the sub-processing units select processor tasks from the shared memory for execution based on priority levels of the processor tasks; determining a second sub-processing unit from the plurality of the sub-processing units except for a first sub-processing unit of the sub-processing units, wherein the second sub-processing unit is executing a processor task of lowest priority and having a lower priority than a first selected processor task running on the first sub-processing unit; migrating the first selected processor task running on the first sub-processing units to the second sub-processing unit in response to an interrupt received by the first sub-processing unit; and after the migrating, providing that the first sub-processing unit runs a processor task having a higher priority than the migrated first selected processor task.
-
-
26. A multi-processor apparatus, comprising:
-
a plurality of processing units, each processing unit including local memory in which to execute processor tasks; and a shared memory operable to store processor tasks that are ready to be executed and have respective priorities, wherein; the processor tasks are copied from the shared memory into the local memory of the processing units for execution of the processor tasks by the processing units, the processing units select processor tasks from the shared memory for execution based on the priority levels of the processor tasks, and a first selected processor task being executed at a first processing unit of the processing units is migrated from the first processing unit to a second processing unit of the processing units for providing that, after the migrating, the first processing unit run a processor task having a higher priority than the migrated first selected processor task, wherein the second processing unit is determined from the plurality of the processing units except for the first processing unit, and wherein the second processing unit is executing a processor task of lowest priority and having a lower priority than the first selected processor task. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A multi-processor apparatus, comprising:
-
a plurality of sub-processing units, each sub-processing unit including an on-chip local memory and for executing processor tasks; and a shared memory operable to store processor tasks having respective priorities and that are ready to be executed, wherein; the processor tasks are copied from the shared memory into the local memory of the sub-processing units for execution by the sub-processing units, and the processor tasks are not executed from the shared memory, the sub-processing units are operable to select processor tasks from the shared memory for execution based on the priority levels of the processor tasks; and at least a first sub-processing unit of the sub-processing units is operable to migrate a first selected processor task running on the first sub-processing units to a second processing unit of the sub-processing units in response to an interrupt received by the first sub-processing unit for providing that, after the migrating, the first sub-processing unit runs a processor task having a higher priority than the migrated first selected processor task, wherein the second sub-processing unit is determined from the plurality of the sub-processing units except for the first sub-processing unit, and wherein the second processing unit is running a second processor task of lowest priority and having a lower priority than the first selected processor task. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53)
-
Specification