Shaping I/O traffic by managing queue depth in fractional increments
First Claim
Patent Images
1. A method for managing input/output (I/O) traffic in an information handling system, the method comprising:
- receiving electronic I/O requests from a network-attached server;
determining a queue depth limit;
monitoring latency of processed electronic I/O requests; and
processing received electronic I/O requests by;
managing a virtual bucket comprising a number of virtual tokens, each token representative of authorization for an I/O request to be processed; and
permitting a received I/O request to be processed if the virtual bucket comprises a number of virtual tokens greater than zero, and decrementing the number of virtual tokens by at least one;
wherein the number of electronic I/O requests permitted to be processed over a period of time is based on a mathematical combination of the queue depth limit and a latency of processed electronic I/O requests.
9 Assignments
0 Petitions
Accused Products
Abstract
A method for managing input/output (I/O) traffic in an information handling system. The method may include receiving electronic I/O requests from a network-attached server, determining a queue depth limit, monitoring latency of processed electronic I/O requests, and processing received electronic I/O requests. The number of electronic I/O requests permitted to be processed over a period of time may be based on a mathematical combination of the queue depth limit and a latency of processed electronic I/O requests. The determined queue depth limit may be a fractional value.
-
Citations
18 Claims
-
1. A method for managing input/output (I/O) traffic in an information handling system, the method comprising:
-
receiving electronic I/O requests from a network-attached server; determining a queue depth limit; monitoring latency of processed electronic I/O requests; and processing received electronic I/O requests by; managing a virtual bucket comprising a number of virtual tokens, each token representative of authorization for an I/O request to be processed; and permitting a received I/O request to be processed if the virtual bucket comprises a number of virtual tokens greater than zero, and decrementing the number of virtual tokens by at least one; wherein the number of electronic I/O requests permitted to be processed over a period of time is based on a mathematical combination of the queue depth limit and a latency of processed electronic I/O requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing input/output (I/O) traffic in an information handling system, the method comprising:
-
receiving electronic I/O requests from a plurality of network-attached servers; determining a queue depth limit for each of the plurality of network-attached servers; monitoring latency of processed electronic I/O requests; and for each of the network-attached servers, processing received electronic I/O requests for that network-attached server by; managing a virtual bucket comprising a number of virtual tokens, each token representative of authorization for an I/O request from at least that network-attached server to be processed; and permitting a received I/O request from that network-attached server to be processed if the virtual bucket comprises a number of virtual tokens greater than zero, and decrementing the number of virtual tokens by at least one; wherein the number of electronic I/O requests permitted to be processed for a given network-attached server over a period of time is based on a mathematical combination of the queue depth limit determined for that network-attached server and a latency of processed electronic I/O requests. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. An information handling system comprising:
-
a data storage system receiving I/O requests from two or more network-attached servers; and a controller managing the data storage system, including; storing a queue depth limit for each of the plurality of network-attached servers; monitoring latency of processed I/O requests; and for each of the network-attached servers, processing received I/O requests for that network-attached server by; managing a virtual bucket comprising a number of virtual tokens, each token representative of authorization for an I/O request from at least that network-attached server to be processed; and permitting a received I/O request from that network-attached server to be processed if the virtual bucket comprises a number of virtual tokens greater than zero, and decrementing the number of virtual tokens by at least one; wherein the number of I/O requests permitted to be processed for a given network-attached server over a period of time is based on a mathematical combination of the queue depth limit determined for that network-attached server and a latency of processed I/O requests. - View Dependent Claims (18)
-
Specification