Throttling processing threads
AssigneeEMC IP Holding Company LLC
InventorsRamesh Doddaiah, Malak Alshawabkeh, Mohammed Asher, Rong Yu
Life of this patent
Estimating the term…
Loading patent…
AssigneeEMC IP Holding Company LLC
InventorsRamesh Doddaiah, Malak Alshawabkeh, Mohammed Asher, Rong Yu
Estimating the term…
Embodiments of the present disclosure relate to throttling processing threads of a storage device. One or more input/output (I/O) workloads of a storage device can be monitored. One or more resources consumed by each thread of each storage device component to process each operation included in a workload can be analyzed. Based on the analysis, consumption of each resource consumed by each thread can be controlled.
An apparatus comprising a memory and at least one processor configured to:
A method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
No references of this kind are recorded.
To service a request: the resource being a machine, e.g. CPUs, Servers, Terminals
For performance assessment: for load management
The resource being a machine, e.g. CPUs, Servers, Terminals: considering the load
Monitoring arrangements specially adapted to the computing system or computing system component being monitored: where the computing system is…
About 14 years 6 months of term left · ends 24 Apr 2041 (estimated)
Many organizations implement shared infrastructures to increase operational efficiencies and improve resource utilization. In response to users, applications, and/or devices requesting access to the same infrastructure resource, quality of service (QoS) technologies can be used to manage the requests. QoS technologies can include policies that attempt to ensure expected performance levels of the shared infrastructure. For example, QoS policies can be used to ensure that business-critical applications are provided consistent and expected performance by the shared infrastructure.
One or more aspects of the present disclosure relate to throttling processing threads of a storage device. One or more input/output (I/O) workloads of a storage device can be monitored. One or more resources consumed by each thread of each storage device component to process each operation included in a workload can be analyzed. Based on the analysis, consumption of each resource consumed by each thread can be controlled
In embodiments, each I/O workloads for each storage device can be analyzed to identify workload patterns of each storage device. Further, I/O workload characteristics corresponding to one or more anticipated workloads for each storage device can be predicted based on the identified patterns.
The foregoing and other objects, features and advantages will be apparent from the following more particular description of the embodiments, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the embodiments.
FIG. 1 is a block diagram of a storage system in accordance with example embodiments disclosed herein.
FIG. 2 is a block diagram of a thread controller in accordance with example embodiments disclosed herein.
A storage device such as a storage array provided over a storage array network (SAN) can receive input/output (I/O) workloads that include I/O operations from different hosts and/or applications. In response to receiving the workloads, the storage device can include one or more components (e.g., hardware and/or software elements) that process each I/O operation by executing one or more threads (e.g., a sequence of instructions). Organizations often use quality of service (QoS) technologies to limit and/or prevent each host and/or application from disrupting each other's storage performance levels received from the storage device. For example, organizations often desire storage devices to deliver consistent storage performance to business-critical applications. To meet desired storage performance, the QoS technologies can control access to storage device resources between hosts and/or applications to prevent such disruption.
Organizations currently use QoS technologies such as rate limiting, prioritization, and tiering. However, these technologies are known to fail when storage requirements scale (e.g., when there are many hosts and/or applications requesting access to storage device resources). When organizations' storage requirements scale, they generally implement host-based QoS technologies. Host-based QoS technologies are configured to control shared storage resources based on metrics such as input/output (I/O) operations per second (IOPS) and response times. However, those metrics do not provide information related to, e.g., a storage device's hardware and/or software resources (“component resources”) required to implement shared storage services. The hardware resources can include, e.g., a central processing unit (CPU), memory, hardware bandwidth, and fabric bandwidth, amongst others. The software (e.g., feature) resources can include, e.g., software bandwidth, local replication, remote replication, prefetch, asynchronous I/O, scrubber, low priority tasks, I/O processing, protocol processing (e.g., FC, NVME, ISCSI), firmware, and drivers, amongst others. Thus, the current host-based QoS techniques cannot control how the component resources are consumed.
Embodiments of the present disclosure relate to novel QoS technologies applied to the component resources. For example, the embodiments can identify threads that are not related to a current I/O workload, e.g., low priority tasks, features, and scrubbers (herein referred to as “out-of-context threads”). The novel QoS technologies can limit each out-of-context thread's access to the component resources. Thus, the embodiments can advantageously increase an amount of component resources available to process current I/O workloads.