IP Library Granted Patent US 6,964,048
Granted Patent B1
US 6,964,048 · App. 09/481,771 · Granted Nov 8, 2005

Method for dynamic loaning in rate monotonic real-time systems

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 6,964,048
App. No.
09/481,771
Granted
Nov 8, 2005
Kind
B1
Abstract

A method and apparatus are disclosed for sharing execution capacity among tasks executing in a real-time computing system. The present invention extends RMA techniques for characterizing system timing behavior and designing real-time systems. A high priority task having hard deadlines is paired with a lower priority task having soft deadlines. During an overload condition, the higher priority task can dynamically borrow execution time from the execution capacity of the lower priority task without affecting the schedulability of the rest of the system. The higher priority task is bolstered in a proportion to the capacity borrowed from the lower priority task, so that the combined utilization of the two tasks remains constant. The period of the degraded task is increased to compensate for the execution time that was loaned to the higher priority task. In addition, the priority of the lower priority task is modified to match the new period.

Claims (153)

1. A method for sharing execution capacity among tasks executing in a real-time computing system having a performance specification in accordance with Rate Monotonic Analysis (RMA), comprising the steps of:

pairing a higher priority task with a lower priority task;

reallocating by borrowing execution time from the lower priority task and reallocating it to the higher priority task during an overload condition;

increasing the period of the lower priority task to compensate for said reallocated execution time; and

limiting an amount of execution time, Nr, to borrow from said lower priority task, task r , to a maximum loan amount where Nr<<Cr, where

C r =worst-case task execution time of task r , and

N r =amount of execution time to borrow from task r .

2. The method of claim 1 , wherein an amount of said execution time available to loan from said lower priority task (hereinafter “task r ”) to said higher priority task (hereinafter “task u ,”) is obtained as follows:

Nu

=

Nr

·

Tu

Tr

where,

N r =amount of execution time to borrow from task r , where N r <C r ,

T r =period of task r ,

C r =worst-case task execution time of task r , and

T U =period of task U .

3. The method of claim 1 , wherein said increased period of the lower priority task, task r , is obtained as follows:

Tn

=

Cr

·

Tr

Cr

-

Nr

where

C r =worst-case task execution time of task r ,

T r =period of task r , and

N r =amount of execution time to borrow from task r , where N r <C r .

4. The method of claim 1 , wherein a maximum execution time, Nm, that may be borrowed from said lower priority task, task r , is obtained as follows:

Nm

=

Cr

(

1

-

1

m

)

where m is the multiple of the period of said lower priority task, task r .

5. The method of claim 1 , wherein said higher priority task has hard deadlines.

6. The method of claim 1 , wherein said lower priority task has soft deadlines.

7. A method for allocating resources among tasks executing in a real-time computing system having a performance specification in accordance with Rate Monotonic Analysis (RMA), comprising the steps of:

pairing a higher priority task with a lower priority task;

providing a first resource allocation to said lower priority task during a normal operating condition;

reallocating by borrowing a portion of said first resource allocation from said lower priority task and reallocating to said higher priority task when said higher priority task is operable; and

limiting an amount of execution time, Nr, to reallocate from said lower priority task, task r , to a maximum loan amount where Nr<<Cr, where

C r =worst-case task execution time of task r , and

N r =amount of execution time to borrow from task r .

8. The method of claim 7 , wherein said reallocated portion of said first resource allocation is obtained as follows:

Nu

=

Nr

·

Tu

Tr

where,

N r =amount of execution time to borrow from task r , where N r <C r ,

T r =period of the lower priority task (“task r ”),

C r =worst-case task execution time of task r , and

T u =period of the higher priority task (“task u ”).

9. The method of claim 7 , further comprising the step of increasing a period of said lower priority task, task r , as follows:

Tn

=

Cr

·

Tr

Cr

-

Nr

where

C r =worst-case task execution time of task r ,

T r =period of task r , and

N r =amount of execution time to borrow from task r , where N r <C r .

10. The method of claim 7 , wherein a maximum execution time, Nm, that may be borrowed from said lower priority task, task r , is obtained as follows:

Nm

=

Cr

(

1

-

1

m

)

where m is the multiple of the period of said lower priority task, task r .

11. The method of claim 7 , wherein said higher priority task has hard deadlines.

12. The method of claim 7 , wherein said lower priority task has soft deadlines.

13. A method for sharing execution capacity among tasks executing in a real-time computing system having a performance specification in accordance with Rate Monotonic Analysis (RMA), comprising the steps of:

pairing a higher priority task, task u , with a lower priority task, task r ;

reallocating by borrowing execution time from the lower priority task and reallocating to the higher priority task during an overload condition;

increasing the utilization of said higher priority task; and

decreasing the utilization of said lower priority task in a proportional manner to maintain a constant utilization, U; and

limiting an amount of execution time, Nr, to borrow from said lower priority task, task r , to a maximum loan amount where Nr<<Cr, where

C r =worst-case task execution time of task r , and

N r =amount of execution time to borrow from task r .

14. The method of claim 13 , wherein said utilizations of said tasks are varied as follows:

Cu

Tu

+

Cr

Tr

=

U

where,

C u =worst-case task execution time of task u ,

T u =period of task u ,

C r =worst-case task execution time of task r ,

T r =period of task r , and

U=utilization for both tasks.

15. The method of claim 13 , wherein an amount of said execution time available to reallocate from said lower priority task (hereinafter “task r ”) to said higher priority task (hereinafter “task u ”) is obtained as follows:

Nu

=

Nr

·

Tu

Tr

where,

N r =amount of execution time to borrow from task r , where N r <C r .

T r =period of task r ,

C r =worst-case task execution time of task r , and

T U =period of task U .

16. The method of claim 13 , further comprising the step of increasing a period of the lower priority task, task r , as follows:

Tn

=

Cr

·

Tr

Cr

-

Nr

where

C r =worst-case task execution time of task r ,

T r =period of task r , and

N r =amount of execution time to borrow from task r , where N r <C r .

17. The method of claim 13 , wherein a maximum execution time, Nm, that may be borrowed from said lower priority task, task r , is obtained as follows:

Nm

=

Cr

(

1

-

1

m

)

where m is the multiple of the period of said lower priority task, task r .

18. The method of claim 13 , wherein said higher priority task has hard deadlines.

19. The method of claim 13 , wherein said lower priority task has soft deadlines.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2018
From: UNILOC LUXEMBOURG S.A.
To: UNILOC 2017 LLC
Reel/Frame 046532/0088 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2018
From: PENDRAGON WIRELESS LLC
To: UNILOC LUXEMBOURG S.A.
Reel/Frame 045338/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2012
From: IPG ELECTRONICS 503 LIMITED
To: PENDRAGON WIRELESS LLC
Reel/Frame 028594/0224 →