Methods and apparatus for IO sizing based task throttling
First Claim
1. A machine-readable non-transitory storage medium having instructions therein, which when executed by a machine, cause the machine to perform operations comprising:
- updating an ordering relationship among a plurality of service tasks, wherein execution of each service task depends on a usage of a common processing resource, each service task having a rate of usage of the common processing resource, each service task associated with one of a plurality of task types, wherein the common processing resource having an available rate of usage, wherein each task type has a priority, and wherein the ordering relationship is updated based on a combination of the priority and the usage rate of each service task;
determining an allocation of the available rate of usage among the task types, the allocation indicating a portion of the available rate of usage for each of task type associated with the service tasks;
selecting one or more of the service tasks for execution according to the allocation and the ordering relationship among the plurality of service tasks, wherein at least one of the selected service task(s) is associated with each task type associated with the service tasks;
executing the selected service task(s) to update data stored in a device via the common processing resource, wherein the device includes a storage component storing the data in a file system;
calculating a maximum resource usage associated with the file system, wherein the maximum resource usage indicates a maximum number of transactions per unit time associated with the file system; and
dividing and distributing the maximum resource usage associated with the file system among the selected service task(s) in accordance with an ordering relationship among the selected service task(s).
9 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatuses select service tasks according to allocations of an available usage rate of a common processing resource are described. An ordering relationship is updated among the service tasks. E service task can have a rate of usage of the common processing resource. Each service may be associated with one of multiple task types. An allocation of the available rate of usage may be determined among the task types. The allocation can indicate a portion of the available rate of usage for each task type. The service tasks may be selected according to the allocation and the ordering relationship. At least one of the selected service tasks is associated with each task type associated with the service tasks.
-
Citations
25 Claims
-
1. A machine-readable non-transitory storage medium having instructions therein, which when executed by a machine, cause the machine to perform operations comprising:
-
updating an ordering relationship among a plurality of service tasks, wherein execution of each service task depends on a usage of a common processing resource, each service task having a rate of usage of the common processing resource, each service task associated with one of a plurality of task types, wherein the common processing resource having an available rate of usage, wherein each task type has a priority, and wherein the ordering relationship is updated based on a combination of the priority and the usage rate of each service task; determining an allocation of the available rate of usage among the task types, the allocation indicating a portion of the available rate of usage for each of task type associated with the service tasks; selecting one or more of the service tasks for execution according to the allocation and the ordering relationship among the plurality of service tasks, wherein at least one of the selected service task(s) is associated with each task type associated with the service tasks; executing the selected service task(s) to update data stored in a device via the common processing resource, wherein the device includes a storage component storing the data in a file system; calculating a maximum resource usage associated with the file system, wherein the maximum resource usage indicates a maximum number of transactions per unit time associated with the file system; and dividing and distributing the maximum resource usage associated with the file system among the selected service task(s) in accordance with an ordering relationship among the selected service task(s). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer-implemented method, the method comprising:
-
updating an ordering relationship among a plurality of service tasks, wherein execution of each service task depends on a usage of a common processing resource, each service task having a rate of usage of the common processing resource, each service task associated with one of a plurality of task types, wherein the common processing resource having an available rate of usage, wherein each task type has a priority, and wherein the ordering relationship is updated based on a combination of the priority and the usage rate of each service task; determining an allocation of the available rate of usage among the task types, the allocation indicating a portion of the available rate of usage for each of task type associated with the service tasks; selecting one or more of the service tasks for execution according to the allocation and the ordering relationship among the plurality of service tasks, wherein at least one of the selected service task(s) is associated with each task type associated with the service tasks; executing the selected service task(s) to update data stored in a device via the common processing resource, wherein the device includes a storage component storing the data in a file system; calculating a maximum resource usage associated with the file system, wherein the maximum resource usage indicates a maximum number of transactions per unit time associated with the file system; and dividing and distributing the maximum resource usage associated with the file system among the selected service task(s) in accordance with an ordering relationship among the selected service task(s). - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer system comprising:
-
a memory storing executable instructions; a storage device storing data; a processor coupled to the memory and the storage device to execute the instructions from the memory, the processor being configured to update an ordering relationship among a plurality of service tasks, wherein execution of each service task depends on a usage of an interface to the storage device, each service task having a rate of usage of the interface, each service task associated with one of a plurality of task types, wherein the interface to the storage device having an available rate of usage, wherein each task type has a priority, and wherein the ordering relationship is updated based on a combination of the priority and the usage rate of each service task; determine an allocation of the available rate of usage among the task types, the allocation indicating a portion of the available rate of usage for each of task type associated with the service tasks; select one or more of the service tasks for execution according to the allocation and the ordering relationship among the plurality of service tasks, wherein at least one of the selected service task(s) is associated with each task type associated with the service tasks; execute the selected service task(s) to update the data stored in the storage device via the interface, wherein the device includes a storage component storing the data in a file system; calculate a maximum resource usage associated with the file system, wherein the maximum resource usage indicates a maximum number of transactions per unit time associated with the file system; and divide and distribute the maximum resource usage associated with the file system among the selected service task(s) in accordance with an ordering relationship among the selected service task(s).
-
Specification