IP Library Granted Patent US 9,170,841
Granted Patent B2
US 9,170,841 · App. 13/718,670 · Granted Oct 27, 2015

Multiprocessor system for comparing execution order of tasks to a failure pattern

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,170,841
App. No.
13/718,670
Granted
Oct 27, 2015
Kind
B2
Abstract

A multiprocessor system includes a plurality of processors, each including a task scheduler that determines a task execution order of tasks in a task set to be executed by the processors within a task period which is defined as a period in repeated execution of the task sets; and a scheduler management device having a command unit configured to issue a command for at least one of the task schedulers to change the task execution order, wherein each of the at least one of the task schedulers, when receiving the command from the command unit, changes the task execution order of the corresponding processor.

Claims (60)

1. A multiprocessor system configured to repeatedly execute task sets that each include a plurality of tasks, the multiprocessor system comprising:

a plurality of processors, each including a task scheduler configured to determine a task execution order of the tasks included in a corresponding one of the task sets that is to be executed by a corresponding one of the processors within a task period which is defined as a time period in repeated execution of the task sets to be executed by the processors; and

a scheduler management device having a command unit configured to issue a command for causing at least one of the task schedulers included in the plurality of processors to change the task execution order of the at least one of the task schedulers,

wherein each of the at least one of the task schedulers is configured to change the task execution order of the at least one of the task schedulers in response to the command issued by the command unit, the task execution order of the at least one of the task schedulers being composed of the tasks included in the corresponding one of the task sets that is to be executed by the corresponding one of the processors including the at least one of the task schedulers, and

wherein the scheduler management device is configured to:

compare first information regarding a task execution order of tasks included in a task set on which task set processing, which is processing for one repetition in the repeated execution of the task sets, is not completed within the task period, and second information regarding the task execution order determined by each task scheduler included in the plurality of processors, the first information being stored in the scheduler management device; and

when the first information and the second information match each other, issue a command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers.

2. The multiprocessor system according to claim 1 ,

wherein the scheduler management device further includes a task comparison unit and a failure pattern storage unit,

wherein the failure pattern storage unit is configured to store, as a failure pattern, information including (i) the first information and (ii) information regarding a processor ID of the corresponding one of the processors which executes the tasks in the corresponding one of the task sets and the task period,

wherein the at least one of the task schedulers is configured to notify the task comparison unit of periodic scheduling information which includes (i) the task execution order of the tasks included in the corresponding one of the task sets to be executed by the corresponding one of the processors including the at least one of the task schedulers, (ii) the processor ID of the corresponding one of the processors including the at least one of the task schedulers, and (iii) the task period,

wherein the task comparison unit is configured to determine whether or not the periodic scheduling information matches the failure pattern by comparing the periodic scheduling information with the failure pattern, and

wherein, when the periodic scheduling information matches the failure pattern, the command unit is configured to issue the command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers, the command being included in the periodic scheduling information.

3. The multiprocessor system according to claim 1 ,

wherein the scheduler management device is configured to determine whether or not a task set processing is completed within the task period, the task set processing being performed on one of the tasks included in the corresponding one of the task sets and completed last, and

wherein, when the scheduler management device determines that the task set processing is not completed within the task period, the command unit is configured to issue the command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers.

4. The multiprocessor system according to claim 1 ,

wherein the scheduler management device further includes a task period counter, a completed task storage unit, and a failure determination unit,

wherein each of the processors is configured to notify the scheduler management device of task identification information of one of the tasks on which the task set processing is completed, the task set processing being processing for one repetition in the repeated execution,

wherein the completed task storage unit is configured to store the task identification information of the one of the tasks on which the task set processing is completed,

wherein the task period counter is configured to count a number of cycles after the processors start execution of the corresponding task sets,

wherein the failure determination unit is configured to determine whether or not a failure task is present which is not stored in the completed task storage unit at a moment when the number of cycles exceeds the number of cycles corresponding to the task period, the failure task being one of the tasks in one of the task sets, and

wherein, when the failure determination unit determines that at least the failure task is present, the command unit is configured to issue the command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers.

5. The multiprocessor system according to claim 4 ,

wherein the command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers contains task identification information of at least the failure task, and

wherein the at least one of the task schedulers is configured to change the task execution order of the at least one of the task schedulers, so that a task corresponding to the task identification information has an execution priority lower than an execution priority of another task to be executed by one of the processors which is configured to execute the task corresponding to the task identification information.

6. The multiprocessor system according to claim 5 , further comprising:

a shared bus having a bus controller; and

a shared resource in which the processors are configured to write information via the shared bus,

