IP Library Granted Patent US 7,627,782
Granted Patent B2
US 7,627,782 · App. 11/270,518 · Granted Dec 1, 2009

Multi-processing system and multi-processing method

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 7,627,782
App. No.
11/270,518
Granted
Dec 1, 2009
Kind
B2
Abstract

To provide a multi-processing system capable of continuing an operation with efficiency even if a failure occurs in a processor during a system operation. A multi-processing system according to an embodiment of the invention includes: a memory storing a program and information necessary for executing the program; a processor manager reading the program from the memory, dividing the read program into threads with priority, and assigning the threads to at least two processors based on the priority of the threads and a processing state of each processor; the at least two processors executing the threads assigned by the processor manager; and a processing data manager storing information necessary for executing the thread assigned by the processor manager, and outputting the stored information necessary for executing the assigned thread to the memory if a failure occurs in one of the processors.

Claims (28)

1. A multi-processing system, comprising:

a first memory storing a program and information necessary for executing the program;

a plurality of processors executing assigned threads;

a processor manager reading the program from the first memory, dividing the program into threads, and assigning the threads to the plurality of processors based on priorities of the threads and a processing state of each processor; and

a processing data manager storing in a second memory a plurality of information necessary for executing a plurality of the threads assigned by the processor manager, whenever the plurality of the threads are assigned to the plurality of processors, and extracting, when a failure occurs in one of the plurality of processors, information including information of a thread; that is processed at a time when the failure occurs from among the plurality of information from the second memory, and outputting the extracted information to the first memory.

2. The multi-processing system according to claim 1 , wherein the information necessary for executing the threads is a snapshot of the first memory.

3. The multi-processing system according to claim 1 , further comprising an auxiliary processor manager having a function equivalent to a function of the processor manager, wherein the processing data manager monitors a processing state of the processor manager, and activates, if determining that a failure occurs in the processor manager, the auxiliary processor manager.

4. The multi-processing system according to claim 1 , further comprising an auxiliary processing data manager having a function equivalent to a function of the processing data manager, wherein the processor manager monitors a processing state of the processing data manager, and activates, if determining that a failure occurs in the processing data manager, the auxiliary processing data manager.

5. The multi-processing system according to claim 1 , wherein:

the processing data manager stores in the second memory each of the plurality of information at a time when its respective one of the plurality of the threads starts to be executed; and

the processing data manager, when the failure occurs in one of the plurality of processors, discards the thread that is processed at the time when the failure occurs, extracts information including the information of the thread that is processed at the time when the failure occurs from among the plurality of information that are stored at the time when the thread starts to be executed, and outputs the extracted information to the first memory.

6. The multi-processing system according to claim 1 , wherein:

the processing data manager, when there are plural information including the information of the thread that is processed at the time when the failure occurs among the plurality of information, extracts oldest information among the plural information including the information of the thread that is processed at the time when the failure occurs from the plurality of information from the second memory, and outputs the extracted information to the first memory.

7. The multi-processing system according to claim 1 , wherein:

the processing data manager stores in the second memory each of the plurality of information at a time when its respective one of the plurality of the threads starts to be executed; and

the processing data manager, when the failure occurs in one of the plurality of processors, discards the thread that is processed at the time when the failure occurs, extracts information including the information of the thread that is processed at the time when the failure occurs from among the plurality of information that are stored at the time when the thread starts to be executed, and outputs the extracted information to the first memory.

8. The multi-processing system according to claim 1 , wherein:

the processing data manager, when there are plural information including the information of the thread that is processed at the time when the failure occurs among the plurality of information, extracts oldest information among the plural information including the information of the thread that is processed at the time when the failure occurs from the plurality of information from the second memory, and outputs the extracted information to the first memory.

9. A multi-processing method, comprising:

reading a program from a first memory;

dividing the read program into threads;

assigning the threads to a plurality of processors based on priorities of the threads and a processing state of each processor;

storing in a second memory a plurality information necessary for the plurality the processors to execute a plurality of the assigned threads, whenever the plurality of the treads are assigned to the plurality of processors;

extracting from the second memory, when a failure occurs in the plurality of processors, information including information of a thread that is processed at a time when the failure occurs from among the stored plurality of information; and outputting the extracted information the first memory; and

executing a processing of the extracted information with a processor not suffering the failure.

10. The multi-processing method according to claim 9 , wherein the information necessary for the processors is a snapshot of the first memory.

11. The multi-processing method according to claim 9 , wherein the assigning of the threads is executed by a processor manager, and if it is determined that a failure occurs in the processor manager as a result of monitoring a processing state of the processor manager, an auxiliary processor manager having a function equivalent to the processor manager is activated.

12. The multi-processing method according to claim 9 , wherein the information necessary for the processors is stored in a processing data manager, and if it is determined that a failure occurs in the processing data manager as a result of monitoring a processing, state of the processing data manager, an auxiliary processing data manager having a function equivalent to a function of the processing data manager is activated.

Assignments (3)
CHANGE OF ADDRESS Recorded Nov 29, 2017
From: RENESAS ELECTRONICS CORPORATION
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 044928/0001 →
CHANGE OF NAME Recorded Nov 11, 2010
From: NEC ELECTRONICS CORPORATION
To: RENESAS ELECTRONICS CORPORATION
Reel/Frame 025346/0877 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2005
From: KITAJIMA, NOBUKATSU
To: NEC ELECTRONICS CORPORATION
Reel/Frame 017229/0835 →