IP Library Granted Patent US 7,448,036
Granted Patent B2
US 7,448,036 · App. 10/138,890 · Granted Nov 4, 2008

System and method for thread scheduling with weak preemption policy

Assignee: International Business Machines Corporation
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,448,036
App. No.
10/138,890
Granted
Nov 4, 2008
Kind
B2
Abstract

A system and method for thread scheduling with a weak preemption policy is provided. The scheduler receives requests from newly ready work. The scheduler adds a “preempt value” to the current work's priority so that it is somewhat increased for preemption purposes. The preempt value can be adjusted in order to make it more, or less, difficult for newly ready work to preempt the current work. A “less strict” preemption policy allows current work to complete rather than interrupting the current work and resume it at a later time, thus saving system overhead. Newly ready work that is queued with a better priority than the current work is queued in a favorable position to be executed after the current work is completed but before other work that has been queued with the same priority of the current work.

Claims (17)

1. A method for preempting tasks performed by a processor in a computer system, said method comprising:

configuring, by a user of the computer system, a preempt value, and storing the preempt value in a memory accessible by the processor;

receiving, from the user, a range of priorities selected from a plurality of possible priorities, wherein the queuing is only performed when the new task priority and the current task priority are each within the range of priorities; and

after the configuring:

receiving a request from a new task, wherein the new task includes a new task priority;

comparing the new task priority to a current task priority, the current task priority corresponding to a current task currently being serviced by the processor;

preempting the current task in favor of the new task in response to the new task priority being better than the current task priority by an amount greater than or equal to the preempt value;

queuing the new task in response to the new task priority not being better than the current task priority by the preempt value;

determining that the new task priority is better than the current task priority but not by the amount that is greater than or equal to the preempt value;

queuing the new task in a favorable queue position in response to the determination, wherein the favorable queue position is in front of any queued tasks with worse priorities than the new task.

2. The method of claim 1 wherein higher priority numbers are better than lower priority numbers.

3. The method of claim 1 wherein lower priority numbers are better than higher priority numbers.

4. The method of claim 1 wherein the user is a system administrator.

5. The method of claim 1 further comprising:

queuing the new task in a queue selected from a plurality of queues, wherein the plurality of queues correspond to a plurality of priorities and wherein the selected queue corresponds to the new task priority.

6. The method of claim 5 further comprising:

selecting a queued task from the highest priority queue that is not empty in response to the processor no longer servicing the current task.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2010
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: TREND MICRO INCORPORATED
Reel/Frame 024434/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2002
From: BRENNER, LARRY B.; SRINIVAS, MYSORE S.; VAN FLEET, JAMES W.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 012881/0134 →
Continuity (1)
Related Publication 20030208521A1 · Nov 6, 2003