System of managing processor resources in a non-dedicated computer system
First Claim
1. A system of managing processor resources in a general purpose computer system, said system comprising:
- a resource manager adapted to allocate an amount of a processor resource to a real-time application of said general purpose computer system, said amount not to exceed a limit chosen for a group of one or more real-time applications, said group including at least said real-time application, wherein a user-defined selected amount of said processor resource remains available for at least one non-real-time application of said general purpose computer system, and wherein said processor resource comprises processing capacity of one or more central processing units; and
means for processing said real-time application, wherein said means for processing comprises means for preventing, by said resource manager without assistance from said real-time application, said real-time application from exceeding a maximum amount of said processor resource selected for said group of real-time applications.
1 Assignment
0 Petitions
Accused Products
Abstract
Managing processor resources in a non-dedicated computer system. An amount of a processor resource is allocated to a real-time application of the computer system. The amount does not exceed a limit chosen for a group of real-time applications, wherein the group includes the real-time application being allocated the resource. A selected amount of the processor resource remains available to execute other types of applications and work on the system. During processing of the real-time application, use of the processor resource does not exceed a chosen maximum value, thereby ensuring the processor resource is not monopolized by the real-time application and allowing other types of work to be processed on the system.
-
Citations
45 Claims
-
1. A system of managing processor resources in a general purpose computer system, said system comprising:
-
a resource manager adapted to allocate an amount of a processor resource to a real-time application of said general purpose computer system, said amount not to exceed a limit chosen for a group of one or more real-time applications, said group including at least said real-time application, wherein a user-defined selected amount of said processor resource remains available for at least one non-real-time application of said general purpose computer system, and wherein said processor resource comprises processing capacity of one or more central processing units; and
means for processing said real-time application, wherein said means for processing comprises means for preventing, by said resource manager without assistance from said real-time application, said real-time application from exceeding a maximum amount of said processor resource selected for said group of real-time applications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
a dispatch priority set for said real-time application; and
an indicator adapted to specify that said dispatch priority is not to be adjusted.
-
-
4. The system of claim 1, wherein said resource manager further comprises:
-
a determination unit adapted to determine a highest service cost, within a given period of time, for delivering a real-time data rate;
a calculation unit adapted to calculate a service rate for delivering a real-time data stream of said real-time application; and
an indicator adapted to specify that a sufficient amount of said processor resource is available for said real-time data stream when said service rate falls within said limit.
-
-
5. The system of claim 4, further comprising a summation unit adapted to add a data rate of said real-time data stream to a current allocated data rate in order to track the amount of processor resource currently allocated to said group of real-time applications.
-
6. The system of claim 1, wherein said resource manager is further adapted to deallocate said allocated amount of said processor resource when said real-time application no longer needs said processor resource.
-
7. The system of claim 6, wherein said resource manager further comprises a subtractor adapted to subtract a data rate of said real-time application from a current allocated data rate such that the deallocated amount of processor resource is now available for said group of real-time applications.
-
8. The system of claim 1, wherein said resource manager is further adapted to pause processing of said real-time application.
-
9. The system of claim 8, wherein said resource manager further comprises means for reserving said allocated amount of processor resource during said pause.
-
10. The system of claim 8, wherein said resource manager is adapted to resume processing of said paused real-time application.
-
11. The system of claim 1, wherein said means for processing of said real-time application comprises one or more control parameters, associated with said real-time application, adapted to be adjusted, when said one or more control parameters need adjusting to meet one or more performance goals of said computer system.
-
12. The system of claim 1, further comprising means for processing one of said at least one non-real-time application, wherein said means for processing of said one non-real-time application comprises means for adjusting one or more control parameters associated with said one non-real-time application, when said one or more control parameters need adjusting to meet one or more performance goals of said computer system.
-
13. The system of claim 1, wherein said means for preventing comprises one or more indicators adapted to indicate that one or more work units of said real-time application is non-dispatchable such that said maximum amount is not exceeded.
-
14. A system of managing processor resources in a computer system, comprising:
-
a selected amount of a processor resource allocatable to a group of one or more real-time applications of said computer system, said processor resource comprising processing capacity of one or more central processing units;
a user-defined amount of said processor resource reserved for one or more non-real-time applications of said computer system; and
a resource manager adapted to prevent, without assistance of said one or more real-time applications, said group of one or more real-time applications from exceeding a maximum amount of said processor resource selected for said group of one or more real-time applications. - View Dependent Claims (15)
-
-
16. A method of managing processor resources in a general purpose computer system, said method comprising:
-
allocating an amount of a processor resource to a real-time application of said general purpose computer system, said amount not to exceed a limit chosen for a group of one or more real-time applications, said group including at least said real-time application, wherein a user-defined selected amount of said processor resource remains available for at least one non-real-time application of said general purpose computer system, and wherein said processor resource comprises processing capacity of one or more central processing units; and
processing said real-time application, wherein said processing comprises preventing, by a resource manager without assistance from said real-time application, said real-time application from exceeding a maximum amount of said processor resource selected for said group of real-time applications. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
setting a dispatch priority for said real-time application; and
specifying said dispatch priority is not to be adjusted.
-
-
19. The method of claim 16, wherein said allocating comprises:
-
determining a highest service cost, within a given period of time, for delivering a real-time data rate;
calculating a service rate for delivering a real-time data stream of said real-time application; and
indicating a sufficient amount of said processor resource is available for said real-time data stream when said service rate falls within said limit.
-
-
20. The method of claim 19, further comprising adding a data rate of said real-time data stream to a current allocated data rate in order to track the amount of processor resource currently allocated to said group of real-time applications.
-
21. The method of claim 16, further comprising deallocating said allocated amount of said processor resource when said real-time application no longer needs said processor resource.
-
22. The method of claim 21, wherein said deallocating comprises subtracting a data rate of said real-time application from a current allocated data rate such that the deallocated amount of processor resource is now available for said group of real-time applications.
-
23. The method of claim 16, further comprising pausing processing of said real-time application.
-
24. The method of claim 23, wherein said pausing comprises reserving said allocated amount of processor resource.
-
25. The method of claim 23, further comprising resuming processing of said paused real-time application.
-
26. The method of claim 16, wherein said processing of said real-time application comprises adjusting one or more control parameters associated with said real-time application, when said one or more control parameters need adjusting to meet one or more performance goals of said computer system.
-
27. The method of claim 16, further comprising processing one of said at least one non-real-time application, wherein said processing of said one non-real-time application comprises adjusting one or more control parameters associated with said one non-real-time application, when said one or more control parameters need adjusting to meet one or more performance goals of said computer system.
-
28. The method of claim 16, wherein said preventing comprises indicating one or more work units of said real-time application is non-dispatchable such that said maximum amount is not exceeded.
-
29. A method of managing processor resources in a computer system, comprising:
-
selecting an amount of a processor resource allocatable to a group of one or more real-time applications of said computer system, said processor resource comprising processing capacity of one or more central processing units;
reserving a user-defined amount of said processor resource for one or more non-real-time applications of said computer system; and
preventing, by a resource manager without assistance of said one or more real-time applications, said group of one or more real-time applications from exceeding a maximum amount of said processor resource selected for said group of one or more real-time applications. - View Dependent Claims (30)
-
-
31. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of managing processor resources in a general purpose computer system, said method comprising:
-
allocating an amount of a processor resource to a real-time application of said general purpose computer system, said amount not to exceed a limit chosen for a group of one or more real-time applications, said group including at least said real-time application, wherein a user-defined selected amount of said processor resource remains available for at least one non-real-time application of said general purpose computer system, and wherein said processor resource comprises processing capacity of one or more central processing units; and
processing said real-time application, wherein said processing comprises preventing, by a resource manager without assistance from said real-time application, said real-time application from exceeding a maximum amount of said processor resource selected for said group of real-time applications. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
setting a dispatch priority for said real-time application; and
specifying said dispatch priority is not to be adjusted.
-
-
34. The at least one program storage device of claim 31, wherein said allocating comprises:
-
determining a highest service cost, within a given period of time, for delivering a real-time data rate;
calculating a service rate for delivering a real-time data stream of said real-time application; and
indicating a sufficient amount of said processor resource is available for said real-time data stream when said service rate falls within said limit.
-
-
35. The at least one program storage device of claim 34, wherein said method further comprises adding a data rate of said real-time data stream to a current allocated data rate in order to track the amount of processor resource currently allocated to said group of real-time applications.
-
36. The at least one program storage device of claim 31, wherein said method further comprises deallocating said allocated amount of said processor resource when said real-time application no longer needs said processor resource.
-
37. The at least one program storage device of claim 36, wherein said deallocating comprises subtracting a data rate of said real-time application from a current allocated data rate such that the deallocated amount of processor resource is now available for said group of real-time applications.
-
38. The at least one program storage device of claim 31, wherein said method further comprises pausing processing of said real-time application.
-
39. The at least one program storage device of claim 38, wherein said pausing comprises reserving said allocated amount of processor resource.
-
40. The at least one program storage device of claim 38, wherein said method further comprises resuming processing of said paused real-time application.
-
41. The at least one program storage device of claim 31, wherein said processing of said real-time application comprises adjusting one or more control parameters associated with said real-time application, when said one or more control parameters need adjusting to meet one or more performance goals of said computer system.
-
42. The at least one program storage device of claim 31, wherein said method further comprises processing one of said at least one non-real-time application, wherein said processing of said one non-real-time application comprises adjusting one or more control parameters associated with said one non-real-time application, when said one or more control parameters need adjusting to meet one or more performance goals of said computer system.
-
43. The at least one program storage device of claim 31, wherein said preventing comprises indicating one or more work units of said real-time application is non-dispatchable such that said maximum amount is not exceeded.
-
44. At least one program storage device readable by a machine, tangibly embodying at least one program of instructions executable by the machine to perform a method of managing processor resources in a computer system, said method comprising:
-
selecting an amount of a processor resource allocatable to a group of one or more real-time applications of said computer system, said processor resource comprising processing capacity of one or more central processing units;
reserving a user-defined amount of said processor resource for one or more non-real-time applications of said computer system; and
preventing, by a resource manager without assistance of said one or more real-time applications, said group of one or more real-time applications from exceeding a maximum amount of said processor resource selected for said group of one or more real-time applications. - View Dependent Claims (45)
-
Specification