wherein the bus controller includes a holding unit configured to hold task identification information of two or more confliction tasks which are write operations scheduled to be performed on the shared resource by two or more of the processors on overlapping time periods, and

wherein the command unit includes, in the command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers, the task identification information of the confliction tasks held in the holding unit, the confliction tasks each being the failure task.

7. The multiprocessor system according to claim 6 ,

wherein the shared resource is either a shared memory or an input/output interface.

8. The multiprocessor system according to claim 4 ,

wherein the scheduler management device further includes a failure pattern storage unit and a task comparison unit,

wherein, in a case where the failure determination unit determines that a failure task is included in an executed task set, the scheduler management device is configured to store, in the failure pattern storage unit, as a failure pattern, information including a task execution order of tasks included in the executed task set, a processor ID of the corresponding one of the processors which executes the tasks in the corresponding one of the task sets, and a task period which are included in the corresponding one of the task sets,

wherein the at least one of the task schedulers is configured to notify the task comparison unit of periodic scheduling information which includes the task execution order of the tasks included in the corresponding one of the task sets to be executed by the corresponding one of the processors including the at least one of the task schedulers, the processor ID of the corresponding one of the processors, and the task period,

wherein the task comparison unit is configured to determine whether or not the periodic scheduling information matches the failure pattern by comparing the periodic scheduling information with the failure pattern, and

wherein, when the periodic scheduling information matches the failure pattern, the command unit is configured to issue the command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers, the command being included in the periodic scheduling information.

9. The multiprocessor system according to claim 4 ,

wherein the task period counter is a register.

10. The multiprocessor system according to claim 1 ,

wherein the command unit is configured to issue the command for causing the at least one of the task schedulers to make a schedule change including a change of the task execution order of the at least one of the task schedulers, and

wherein each of the at least one of the task schedulers is configured to change a remaining task execution time of the corresponding one of the processors, in response to the command to make the schedule change issued by the command unit.

11. The multiprocessor system according to claim 1 ,

wherein each of the processors has a time counter configured to send a remaining task execution time to the at least one of the task schedulers,

wherein the command unit is configured to issue the command for causing the at least one of the task schedulers to make a schedule change including a change of the task execution order of the at least one of the task schedulers, and

wherein each of the at least one of the task schedulers is configured to change a remaining task execution time of a corresponding one of the time counters, in response to the command to make the schedule change issued by the command unit.

12. A system Large-Scale Integrated circuit (LSI) configured to repeatedly execute task sets that each include a plurality of tasks, the system LSI comprising:

a multiprocessor system;

an external data input/output unit;

an external storage connection unit; and an external control device connection unit which are connected to the multiprocessor system via a system bus,

wherein the multiprocessor system includes a plurality of processors, each including a task scheduler configured to determine a task execution order of the tasks included in a corresponding one of the task sets that is to be executed by a corresponding one of the processors within a task period which is defined as a time period in repeated execution of the task sets to be executed by the processors;

wherein the multiprocessor system includes:

a scheduler management device having a command unit configured to issue a command for causing at least one of the task schedulers included in the plurality of the processors to change the task execution order of the at least one of the task schedulers,

wherein each of the at least one of the task schedulers is configured to change the task execution order of the at least one of the task schedulers in response to the command issued by the command unit, the task execution order of the at least one of the task schedulers being composed of the tasks included in the corresponding one of the task sets to be executed by the corresponding one of the processors including the at least one of the task schedulers, and

wherein the scheduler management device is configured to:

compare first information regarding a task execution order of tasks included in a task set on which task set processing, which is processing for one repetition in the repeated execution of the task sets, is not completed within the task period, and second information regarding the task execution order determined by each task scheduler included in the plurality of processors, the first information being stored in the scheduler management device; and

when the first information and the second information match each other, issue a command for causing the at least one of the task schedulers to change the task execution order of the at least one of the task schedulers.

13. A digital television receiver including the system LSI according to claim 12 .

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE ERRONEOUSLY FILED APPLICATION NUMBERS 13/384239, 13/498734, 14/116681 AND 14/301144 PREVIOUSLY RECORDED ON REEL 034194 FRAME 0143. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 24, 2020
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
Reel/Frame 056788/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: PANASONIC CORPORATION
To: PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO., LTD.
Reel/Frame 034194/0143 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2014
From: FUKUZAKI, KIYOKAZU; HENMI, MASANORI; OKABAYASHI, HAZUKI; MURATA, HIROYUKI; SAWAI, TAKATSUGU; SHIGETA, HIROYUKI
To: PANASONIC CORPORATION
Reel/Frame 031956/0341 →