Adaptive bandwidth distribution system for high-performance input/output devices with variable throughput
First Claim
1. A method for issuing shadow requests to manage bandwidth allocation between an application that issues input/output (I/O) operation requests and an I/O device, the method comprising:
- detecting the completion of an I/O operation that includes either a read operation from the I/O device to the application or a write operation from the application to the I/O device;
calculating a statistical duration for future I/O operations between the application and the I/O device based on throughput statistics related to past I/O operations between the application and the I/O device;
generating a first shadow request for reserving a first position in a queue that stores pending I/O requests for the I/O device for a first future I/O operation request from the application and having a duration related to the statistical duration; and
inserting the first shadow request into the queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for issuing shadow requests to manage bandwidth allocation between an application that issues input/output (I/O) operation requests and an I/O device. A bandwidth manager detects the completion of an I/O operation, which includes either a read operation or a write operation. The bandwidth manager calculates a statistical duration for future I/O operations between the application and the I/O device based on throughput statistics related to past I/O operations. The bandwidth manager generates a shadow request for reserving a position in a queue that stores pending I/O requests for the I/O device for a first future I/O operation request from the application and having a duration related to the statistical duration, and inserts the shadow request into the queue. Advantageously, applications that do not make frequent I/O operation requests in advance may still execute I/O operations because bandwidth is reserved for future I/O operation requests via the shadow requests.
14 Citations
19 Claims
-
1. A method for issuing shadow requests to manage bandwidth allocation between an application that issues input/output (I/O) operation requests and an I/O device, the method comprising:
-
detecting the completion of an I/O operation that includes either a read operation from the I/O device to the application or a write operation from the application to the I/O device; calculating a statistical duration for future I/O operations between the application and the I/O device based on throughput statistics related to past I/O operations between the application and the I/O device; generating a first shadow request for reserving a first position in a queue that stores pending I/O requests for the I/O device for a first future I/O operation request from the application and having a duration related to the statistical duration; and inserting the first shadow request into the queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium storing instructions that, when executed by a processor, cause a bandwidth manager to issue shadow requests to manage bandwidth allocation between an application that issues input/output (I/O) operation requests and an I/O device, by performing the steps of:
-
detecting the completion of an I/O operation that includes either a read operation from the I/O device to the application or a write operation from the application to the I/O device; calculating a statistical duration for future I/O operations between the application and the I/O device based on throughput statistics related to past I/O operations between the application and the I/O device; generating a first shadow request for reserving a first position in a queue that stores pending I/O requests for the I/O device for a first future I/O operation request from the application and having a duration related to the statistical duration; and inserting the first shadow request into the queue. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for issuing shadow requests to manage bandwidth allocation between an application that issues input/output (I/O) operation requests and an I/O device, the system comprising:
-
a memory; and a processor configured to; detect the completion of an I/O operation that includes either a read operation from the I/O device to the application or a write operation from the application to the I/O device; calculate a statistical duration for future I/O operations between the application and the I/O device based on throughput statistics related to past I/O operations between the application and the I/O device; generate a first shadow request for reserving a first position in a queue that stores pending I/O requests for the I/O device for a first future I/O operation request from the application and having a duration related to the statistical duration; and insert the first shadow request into the queue.
-
Specification