QUALITY OF SERVICE BASED HANDLING OF INPUT/OUTPUT REQUESTS METHOD AND APPARATUS
First Claim
1. An apparatus comprising:
- one or more storage devices; and
one or more processors including a plurality of processor cores in communication with the one or more storage devices, wherein the one or more processors include a module that is to allocate an input/output (IO) request command, associated with an IO request originated within a compute node, to a particular first queue of a plurality of first queues based at in part on IO request type information included in the IO request command, the compute node and the apparatus distributed over a network and the plurality of first queues associated with different submission handling priority levels among each other, and wherein the module allocates the IO request command queued within the particular first queue to a particular second queue of a plurality of second queues based at least in part on affinity of a first submission handling priority level associated with the particular first queue to current quality of service (QoS) attributes of a subset of the one or more storage devices associated with the particular second queue.
1 Assignment
0 Petitions
Accused Products
Abstract
Apparatus and method to perform quality of service based handling of input/output (IO) requests are disclosed herein. In embodiments, one or more processors include a module that is to allocate an input/output (IO) request command, associated with an IO request originated within a compute node, to a particular first queue of a plurality of first queues based at in part on IO request type information included in the IO request command, the compute node and the apparatus distributed over a network and the plurality of first queues associated with different submission handling priority levels among each other, and wherein the module allocates the IO request command queued within the particular first queue to a particular second queue of a plurality of second queues based at least in part on affinity of a first submission handling priority level associated with the particular first queue to current quality of service (QoS) attributes of a subset of the one or more storage devices associated with the particular second queue.
19 Citations
26 Claims
-
1. An apparatus comprising:
-
one or more storage devices; and one or more processors including a plurality of processor cores in communication with the one or more storage devices, wherein the one or more processors include a module that is to allocate an input/output (IO) request command, associated with an IO request originated within a compute node, to a particular first queue of a plurality of first queues based at in part on IO request type information included in the IO request command, the compute node and the apparatus distributed over a network and the plurality of first queues associated with different submission handling priority levels among each other, and wherein the module allocates the IO request command queued within the particular first queue to a particular second queue of a plurality of second queues based at least in part on affinity of a first submission handling priority level associated with the particular first queue to current quality of service (QoS) attributes of a subset of the one or more storage devices associated with the particular second queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computerized method comprising:
-
in response to receipt, over a network, of an input/output (IO) request command associated with an IO request that originates at a compute node of a plurality of compute nodes distributed over the network, determining allocation of the IO request command to a particular first queue of a plurality of first queues based at in part on IO request type information included in the IO request command, wherein the plurality of first queues associated with respective submission handling priority levels; and determining allocation of the IO request command queued within the particular first queue to a particular second queue of a plurality of second queues based at least in part on affinity of a first submission handling priority level associated with the particular first queue to current quality of service (QoS) attributes of a group of one or more storage devices associated with the particular second queue, wherein the plurality of second queues is disposed between the plurality of first queues and the group of one or more storage devices. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An apparatus comprising:
-
a plurality of compute nodes distributed over a network, a compute node of the plurality of compute nodes to issue an input/output (IO) request command associated with an IO request, the IO request command to include an IO request type identifier; and a plurality of storage distributed over the network and in communication with the plurality of compute nodes, wherein a storage includes a module that is to assign a particular priority level to the IO request command received over the network and determine placement of the IO request command to a particular core queue of a plurality of core queues, the plurality of core queues associated with respective select group of storage devices included in the storage in accordance with IO request type identifier extracted from the IO request command and an affinity of particular priority level to current quality of service (QoS) attributes of a select group of storage devices associated with the particular core queue. - View Dependent Claims (19, 20, 21)
-
-
22. An apparatus comprising:
-
in response to receipt, over a network, of an input/output (IO) request command associated with an IO request that originates at a compute node of a plurality of compute nodes distributed over the network, means for determining allocation of the IO request command to a particular first queue of a plurality of first queues based at in part on IO request type information included in the IO request command, wherein the plurality of first queues associated with respective submission handling priority levels; and means for determining allocation of the IO request command queued within the particular first queue to a particular second queue of a plurality of second queues based at least in part on affinity of a first submission handling priority level associated with the particular first queue to current quality of service (QoS) attributes of a group of one or more storage devices associated with the particular second queue, wherein the plurality of second queues is disposed between the plurality of first queues and the group of one or more storage devices. - View Dependent Claims (23, 24, 25, 26)
-
Specification