IP Library Granted Patent US 7,565,652
Granted Patent B2
US 7,565,652 · App. 10/503,408 · Granted Jul 21, 2009

Method of setting priority level in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program thereof

Assignee: Real Enterprise Solutions Development, B.V.
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,565,652
App. No.
10/503,408
Granted
Jul 21, 2009
Kind
B2
Abstract

A method for setting priority levels in a multiprogramming computer system ( 1 ) with priority scheduling, in which threads ( 15, 16, 17 ) of execution of each process ( 13, 14 ) have a standard priority level, comprises measuring relative use of one or more processors ( 2 ) in the system ( 1 ) by the threads ( 15, 16, 17 ) of execution of a process ( 13, 14 ). The priority levels of one or more threads ( 15, 16, 17 ) of execution are lowered if their measured relative use exceeds a certain escalation threshold for the duration of an escalation time period (DT 1 ).

Claims (36)

1. Method for setting priority levels in a multiprogramming computer system with priority scheduling, in which each of one or more threads of execution of a process has an associated basic priority level, comprising:

measuring total relative use of one or more processors in the computer system by the one or more threads;

lowering at least one basic priority level of the one or more threads when the measured total relative use exceeds an escalation threshold for a duration of an escalation time period; and

returning the at least one lowered priority level of the one or more threads to the basic priority level when the measured total relative use is lower than a probation threshold for a duration of a probation time period,

wherein:

the escalation time period is a first time period over which the total relative use of the one or more processors is measured,

the probation time period is a second time period over which the total relative use of the one or more processors is measured, and

wherein the escalation threshold is greater than the probation threshold.

2. Method according to claim 1 , further comprising lowering the basic priority levels of all of the one or more threads when the measured total relative use of the one or more processors in the computer system by the one or more threads exceeds the escalation threshold for the duration of the escalation period.

3. Method according to claim 2 , wherein the at least one basic priority level of the one or more threads is lowered to the lowest possible level.

4. Method according to claim 3 , wherein the priority levels are changed by a program running in user space, and the priorities are used by an operating system scheduler.

5. Method according to claim 2 , wherein the priority levels are changed by a program running in user space, and the priorities are used by an operating system scheduler.

6. Method according to claim 1 , wherein the at least one basic priority level of the one or more threads is lowered to the lowest possible level.

7. Method according to claim 6 , wherein the priority levels are changed by a program running in user space, and the priorities are used by an operating system scheduler.

8. Method according to claim 1 , wherein the priority levels are changed by a program running in user space, and the priorities are used by an operating system scheduler.

9. Method according to claim 1 , wherein an incidence of changing a priority level is registered.

10. Method according to claim 1 , wherein the escalation time period is longer than one second.

11. Method according to claim 1 , wherein at least one of the escalation threshold, the probation threshold, the escalation time period, and/or the probation time period is adjusted in value by an administrator of the computer system.

12. A multiprogramming computer system with priority scheduling, in which each of one or more threads of execution of a process has an associated basic priority level, comprising:

a system memory; and

one or more central processing units (CPUs) connected to the system memory and configured to:

measure total relative use of the one or more CPUs by the one or more threads,

lower at least one basic priority level of the one or more threads when the measured total relative use exceeds an escalation threshold for a duration of an escalation time period, and

return the at least one lowered priority level of the one or more threads to the basic priority level when the measured total relative use is lower than a probation threshold for a duration of a probation time period,

wherein:

the escalation time period is a first time period over which the total relative use of the one or more processors is measured,

the probation time period is a second time period over which the total relative use of the one or more processors is measured, and

wherein the escalation threshold is greater than the probation threshold.

13. A computer program stored in memory of a multiprogramming computer system with priority scheduling in which each of one or more threads of execution of a process has an associated basic priority level, such that, when the computer program runs, the computer system performs the steps of:

measuring total relative use of one or more processors in the computer system by the one or more threads;

lowering at least one basic priority level of the one or more threads when the measured total relative use exceeds an escalation threshold for a duration of an escalation time period; and

returning the at least one lowered priority level of the one or more threads to the basic priority level when the measured total relative use is lower than a probation threshold for a duration of a probation time period,

wherein:

the escalation time period is a first time period over which the total relative use of the one or more processors is measured,

the probation time period is a second time period over which the total relative use of the one or more processors is measured, and

wherein the escalation threshold is greater than the probation threshold.

Assignments (2)
CHANGE OF NAME Recorded Mar 23, 2017
From: REAL ENTERPRISE SOLUTIONS DEVELOPMENT B.V.
To: RES SOFTWARE DEVELOPMENT B.V.
Reel/Frame 042079/0876 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2005
From: JANSSEN, BOB; JANSEN, PETER GERARDUS
To: REAL ENTERPRISE SOLUTIONS DEVELOPMENT B.V.
Reel/Frame 016294/0161 →
Continuity (1)
Related Publication 20060037025A1 · Feb 16, 2006