Workload analysis for long-term management via performance service levels

US12135877B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12135877-B2
Application numberUS-202117241887-A
CountryUS
Kind codeB2
Filing dateApr 27, 2021
Priority dateApr 27, 2021
Publication dateNov 5, 2024
Grant dateNov 5, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems, methods, and machine-readable media for monitoring a storage system and assigning performance service levels to workloads running on nodes within a cluster are disclosed. A performance manager may estimate the performance demands of each workload within the cluster and assign a performance service level to each workload according to the performance requirements of the workload, and further taking into account an overall budgeting framework. The estimates are performed using historical performance data for each workload. A performance service level may include a service level object, a service level agreement, and latency parameters. These parameters may provide a ceiling to the number of operations per second that a workload may use without guaranteeing the use of the operations per second, a guaranteed number of operations per second that a workload may use before being throttled, and define the permitted delay in completing a request to the workload.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: monitoring, by a performance manager executed by a processor, performance data of a workload from a plurality of workloads from one or more nodes in a cluster, the performance data comprising at least a number of input/output operations per second; estimating, by the performance manager based on the performance data, a performance requirement for the workload within the cluster, wherein the performance requirement includes a maximum number of input/output operations per second (IOPS), an average number of IOPS, and a median number of IOPS; determining, by the performance manager based on the estimated performance requirement for the workload, an estimated performance of one or more performance service levels (PSLs) for the workload from the plurality of workloads, wherein each of the one or more PSLs includes a service level agreement, a service level objective, and a latency; determining, by the performance manager in response to the determining the estimated performance requirement for the workload, whether the one or more PSLs satisfy at least one secondary parameter, wherein the secondary parameter is different from the estimated performance of the one or more PSLs; selecting, by the performance manager in response to a comparison of the estimated performance of the one or more PSLs to the performance data of the workload and satisfaction of the at least one secondary parameter indicating a compatible PSL, the PSL from the one or more PSLs having a smallest number of expected IOPS that meets a requirement of the workload to use for the workload within the cluster; selecting, by the performance manager in response to the comparison and the determining the satisfaction of the at least one secondary parameter indicating no compatible PSL, the PSL from the one or more PSLs having a largest number of expected IOPS from among the one or more PSLs to use for the workload within the cluster; assigning, by the performance manager, the selected PSL to the workload in the cluster; and executing, by the one or more nodes, the workload using the assigned PSL. 2. The method of claim 1 , wherein the service level agreement guarantees a first number of IOPS to a workload, the service level objective allows a second number of IOPS to the workload, and the second number of IOPS is higher than the first number of IOPS. 3. The method of claim 1 , wherein a number of IOPS guaranteed by the assigned PSL is equal to a number of IOPS available in the cluster, or greater than the number of IOPS available in the cluster. 4. The method of claim 1 , further comprising: retrieving, by the performance manager on a periodic basis, updated performance data of the workload being executed by the assigned PSL; repeating, by the performance manager in response to the periodic retrieving, the determining the estimated performance of each of the one or more PSLs, the determining the satisfaction of the at least one secondary parameter, and the selecting based on the comparison to determine an updated PSL; comparing, by the performance manager, the updated PSL to the assigned PSL; and assigning, by the performance manager, the updated PSL to the workload in response to the updated PSL being different than the assigned PSL. 5. The method of claim 1 , wherein: the estimated performance of the one or more PSLs comprises at least one of a calculated peak IOPS or a calculated expected IOPS, the comparison comprises comparing, by the performance manager, at least one of the calculated peak IOPS or the calculated expected IOPS of each of the one or more PSLs to at least one of the maximum number of IOPS or average number of IOPS for the workload, and compatibility is based on the at least one of the calculated peak IOPS or the calculated expected IOPS being greater than or equal to the at least one of the maximum number of IOPS or average number of IOPS for the workload. 6. The method of claim 1 , wherein: the comparison comprises comparing, by the performance manager, a name of the workload to respective keywords associated with the one or more PSLs, and the compatibility is based on the name of the workload matching a keywork from among the respective keywords associated with the one or more PSLs. 7. The method of claim 1 , wherein the selecting that is in response to the indicating the compatible PSL further comprises: identifying, by the performance manager, a plurality of PSLs as compatible and having the same smallest number of expected IOPS; and selecting, by the performance manager, the PSL from the plurality of PSLs based on a predetermined order. 8. The method of claim 1 , wherein: the monitoring of the performance data is continuous, and the selecting the PSL is performed automatically without user confirmation. 9. A non-transitory machine-readable medium having stored thereon instructions for performing a method managing workload demand in a storage system, which when executed by at least one machine, cause the at least one machine to: detect an addition of a workload to the storage system from a plurality of workloads from one or more clients; monitor performance data of the workload from the plurality of workloads, the performance data comprising at least a number of input/output operations per second (IOPS); estimate a performance demand of the workload, the performance demand comprising at least one IOPS metric; determine, based on the estimated performance demand for the workload, an estimated performance of one or more performance service levels (PSLs) for the workload, wherein each of the one or more PSLs includes a service level agreement; compare the estimated performance of the one or more PSLs to performance data of the workload to determine compatibility of the one or more PSLs to the estimated performance demand for the workload; determine, in response to the comparison identifying compatibility, whether the one or more PSLs satisfy at least one secondary parameter, the at least one secondary parameter being different than the estimated performance of the one or more PSLs; select, in response to the comparison identifying compatibility and satisfaction of the at least one secondary parameter, a PSL from the one or more PSLs having a smallest number of expected IOPS that meets a requirement of the workload to use for the workload; select, in response to the comparison identifying no compatibility and no satisfaction of the at least one secondary parameter, the PSL from the one or more PSLs having a largest number of expected IOPS from among the one or more PSLs to use for the workload; assign the selected PSL to the workload; and execute the workload by the at least one machine using the assigned PSL. 10. The non-transitory machine-readable medium of claim 9 , wherein the instructions when executed further cause the at least one machine to: update a workload table with the assigned PSL, the workload table maintaining mappings between a plurality of workloads in the storage system, including the detected workload, and one or more PSLs including the assigned PSL, wherein the workload table is analyzed to identify the assigned PSL. 11. The non-transitory machine-readable medium of claim 9 , wherein the assigned PSL further includes a service level objective and an allowed latency. 12. The non-transitory machine-readable medium of claim 9 , wherein the at least one IOPS metric comprises a maximum number of input/output operations per second (IOPS), an average number of IOPS, and a median number of IOPS. 13. The non-transitory machine-readable medium of claim 9 , wherein the instructions when e

Assignees

Inventors

Classifications

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title

  • for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • Monitoring storage devices or systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12135877B2 cover?
Systems, methods, and machine-readable media for monitoring a storage system and assigning performance service levels to workloads running on nodes within a cluster are disclosed. A performance manager may estimate the performance demands of each workload within the cluster and assign a performance service level to each workload according to the performance requirements of the workload, and fur…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0611. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 05 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).