THROTTLE DISK I/O USING DISK DRIVE SIMULATION MODEL
First Claim
1. One or more computer-readable media having computer-executable instructions embodied thereon that, when executed, perform a method for throttling requests from one or more virtual machines (VMs) to a hard-disk drive using a filter driver, the method comprising:
- receiving a subject request from a service application running on the one or more VMs;
accessing a disk-drive model that behaves substantially similar to the hard-disk drive, wherein the process of accessing comprises;
(a) reading the disk-drive model'"'"'s simulation of performance characteristics of the hard-disk drive; and
(b) reading the disk-drive model'"'"'s simulation of a current state of a disk head of the hard-disk drive;
computing a projected execution time to carry out the subject request as a function of the performance characteristics and the current state of the disk head;
measuring an actual execution time to carry out the subject request upon passing the subject request to the hard-disk drive; and
throttling traffic of the requests from the VMs to the hard-disk drive using a comparison of the projected execution time and the actual execution time.
2 Assignments
0 Petitions
Accused Products
Abstract
Computerized methods, systems, and computer-storage media for throttling requests from virtual machines (VMs) to a hard-disk drive (HDD) are provided. When a request for disk I/O is received from a VM, a disk-drive model that simulates performance characteristics of the HDD is accessed. During access, the disk-drive model'"'"'s estimation of HDD parameters and the disk-drive model'"'"'s estimation of a current state of a disk head of the HDD are gathered. A projected execution time to carry out the request is computed as a function of the estimated HDD parameters and the estimated current state of the disk head. Also, an actual execution time to carry out the request is measured upon allowing the request to pass to the HDD. Using a comparison of the projected execution time and the actual execution time, the traffic of the requests from the VMs is throttled.
-
Citations
20 Claims
-
1. One or more computer-readable media having computer-executable instructions embodied thereon that, when executed, perform a method for throttling requests from one or more virtual machines (VMs) to a hard-disk drive using a filter driver, the method comprising:
-
receiving a subject request from a service application running on the one or more VMs; accessing a disk-drive model that behaves substantially similar to the hard-disk drive, wherein the process of accessing comprises; (a) reading the disk-drive model'"'"'s simulation of performance characteristics of the hard-disk drive; and (b) reading the disk-drive model'"'"'s simulation of a current state of a disk head of the hard-disk drive; computing a projected execution time to carry out the subject request as a function of the performance characteristics and the current state of the disk head; measuring an actual execution time to carry out the subject request upon passing the subject request to the hard-disk drive; and throttling traffic of the requests from the VMs to the hard-disk drive using a comparison of the projected execution time and the actual execution time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system capable of throttling a rate at which requests from a service application are executed by a hard-disk drive utilizing a disk-drive model, the computer system comprising at least one physical machine configured with a computer-storage medium having a plurality of computer software components running thereon, the computer software components comprising:
-
a virtual machine (VM) for hosting a portion of the service application, wherein the service application issues a second request to read data from or write data to a virtual hard disk file associated with the VM; a filter driver for comparing a projected execution time of a first request, which is calculated using the disk-drive model that simulates performance characteristics of the hard-disk drive, against an actual execution time of the first request, which is measured upon carrying out the first request at the hard-disk drive, and for affecting a time for carrying out the second request based on an outcome of the comparison. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computerized method for limiting a rate of requests flowing to a hard-disk drive, the method comprising:
-
employing a disk-drive model to compute a projected execution time for the hard-disk drive to carry out a first request; measuring an actual execution time taken by the hard-disk drive to carry out the first request; comparing the projected execution time against the actual execution time; and managing the rate of the requests allowed to pass to the hard-disk drive as a function of an outcome of the comparison, the process of managing comprising; (a) when the projected execution time exceeds the actual execution time by a value greater than a performance threshold, imposing a delay upon a second request before passing the second request to the hard-disk drive, wherein the delay is imposed until the difference between the actual execution time and the projected execution time satisfies the performance threshold; and (b) otherwise, passing the second request to the hard-disk drive upon receipt of the second request. - View Dependent Claims (20)
-
Specification