IP Library Granted Patent US 9,686,352
Granted Patent B2
US 9,686,352 · App. 15/280,579 · Granted Jun 20, 2017

Saturation detection and admission control for storage devices

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,686,352
App. No.
15/280,579
Granted
Jun 20, 2017
Kind
B2
Abstract

Maximum throughput of a storage unit, and workload and latency values of the storage unit corresponding to a predefined fraction of the maximum throughput are estimated based on workloads and latencies that are monitored on the storage unit. The computed metrics are usable in a variety of different applications including admission control, storage load balancing, and enforcing quality of service in a shared storage environment.

Claims (46)

1. A non-transitory computer-readable storage medium embodying computer program instructions for controlling admissions of a workload into a storage unit, the computer program instructions implementing operations comprising:

computing a threshold latency or a threshold workload corresponding to a predefined fraction of a maximum throughput of the storage unit;

estimating a total latency or a total workload that would result if the workload is admitted;

comparing the estimated total latency or the total workload with the threshold latency or the threshold workload, respectively; and

admitting the workload if the estimated total latency is less than the threshold latency or the total workload is less than the threshold workload.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the predefined fraction is either 100% or less than 100%.

3. The non-transitory computer-readable storage medium of claim 1 , wherein:

the threshold latency is determined based on the predefined fraction and a zero intercept of a line that characterizes a relationship between workload on the storage unit and latency of the storage unit; or

the threshold workload is determined based on the predefined fraction and a slope and the zero intercept of the line that characterizes the relationship between workload on the storage unit and latency of the storage unit.

4. The non-transitory computer-readable storage medium of claim 3 , the operations further comprising:

monitoring one or more workloads on the storage unit and a latency of the storage unit at multiple points in time over a period of time;

performing a linear fit between the one or more monitored workloads and the monitored latencies to determine the line that characterizes the relationship between workload on the storage unit and latency of the storage unit.

5. The non-transitory computer-readable storage medium of claim 4 , wherein the one or more workloads on the storage unit are monitored by monitoring outstanding IOs to the storage unit.

6. The non-transitory computer-readable storage medium of claim 1 , the operations further comprising:

receiving a request from a client to admit the workload,

wherein the request includes a storage characterization of the client, the storage characterization including one or more cumulative distribution functions indicating an accumulation of load as a percentage of run time, and

wherein the total latency or the total workload is estimated based on the storage characterization of the client.

7. The non-transitory computer-readable storage medium of claim 1 , wherein the maximum throughput of the storage unit is determined as an inverse of a slope of a line that characterizes a relationship between workload on the storage unit and latency of the storage unit.

8. The non-transitory computer-readable storage medium of claim 7 , the operations further comprising:

detecting an idle period of time for the storage unit; and

injecting controlled loads into the storage unit over the period of time,

wherein the line is determined based on a linear fit of measured latencies versus corresponding loads.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the controlled loads include IO requests that are generated repeatedly over multiple time intervals and the number of IO requests generated at each subsequent time interval increases.

10. The non-transitory computer-readable storage medium of claim 1 , the operations further comprising:

rejecting the workload if the estimated total latency is greater than the threshold throughput.

11. A non-transitory computer-readable storage medium embodying computer program instructions for load balancing workloads across storage units in a storage system, the computer program instructions implementing operations comprising:

selecting a workload for migration to a destination storage unit;

determining whether or not migration of the selected workload to the destination storage unit will cause the destination storage unit to reach a predefined fraction of a saturation workload; and

migrating the selected workload to the destination storage unit if the predefined fraction of the saturation workload of the storage unit will not be reached.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the predefined fraction is either 100% or less than 100%.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the predefined fraction of the saturation workload of the storage unit is determined based on the predefined fraction, a slope of a line that characterizes a relationship between monitored workloads on the storage unit and monitored latencies of the storage unit, and a zero intercept of the line.

14. The non-transitory computer-readable storage medium of claim 11 , wherein, if the predefined fraction of the saturation workload of the storage unit will be reached, then the selected workload is migrated to a different storage unit or another workload is selected for migration to the destination storage unit.

15. The non-transitory computer-readable storage medium of claim 11 , the operations further comprising:

determining whether the storage system is load balanced after migrating the selected workload; and

if the storage system is not load balanced, selecting another workload for migration.

16. A computer system comprising a plurality of hosts sharing a common storage unit, wherein each host comprises:

a processor; and

a memory, wherein the memory includes a program configured for execution by the processor to perform operations for enforcing a quality of service policy, the operations comprising:

determining an average latency across all of the hosts;

comparing the average latency with a threshold latency; and

adjusting an IO issue queue size of the host,

wherein the threshold latency is determined as latency of the common storage unit operating at a predefined fraction of maximum throughput.

17. The computer system of claim 16 , wherein the predefined fraction is either 100% or is less than 100%.

18. The computer system of claim 16 , wherein the latency of the common storage unit operating at the predefined fraction of maximum throughput is determined based on the predefined fraction and a zero intercept of a line that characterizes a relationship between monitored workloads on the common storage unit and monitored latencies of the common storage unit.

19. The computer system of claim 16 , wherein the IO issue queue sizes of the host is adjusted based in part on assigned shares of the hosts.

20. The computer system of claim 19 , wherein the IO issue queue size of the host is adjusted based on a ratio of the average latency across all of the hosts to the threshold latency, a current IO issue queue size, and the assigned shares.

Assignments (1)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →