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 that may access a shared memory, the method comprising:
- providing that selected processor tasks be copied from the shared memory and executed by one or more of the processing units; and
migrating at least one processor task from one of the processing units to another of the processing units.
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.
117 Citations
55 Claims
-
1. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of processing units that may access a shared memory, the method comprising:
-
providing that selected processor tasks be copied from the shared memory and executed by one or more of the processing units; and
migrating at least one processor task from one of the processing units to another of the processing units. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of executing processor tasks on a multi-processing system, the multi-processing system including a plurality of processing units that may access a shared memory, the method comprising:
-
providing that selected processor tasks be copied from the shared memory and executed by one or more of the processing units;
providing that the processing units select processor tasks from the shared memory for execution based on priority levels of the processor tasks; and
providing that a processor task of lower priority running on one of the processing units may be preemptively replaced with a processor task of higher priority. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. 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 that may access 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 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;
selecting a plurality of processor tasks of associated priority levels from the shared memory for execution by a number of sub-processing units;
providing that the sub-processing units may determine whether an n-th processor task in the shared memory having a given priority level is higher than any of the priority levels of the plurality of processor tasks. - View Dependent Claims (22, 23, 24, 25)
-
-
26. 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 that may access 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 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;
providing that the sub-processing units select processor tasks from the shared memory for execution based on priority levels of the processor tasks; and
migrating a processor task of higher priority running on a given one of the sub-processing units to another of the sub-processing units running a processor task of lower priority in response to an interrupt received by the given sub-processing unit.
-
-
27. 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, wherein;
the processor tasks are copied from the shared memory into the local memory of the processing units to execute them, and at least one processor task is migrated from one of the processing units to another of the processing units. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A multi-processor apparatus, comprising:
-
a plurality of sub-processing units, each sub-processing unit including an on-chip local memory in which to execute processor tasks; and
a shared memory operable to store processor tasks 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 in order to execute them, 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 priority levels of the processor tasks; and
at least one of the sub-processing units is operable to migrate a processor task of higher priority running on a given one of the sub-processing units to another of the sub-processing units running a processor task of lower priority in response to an interrupt received by the given sub-processing unit. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
Specification