Quality of service management in a distributed storage system
One or more computing devices may comprise congestion management circuitry, one or more client file system request buffers, and DESS interface circuitry. The congestion management circuitry is operable to determine an amount of congestion in the DESS. The one or more client file system request buffers is/are operable to queue first client file system requests of a first priority level and second client file system requests of a second priority level, wherein the first priority level is higher priority than the second priority level. The DESS interface circuitry is operable to control a rate at which the first file system requests and second file system requests are fetched from the one or more client file system request buffers based on the amount of congestion in the DESS, on the first priority level, and on the second priority level.
1 . A system, wherein the system comprises:
a congestion management circuit operable to determine a quality of service (QoS) in a storage system;
a request buffer operable to queue a plurality of requests; and
an interface circuit operable to control a choking rate and a fetching rate of the plurality requests, wherein the interface circuit comprises:
a file system mounting point that is not statically associated with one particular priority class,
a centralized priority manager configured to store and distribute priority settings to nodes within the storage system, and
a buffering control circuit configured to allocate different fetching rates, via the file system mounting point, according to priority levels assigned by the centralized priority manager.
2 . The system of claim 1 , wherein the choking rate is controlled according to the QoS of the storage system.
3 . The system of claim 1 , wherein the fetching rate is controlled according to the QoS of the storage system.
4 . The system of claim 1 , wherein the choking rate is controlled according to a priority of each of the plurality of requests.
5 . The system of claim 1 , wherein the fetching rate is controlled according to a priority of each of the plurality of requests.
6 . The system of claim 1 , wherein the choking rate is controlled according to a number of operations of each of the plurality of requests.
7 . The system of claim 1 , wherein the fetching rate is controlled according to a number of operations of each of the plurality of requests.
8 . The system of claim 1 , wherein the choking rate is controlled according to a level of requests previously queued in the request buffer.
9 . The system of claim 1 , wherein the fetching rate is controlled according to a level of requests previously queued in the request buffer.
10 . The system of claim 1 , wherein the system comprises:
a queueing circuit operable to:
receive a particular request, and
determine the priority of the particular request according to a mount point to which the particular request is directed.
11 . The system of claim 1 , wherein the system comprises:
a queueing circuit operable to:
receive a particular request;
queue the particular request in a first buffer if the particular request is directed to first mount point; and
queue the particular request in a second buffer if the particular request is directed to a second mount point.
12 . The system of claim 1 , wherein a particular request of the plurality of requests is directed to a file system mounted at a particular mount point according to a priority associated with the particular request.
13 . The system of claim 1 , wherein a particular request of the plurality of requests is directed to a file system mounted at a particular mount point according to a number of operations of the particular request.
14 . The system of claim 1 , wherein the interface circuitry is operable to fetch requests from the request buffers in accordance with a round-robin schedule.
15 . The system of claim 14 , wherein in each round of the round-robin schedule:
at least one request directed to a file system mounted at a first mount point is fetched.
16 . The system of claim 15 , wherein in each round of the round-robin schedule:
at least one request directed to a file system mounted at a second mount point is fetched.
17 . The system of claim 1 , wherein the system comprises:
a priority management circuit operable to determine a mount point at which a file system should be mounted on a node of the storage system, wherein the mount point is determined according to a characteristic of the node.
18 . The system of claim 17 , wherein the characteristic of the node is based on a client process that runs on the node.
19 . The system of claim 1 , wherein the interface circuitry is operable to:
fetch all requests of the plurality of requests when the QoS is below a threshold.
20 . The system of claim 1 , wherein the interface circuitry is operable to:
fetch a request of the plurality of requests according to priority when the QoS is above the threshold.