Fine Grained Adaptive Throttling of Background Processes
First Claim
1. One or more computer readable tangible storage mediums storing one or more sequences of instructions, which when executed by one or more processors, cause:
- monitoring a utilization for a shared resource that is used by one or more background processes; and
dynamically adjusting a frequency at which the one or more background processes are executed based on a current utilization of the shared resource, without adjusting the frequency in which one or more foreground processes are executed, to ensure that the utilization of the shared resource does not exceed a threshold value.
4 Assignments
0 Petitions
Accused Products
Abstract
Approaches for throttling backgrounds processes to a high degree of precision. The utilization of a shared resource that is used by one or more background processes is monitored. A frequency at which the one or more background processes are executed is dynamically adjusted based on the current utilization of the shared resource without adjusting the frequency in which one or more foreground processes are executed to ensure that the utilization of the shared resource does not exceed a threshold value. The monitoring of the utilization of the shared resource may be performed more often than the adjusted of the frequency at which the background processes are executed, and the utilization of the shared resources may be performed many times a second. Consequently, the utilization of the shared resource may be above a certain level (such as 65%) and less than another level, such as 90%, when background processes are executing.
20 Citations
20 Claims
-
1. One or more computer readable tangible storage mediums storing one or more sequences of instructions, which when executed by one or more processors, cause:
-
monitoring a utilization for a shared resource that is used by one or more background processes; and dynamically adjusting a frequency at which the one or more background processes are executed based on a current utilization of the shared resource, without adjusting the frequency in which one or more foreground processes are executed, to ensure that the utilization of the shared resource does not exceed a threshold value. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more computer readable tangible storage mediums storing one or more sequences of instructions, which when executed by one or more processors, cause:
-
monitoring a utilization for a shared resource that is used by a background process; and dynamically adjusting a block size of data copied by the background process based upon the utilization for a shared resource.
-
-
18. A method for throttling backgrounds processes to a high degree of precision, comprising:
-
monitoring a utilization for a shared resource that is used by one or more background processes; and dynamically adjusting a frequency at which the one or more background processes are executed based on a current utilization of the shared resource, without adjusting the frequency in which one or more foreground processes are executed, to ensure that the utilization of the shared resource does not exceed a threshold value.
-
-
19. An apparatus, comprising:
-
one or more processors; and one or more computer readable storage medium storing one or more sequences, which when executed by the one or more processors, cause; monitoring a utilization for a shared resource that is used by one or more background processes; and dynamically adjusting a frequency at which the one or more background processes are executed based on a current utilization of the shared resource, without adjusting the frequency in which one or more foreground processes are executed, to ensure that the utilization of the shared resource does not exceed a threshold value.
-
-
20. An apparatus, comprising:
-
one or more processors; and one or more computer readable storage medium storing one or more sequences, which when executed by the one or more processors, cause; monitoring a utilization for a shared resource that is used by a background process; and dynamically adjusting a block size of data copied by the background process based upon the utilization for a shared resource.
-
Specification