IP Library Granted Patent US 7,594,228
Granted Patent B2
US 7,594,228 · App. 10/669,309 · Granted Sep 22, 2009

Method and apparatus to perform task scheduling

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,594,228
App. No.
10/669,309
Granted
Sep 22, 2009
Kind
B2
Abstract

A method and apparatus to perform task scheduling are described. Tasks are assigned by receiving a request to execute a task on one of multiprocessors. The type of task is determined for the task. A processor task value is used to select the proper processor and the task is assigned.

Claims (41)

1. A method to assign tasks, comprising:

receiving a request to execute a task on one of a plurality of processors;

determining a task type for said task;

retrieving a processor task value of said task type for each processor, said processor task value representing a number of other task types affected by assigning said task to a processor;

selecting a processor from said plurality of processors based on said processor task values; and

assigning said task to said selected processor; and

updating said processor task values for each task type and each processor, wherein said updating comprises:

retrieving a first resource cost value for a first task type;

retrieving a second resource cost value for a second task type;

generating a modulo of said first resource cost value divided by said second resource cost value to form a first relative resource value for said first task type relative to said second task type;

determining a remaining resource value for said processor;

generating a modulo of said remaining resource value divided by said second resource cost value to form a second spare resource value for said second task type;

comparing said first relative resource value to said second spare resource value; and

updating said processor task value for said first task type in accordance with said comparison.

2. The method of claim 1 , wherein said processor task value for said first task type is incremented by one if said first relative resource value is less than said second spare resource value.

3. The method of claim 1 ,

wherein said processor task value for said second task type is incremented if said second relative resource value is greater than said first spare resource value.

4. The method of claim 1 , wherein said selecting comprises:

comparing said processor task values for said processors; and

selecting a processor having a highest processor task value.

5. A method to assign tasks, comprising:

receiving a request to execute a task on one of a plurality of processors;

determining a task type for said task;

retrieving a processor task value of said task type for each processor, said processor task value representing a number of other task types affected by assigning said task to a processor;

selecting a processor from said plurality of processors based on said processor task values; and

assigning said task to said selected processor; and

updating said processor task values for each task type and each processor, wherein said updating comprises:

retrieving a first resource cost value for a first task type;

retrieving a second resource cost value for a second task type;

generating a modulo of said second resource cost value divided by said first resource cost value to form a second relative resource value for said second task type relative to said first task type;

determining a remaining resource value for said processor;

generating a modulo of said remaining resource value divided by said first resource cost value to form a first spare resource value for said first task type;

comparing said second relative resource value to said first spare resource value; and

updating said processor task value for said second task type in accordance with said comparison.

6. The method of claim 5 , wherein said processor task value for said second task type is incremented by one if said second relative resource value is less than said first spare resource value.

7. An article, comprising:

a storage medium;

said storage medium including stored instructions that, when executed by a processor, result in assigning tasks by receiving a request to execute a task on one of a plurality of processors, determining a task type for said task, retrieving a processor task value of said task type for each processor, selecting a processor from said plurality of processors based on said processor task values, assigning said task to said selected processor, said processor task value representing a number of other task types affected by assigning said task to said processor and updating said processor task values for each task type and each processor,

wherein the stored instructions, when executed by a processor, further result in said updating by retrieving a first resource cost value for a first task type, retrieving a second resource cost value for a second task type, generating a modulo of said first resource cost value divided by said second resource cost value to form a first relative resource value for said first task type relative to said second task type, determining a remaining resource value for said processor, generating a modulo of said remaining resource value divided by said second resource cost value to form a second spare resource value for said second task type, comparing said first relative resource value to said second spare resource value, and updating said processor task value for said first task type in accordance with said comparison.

8. The article of claim 7 , wherein the stored instructions, when executed by a processor, further result in said updating by incrementing said processor task value for said second task type if said second relative resource value is greater than said first spare resource value.

9. The article of claim 7 , wherein the stored instructions, when executed by a processor, further result in said selecting by comparing said processor task values for said processors, and selecting a processor having a highest processor task value.

Assignments (10)
RELEASE OF SECURITY INTEREST Recorded Nov 12, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
Reel/Frame 051028/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050937/0001 →
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2018
From: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 047243/0001 →
SECURITY INTEREST Recorded Jul 13, 2018
From: MICRON TECHNOLOGY, INC.; MICRON SEMICONDUCTOR PRODUCTS, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 047540/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REPLACE ERRONEOUSLY FILED PATENT #7358718 WITH THE CORRECT PATENT #7358178 PREVIOUSLY RECORDED ON REEL 038669 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jun 8, 2017
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 043079/0001 →
PATENT SECURITY AGREEMENT Recorded Jun 2, 2016
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 038954/0001 →
SECURITY INTEREST Recorded May 12, 2016
From: MICRON TECHNOLOGY, INC.
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 038669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2012
From: NUMONYX B.V.
To: MICRON TECHNOLOGY, INC.
Reel/Frame 027632/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2012
From: INTEL CORPORATION
To: NUMONYX B.V.
Reel/Frame 027545/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2003
From: LAM, SIU H.
To: INTEL CORPORATION
Reel/Frame 014543/0659 →