IP Library Granted Patent US 12,333,336
Granted Patent B2
US 12,333,336 · App. 17/484,437 · Granted Jun 17, 2025

Scheduling and clock management for real-time system quality of service (QoS)

Inventor: Allen J. Porter (Markham, CA)
Assignee: ATI TECHNOLOGIES ULC
G06F9/4887G06F1/08G06F1/324G06F1/329G06F9/4881G06F9/5038G06F9/5044G06F9/5055
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 12,333,336
App. No.
17/484,437
Granted
Jun 17, 2025
Kind
B2
Abstract

Scheduling and clock management for real-time system quality of service (QoS) is disclosed. In an implementations, a resource manager determines a target work rate based on respective job deadlines of a plurality of jobs on a processing platform. Determining the target work rate can include ordering the plurality of jobs based on the respective deadlines, determining an amount of work required to reach each of the respective deadlines, identifying one deadline among the respective deadlines as a most constraining deadline based on the amount of work required to reach that one deadline, and determining the target work rate based on the most constraining deadline. The resource manager adjusts a clock rate of the processing platform based on at least the target work rate.

Claims (55)

1. A method of scheduling and clock management for real-time system quality of service (QOS), the method comprising:

determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform, wherein the most constraining deadline is a job deadline that requires a highest rate of work to reach that job deadline based on an amount of unexecuted work associated with the job deadline and earlier job deadlines; and

adjusting a clock rate of the processing platform based on at least the target work rate.

2. The method of claim 1 , wherein the clock rate is adjusted to a lowest clock rate that can complete the jobs based on the target work rate and the respective job deadlines.

3. The method of claim 1 , wherein each of the plurality of jobs is a real-time job.

4. The method of claim 1 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

ordering the plurality of jobs based on the respective deadlines;

determining an amount of work required to reach each of the respective deadlines;

identifying a rate of work for each deadline based on the amount of work required to reach that deadline; and

selecting the rate of work of the most constraining deadline as the target work rate.

5. The method of claim 1 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

identifying a normalization parameter for a job based on one or more characteristics of the job; and

applying the normalization parameter to a work size of the job.

6. The method of claim 1 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

determining, in response to receiving a new job for the processing platform, the target work rate based on the respective job deadlines of the plurality of jobs on the processing platform.

7. The method of claim 6 , further comprising:

determining whether to preempt an in-progress job in response to receiving the new job.

8. The method of claim 1 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

determining, in response to identifying that an existing job has completed on the processing platform, the target work rate based on the respective job deadlines of a remainder of the plurality of jobs on the processing platform.

9. The method of claim 1 , wherein adjusting a clock rate of the processing platform based on at least the target work rate includes:

identifying a completion rate at which work is being completed on the processing platform; and

driving the clock rate based on a difference between the target work rate and the completion rate.

10. An apparatus comprising:

a computer processor; and

a computer memory operatively coupled to the computer processor, the computer memory having disposed therein computer program instructions that, when executed by the computer processor, cause the apparatus to carry out:

determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform, wherein the most constraining deadline is a job deadline that requires a highest rate of work to reach that job deadline based on an amount of unexecuted work associated with the job deadline and earlier job deadlines; and

adjusting a clock rate of the processing platform based on at least the target work rate.

11. The apparatus of claim 10 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

ordering the plurality of jobs based on the respective deadlines;

determining an amount of work required to reach each of the respective deadlines;

identifying a rate of work for each deadline based on the amount of work required to reach that deadline, wherein the rate of work is a steady rate of work; and

selecting the work rate of the most constraining deadline as the target work rate.

12. The apparatus of claim 10 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

identifying a normalization parameter for a job based on one or more characteristics of the job; and

applying the normalization parameter to a work size of the job.

13. The apparatus of claim 10 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

determining, in response to receiving a new job for the processing platform, the target work rate based on the respective job deadlines of the plurality of jobs on the processing platform.

14. The apparatus of claim 13 , further comprising:

determining whether to preempt an in-progress job in response to receiving the new job.

15. The apparatus of claim 10 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

determining, in response to identifying that an existing job has completed on the processing platform, the target work rate based on the respective job deadlines of a remainder of the plurality of jobs on the processing platform.

16. The apparatus of claim 10 , wherein adjusting a clock rate of the processing platform based on at least the target work rate includes:

identifying a completion rate at which work is being completed on the processing platform; and

driving the clock rate based on a difference between the target work rate and the completion rate.

17. A computer program product for scheduling and clock management for real-time system quality of service (QOS), the computer program product comprising a non-transitory computer readable medium having stored thereon computer program instructions that, when executed, cause a computer to carry out:

determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform, wherein the most constraining deadline is a job deadline that requires a highest rate of work to reach that job deadline based on an amount of unexecuted work associated with the job deadline and earlier job deadlines; and

adjusting a clock rate of the processing platform based on at least the target work rate.

18. The computer program product of claim 17 , wherein determining a target work rate based on a most constraining deadline among respective job deadlines of a plurality of jobs on a processing platform includes:

ordering the plurality of jobs based on the respective deadlines;

determining an amount of work required to reach each of the respective deadlines; identifying a rate of work for each deadline based on the amount of work required to reach that deadline, wherein the amount of work includes uncompleted work associated with a job corresponding to the job deadline and uncompleted work associated with jobs corresponding to earlier job deadlines; and

selecting the rate of work of the most constraining deadline as the target work rate.

19. The computer program product of claim 17 , wherein adjusting a clock rate of the processing platform based on at least the target work rate includes:

identifying a completion rate at which work is being completed on the processing platform; and

driving the clock rate based on a difference between the target work rate and the completion rate.

20. The computer program product of claim 17 , wherein the clock rate is adjusted to a lowest clock rate that can complete the jobs based on the target work rate and the respective job deadlines.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2021
From: PORTER, ALLEN J.
To: ATI TECHNOLOGIES ULC
Reel/Frame 057591/0556 →
Continuity (1)
Related Publication 20230099950A1 · Mar 30, 2023
References Cited (9)
US 5640563A · Carmon · 1997 [cited by examiner]
US 8310492B2 · McCrary et al. · 2012 [cited by applicant]
US 8928678B2 · Wang et al. · 2015 [cited by applicant]
US 9142001B2 · Samson et al. · 2015 [cited by applicant]
US 9176572B2 · Thomson et al. · 2015 [cited by applicant]
US 9875135B2 · Piazza et al. · 2018 [cited by applicant]
US 10133597B2 · Tian et al. · 2018 [cited by applicant]
WO WO2011038214A1 · 2011 [cited by examiner]
WO WO2011120019A2 · 2011 [cited by examiner]