IP Library Granted Patent US 8,875,142
Granted Patent B2
US 8,875,142 · App. 12/604,568 · Granted Oct 28, 2014

Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors

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,875,142
App. No.
12/604,568
Granted
Oct 28, 2014
Kind
B2
Abstract

A multi processor computing system managing tasks based on the health index of the plurality of processors and the priority of tasks to be scheduled. The method comprise receiving the tasks to be scheduled on the computing system; preparing a queue of the tasks based on a scheduling algorithm; computing a health index value for each processor of the computing system; and scheduling the tasks on processors based on the health index value of the processors. A task from a processor with a lower health index may be moved to an available processor with a higher health index.

Claims (39)

1. A method of scheduling tasks in a computing system having multiple processors comprising:

receiving the tasks to be scheduled on the computing system;

storing the tasks in a queue according to a priority associated with each of the tasks;

assigning an initial health index value to each of the processors;

detecting an error in a hardware component connected to at least one of the processors;

determining whether the hardware component is connected to just one processor or more than one processor;

based on determining that the hardware component is connected to just one processor, obtaining a health index coefficient for the detected error from a health index coefficient mapping table that maps errors to corresponding health index coefficients, and updating the health index value for that processor based on the obtained health index coefficient;

based on determining that the hardware component is connected to more than one processor, identifying all processors connected to the hardware component, obtaining the health index coefficient for the detected error from the health index coefficient mapping table, and updating the health index value for all identified processors based on the obtained health index coefficient, wherein the health index coefficient for the detected error is based on a severity of the error and an effect of the error on the functioning of the computing system; and

scheduling the tasks for execution on the multiple processors based on the health index values of the multiple processors and based on the priority of each task.

2. The method of claim 1 further comprising:

resetting the health index value of a faulty processor to a maximum value when the faulty processor and all faulty hardware components connected to the faulty processor are replaced with new processor and hardware components.

3. The method of claim 1 , wherein the hardware component connected to the at least one processor includes at least one of: a cache memory, a fabric interconnect, a core electronic component chip, and a processor chip.

4. The method of claim 1 , wherein there are greater number of tasks that are scheduled on a processor with a higher health index value than a processor with a lower health index value.

5. The method of claim 1 , further comprising:

determining an amount of time required to process each of the scheduled tasks; and

rescheduling a task from a processor with a lower health index value to a processor with a higher health index value when the processor with the higher health index value is not processing any tasks.

6. The method of claim 5 , wherein the task from the processor with the lower health index value is rescheduled to the processor with the higher health index value when the lower health index value falls below a predetermined value.

7. The method of claim 1 further comprising sending a notification when the health index value of a processor falls below a predetermined value.

8. A non-transitory computer-readable medium containing instructions that, when executed by a processing circuit, causes the processing circuit to:

receive tasks to be scheduled on a computing system having multiple processors;

storing the tasks in a queue according to a priority associated with each of the tasks;

assign an initial health index value to each of the processors;

detect an error in a hardware component connected to at least one of the processors;

determine whether the hardware component is connected to just one processor or more than one processor;

based on determining that the hardware component is connected to just one processor, obtain a health index coefficient for the detected error from a health index coefficient mapping table that maps errors to corresponding health index coefficients, and update the health index value for that processor based on the obtained health index coefficient;

based on determining that the hardware component is connected to more than one processor, identify all processors connected to the hardware component, obtaining the health index coefficient for the detected error from the health index coefficient mapping table, and update the health index value for all identified processors based on the obtained health index coefficient, wherein the health index coefficient for the detected error is based on a severity of the error and an effect of the error on the functioning of the computing system; and

schedule the tasks for execution on the multiple processors based on the health index values of the multiple processors and based on the priority of each of the tasks.

9. A computing system, comprising:

a memory to store a plurality of tasks to be scheduled for execution on the computing system and according to a priority associated with each of the plurality of tasks;

a plurality of processors to execute the plurality of tasks stored on the memory;

a plurality of hardware components connected to at least one of the plurality of processors;

a hardware diagnostic solution to:

assign an initial health index value to each of the plurality of processors;

detect an error in a hardware component connected to at least one of the plurality of processors;

determine whether the hardware component is

connected to just one processor or more than one processor, and

based on a determination that the hardware component is connected to just one processor, obtain a health index coefficient for the detected error from a health index coefficient mapping table that maps errors to corresponding health index coefficients, and update the health index value for that processor based on the obtained health index coefficient; and

based on a determination that the hardware component is connected to more than one processor, identify all processors connected to the hardware component, obtain a health index coefficient for the detected error from the health index coefficient mapping table, and update the health index value for all identified processors based on the obtained health index coefficient, wherein the health index coefficient for the detected error is based on a severity of the error and an effect of the error on the functioning of the computing system;

a scheduler to schedule the plurality of tasks for execution on the plurality of processors based on the priority of each of the plurality of tasks and based on the health index values of the plurality of processors.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2009
From: SHIVANNA, SUHAS; KRISHNAPURAM RANGANATHAN, KARTHIK
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 023418/0753 →