IP Library Granted Patent US 8,078,907
Granted Patent B2
US 8,078,907 · App. 11/334,526 · Granted Dec 13, 2011

Failsoft system for multiple CPU system

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 8,078,907
App. No.
11/334,526
Granted
Dec 13, 2011
Kind
B2
Abstract

A cpu-set type multiprocessor system allows a cpu of a cpu-set that has a hardware exception to disable itself and notify the system. The system assigns processes of the cpu-set that include the problem cpu to another cpu-set. The disabling of the problem cpu and transfer of the related processes to another cpu-set allows the system to failsoft so that other cpu-sets the multiprocessor system can continue to run and a recovery of the processes being run on the problem cpu-set occurs.

Claims (34)

1. A method of responding to errors in a high performance computing system that has a control processor executing an operating system, a plurality of computing processors for executing computational tasks within the operating system, and a memory that the control processor and the plurality of computing processors share, the method comprising:

the operating system forming a first plurality of computing processors that cooperate to execute a first task within the operating system, and a second, non-overlapping plurality of computing processors that cooperate to execute a second task within the operating system, wherein the control processor is not assigned to the first or second plurality;

determining, by a first computing processor in the first plurality, whether the first computing processor has encountered a problem;

the operating system deactivating the first computing processor after the problem has occurred; and

in response to the first computing processor determining that it has encountered the problem, the operating system using the shared memory to form a third plurality of computing processors that cooperate to continue executing the first task after the problem has occurred.

2. A method as recited in claim 1 , wherein the second plurality of computing processors continue executing the second task after the problem has occurred.

3. A method as recited in claim 1 , wherein the problem comprises a hardware error.

4. A method as recited in claim 1 , further comprising transferring the first task being executed by the first plurality of processors to the third plurality of computing processors without terminating execution of the first task, after the problem has occurred.

5. A method as recited in claim 1 , wherein deactivating comprises:

idling and disabling the first computing processor; and

sending an alert concerning the first computing processor.

6. A method as recited in claim 1 , further comprising reassigning computing processors of the first plurality of computing processors other than the first computing processor to the third plurality of computing processors, after the problem has occurred.

7. A high performance computing system comprising:

a memory;

a plurality of computing processors, each computing processor sharing access to the memory, each computing processor being configured to determine if the computing processor has encountered a problem; and

a control processor sharing access to the memory with the plurality of computing processors, the control processor being configured to execute operating system processes that:

(a) form non-overlapping first and second pluralities of computing processors, the first plurality of computing processors cooperating to execute a first computing task, the second plurality of computing processors cooperating to execute a second computing task;

(b) deactivate a first computing processor in the first plurality after the first computing processor has determined that a problem has occurred; and

(c) in response to the first computing processor determining that it has encountered the problem, use the shared memory to form a third plurality of computing processors that cooperate to continue executing the first task after the problem has occurred.

8. A system as recited in claim 7 , wherein the second plurality of computing processors continue executing the second task after the problem has occurred.

9. A system as recited in claim 7 , wherein the problem comprises a hardware error.

10. A system as recited in claim 7 , wherein the control processor is further configured to transfer the first task being executed by the first plurality of processors to the third plurality of computing processors without terminating execution of the first task, after the problem has occurred.

11. A system as recited in claim 7 , wherein the control processor is configured to deactivate the computing processor by idling and disabling the first computing processor and sending an alert concerning the first computing processor.

12. A system as recited in claim 7 , wherein the control processor is further configured to reassign computing processors of the first plurality of computing processors other than the first computing processor to the third plurality of computing processors, after the problem has occurred.

13. A computer program product for use in a high performance computing system that has a control processor executing an operating system, a plurality of computing processors for executing computational tasks within the operating system, and a memory that the control processor and the plurality of computing processors share, the computer program product comprising a non-transitory computer-readable storage having computer readable program code thereon, the computer readable program code comprising:

program code for forming a first plurality of computing processors that cooperate to execute a first task within the operating system, and a second, non-overlapping plurality of computing processors that cooperate to execute a second task within the operating system, wherein the control processor is not assigned to the first or second plurality;

program code for causing a first computing processor in the first plurality to determine whether the first computing processor has encountered a problem;

program code for causing the operating system to deactivate the first computing processor after the problem has occurred; and

program code for causing the operating system to respond to the first computing processor encountering the problem by using the shared memory to form a third plurality of computing processors that cooperate to continue executing the first task after the problem has occurred.

14. A computer program product as recited in claim 13 , further comprising program code for causing the second plurality of computing processors to continue executing the second task after the problem has occurred.

15. A computer program product as recited in claim 13 , wherein the problem comprises a hardware error.

16. A computer program product as recited in claim 13 , further comprising program code for transferring the first task being executed by the first plurality of processors to the third plurality of computing processors without terminating execution of the first task, after the problem has occurred.

17. A computer program product as recited in claim 13 , further comprising program code for deactivating the first computing processor by idling and disabling the first computing processor and sending an alert concerning the first computing processor.

18. A computer program product as recited in claim 13 , further comprising program code for reassigning computing processors of the first plurality of computing processors other than the first computing processor to the third plurality of computing processors, after the problem has occurred.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2017
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044128/0149 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS AGENT
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 040545/0362 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2016
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 039535/0349 →
MERGER Recorded Aug 1, 2016
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 039307/0778 →
CHANGE OF NAME Recorded Aug 1, 2016
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 039535/0525 →
ORDER...AUTHORIZING THE SALE OF ALL OR SUBSTANTIALLY ALL OF THE ASSETS OF THE DEBTORS FREE AND CLEAR OF ALL LIENS, ENCUMBRANCES, AND INTERESTS. Recorded Jul 28, 2016
From: MORGAN STANLEY & CO., INCORPORATED
To: SILICON GRAPHICS, INC.
Reel/Frame 039503/0247 →
MERGER Recorded Jul 26, 2016
From: SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL CORP.
Reel/Frame 039257/0994 →
CHANGE OF NAME Recorded Jul 26, 2016
From: SILICON GRAPHICS INTERNATIONAL, INC.
To: SGI INTERNATIONAL, INC.
Reel/Frame 039465/0390 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2016
From: SILICON GRAPHICS, INC.
To: SILICON GRAPHICS INTERNATIONAL, INC.
Reel/Frame 039465/0001 →
SECURITY INTEREST Recorded Mar 13, 2015
From: SILICON GRAPHICS INTERNATIONAL CORP.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 035200/0722 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2012
From: SILICON GRAPHICS, INC. ET AL.; SGI INTERNATIONAL, INC.
To: SILICON GRAPHICS INTERNATIONAL, CORP.
Reel/Frame 027904/0315 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: GENERAL ELECTRIC CAPITAL CORPORATION
To: MORGAN STANLEY & CO., INCORPORATED
Reel/Frame 019995/0895 →
SECURITY INTEREST Recorded Oct 24, 2006
From: SILICON GRAPHICS, INC.
To: GENERAL ELECTRIC CAPITAL CORPORATION
Reel/Frame 018545/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2006
From: DONLIN, PATRICK JOHN; WATTERS, SAMUEL EDWARD
To: SILICON GRAPHICS, INC.
Reel/Frame 017487/0302 →