US 12,135,880 B1
Dynamic quality of service implementation based upon resource saturation
Abdul Basit, Morrisville, NC (US); Daniel McCarthy, Erie, CO (US); Christopher Lee Cason, Boulder, CO (US); and Jian Hu, Apex, NC (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Apr. 26, 2023, as Appl. No. 18/307,097.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0613 (2013.01) [G06F 3/0659 (2013.01); G06F 3/0683 (2013.01)] 23 Claims
OG exemplary drawing
 
1. A method comprising:
receiving an I/O operation targeting a volume of a distributed storage system implementing a resource saturation based quality of service policy used to throttle and shape I/O operations based upon resource saturation;
evaluating the I/O operation using a set of credit pools of a rate bucket assigned to the volume to determine whether the rate bucket indicates a resource saturation condition;
in response to the rate bucket indicating that there is no resource saturation condition, routing the I/O operation to a file system of the distributed storage system;
in response to the rate bucket indicating that there is the resource saturation condition, queuing the I/O operation as part of I/O throttling defined by the quality of service policy, wherein the I/O operation is queued into a queue selected from a set of queues based upon the volume being assigned to a priority band of the queue; and
selectively removing and processing queued I/O operations from the set of queues.