CN112100040A - 用于预测共享资源操作度量的存储介质、系统和方法 - Google Patents
用于预测共享资源操作度量的存储介质、系统和方法 Download PDFInfo
- Publication number
- CN112100040A CN112100040A CN202010503265.9A CN202010503265A CN112100040A CN 112100040 A CN112100040 A CN 112100040A CN 202010503265 A CN202010503265 A CN 202010503265A CN 112100040 A CN112100040 A CN 112100040A
- Authority
- CN
- China
- Prior art keywords
- host
- shared resource
- requestor
- operations
- requester
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3034—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3041—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Geometry (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及用于预测共享资源操作度量的存储介质、系统和方法。在一些示例中,使用从多个主机系统的参数值的聚合生成的模型,系统预测操作度量,该操作度量表示由多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能,共享资源位于该多个主机系统的外部。
Description
技术领域
本公开涉及共享资源操作度量。
背景技术
通过布置存储设备,可以用于存储数据。请求者可以发出访问存储在存储设备处的数据的请求。请求者提交的请求会导致用于控制存储设备访问的存储系统处的工作负载。
发明内容
本公开一个方面提供一种非暂态机器可读存储介质,包括指令,所述指令在运行时使得系统执行下述操作:
使用从多个主机系统的参数值的聚合生成的模型,预测表示由所述多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能的操作度量,所述共享资源位于所述多个主机系统的外部。
本公开另一方面提供一种系统,包括:
处理器;以及
非暂态存储介质,存储有指令,所述指令能够在所述处理器上运行以执行下述操作:
使用多个主机系统的参数值的聚合训练模型;
将所述多个主机系统中第一主机系统中的请求者的聚合参数值输入经训练的模型;以及
响应于所述请求者的所述聚合参数值的输入,通过所述经训练的模型输出表示由所述请求者引起的共享资源的使用情况或性能的操作度量,所述共享资源位于所述多个主机系统的外部。
本公开再一个方面提供一种由包括硬件处理器的系统执行的方法,所述方法包括:
使用基于多个主机系统的参数值的聚合以及与所述多个主机系统中的相应主机系统相关联的不同特征的输入/输出(I/O)操作的桶集合的聚合训练的模型预测操作度量,所述操作度量表示由所述多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能,所述共享资源位于所述多个主机系统的外部。
附图说明
参照以下附图描述本公开的一些实施方式。
图1是根据一些示例的包括主机系统、存储系统和操作度量计算引擎的布置的框图。
图2是示出根据一些示例计算的操作度量的各种示例可视化的框图。
图3示出了根据一些示例的工作负载的桶的直方图。
图4A-4C示出了根据一些示例的使用模型计算操作度量值的示例。
图5是根据一些示例的存储机器可读指令的存储介质的框图。
图6是根据一些示例的系统的框图。
图7是根据一些示例的过程的流程图。
在附图中,相同的附图标记表示相似但不一定相同的元素。附图不一定按比例绘制,且附图的某些部分的尺寸可以被放大,以清楚地显示所示的示例。此外,附图提供了与本公开一致的示例和/或实施方式,但本公开不限于附图中提供的示例和/或实施方式。
具体实施方式
在本公开中,除非上下文另有明确指示,术语“一”、“一个”、“该”或“所述”旨在包括复数形式。此外,在本公开中,术语“包括”、“包含”、“含有”或“具有”指定了存在所表述的元素,但不排除其他元素的存在或增加。
“存储系统”可以指包括硬件和机器可读指令以实现数据存储的平台。存储系统可以使用处理资源、存储器资源和通信资源的组合来实现。
处理资源可以包括一个或多个处理器,或处理器的部分(例如,一个或多个核)。存储器资源可以包括一个或多个存储器设备,例如动态随机存取存储器(DRAM),静态随机存取存储器(SRAM)等。存储器资源的一个示例是用于临时存储持久存储装置中保存的数据的缓存存储器。通信资源可以包括网络接口控制器(或其一部分),或用于通过网络通信的端口。在其他示例中,存储系统还可以包括包含物理资源和/或虚拟资源的其他资源。
存储系统可以包括或访问一个(或多个)存储设备。“存储设备”可以包括使用(一个或多个)非易失性存储设备实现的持久存储装置,该非易失性存储设备包括,例如(一个或多个)基于磁盘的存储设备(例如,(一个或多个)硬盘驱动器(HDD)等)、(一个或多个)固态存储设备(例如,(一个或多个)固态驱动器(SSD)等)等。
请求者可以发出访问存储在存储设备中的数据的请求。这些请求会导致存储系统执行工作负载。“工作负载”可以指响应于(一个或多个)相应请求者的(一个或多个)请求而进行的活动的集合。
请求者可以包含在主机系统中。“主机系统”可以指这样的平台,其包括硬件和机器可读指令,并且能够发出请求(例如从主机系统中的请求者发出请求)以访问(读取和/或写入)存储系统的数据。
请求者的一个示例是包括机器可读指令的程序(例如,应用程序、操作系统、固件)。作为另一个示例,请求者可以包括虚拟机。虚拟机在物理机内提供虚拟化的环境,在这个环境中可以执行机器可读指令。请求者的另一个示例包括存储卷(storage volume)。存储卷可以指存储装置的逻辑单元(例如,具有虚拟地址范围的虚拟卷),物理存储装置(例如,成(一个或多个)存储阵列的(一个或多个)存储设备或其部分)中的存储位置可以被分配到该逻辑单元,用于存储数据。存储卷可以呈现给能够读写存储卷的数据的(一个或多个)主机系统。例如,存储卷可以由存储系统导出到主机系统,供主机系统使用。更一般地,存储卷能够供主机系统使用,以便主机系统能够访问存储卷中的数据。主机系统对存储卷中的数据的访问会导致向存储系统发出相应的请求,以从(一个或多个)存储设备访问底层数据。
由于在各个主机系统中可能有多个通过存储系统访问数据的请求者,因此可能难以确定如何将主机系统外部的共享资源的使用情况或性能归因于单个请求者(或少于主机系统中所有请求者的请求者的子集)。共享资源位于主机系统的“外部”,因为共享资源不属于任何主机系统的一部分。主机系统外部的共享资源的示例包括存储系统内的资源、或将存储系统连接到主机系统的通信路径。
来自多个请求者的请求可能导致输入/输出(I/O)操作消耗共享资源。“I/O操作”可以指与数据访问(读取访问和/或写入访问)相关的操作。由于在共享资源处混合了来自不同请求者的I/O操作,可能难以确定任何独立请求者(或请求者的子集)对共享资源的使用或性能的独立贡献。
图1示出了包括主机系统102-1至102-N的示例环境,其中N≥2。主机系统102-1至102-N中的请求者能够发出请求,以访问由一个(或多个)存储系统110的存储设备108存储的数据。存储设备108可以使用基于磁盘的存储设备,固态存储器设备和/或其他类型的持久存储设备来实现。存储设备108可以被布置为一个(或多个)存储设备阵列。
尽管图1示出了存储设备108为存储系统110的部分,在其他示例中,存储设备108可以在存储系统110的外部,且可由存储系统110访问。
图1示出的环境可以分为主机侧和存储侧。主机侧包括主机系统102-1至102-N、以及主机系统内的请求者和资源。存储侧包括(一个或多个)存储系统110、以及(一个或多个)存储系统110与主机系统102-1至102-N之间的通信路径。存储侧的共享资源可以包括通信路径以及存储系统110内的资源。响应于来自主机系统102-1至102-N中的请求者的请求,I/O操作会消耗共享资源。
根据本公开一些实施方式,操作度量计算引擎120可以确定与主机侧的I/O操作相关联的参数值和与存储侧的共享资源的使用情况或性能有关的操作度量(operationalmetric)之间的相关性。
如本文所使用的,“引擎”可以指硬件处理电路,其可以包括微处理器、多核微处理器核、微控制器、可编程集成电路、可编程门阵列、数字信号处理器的任意一项或其组合,或其他硬件处理电路。可选地,“引擎”还可以指硬件处理电路和能够在硬件处理电路上执行的机器可读指令(软件和/或固件)的组合。
操作度量计算引擎120可以为存储系统110的部分。或者,可选地,操作度量计算引擎120可以与存储系统110分离且耦合到网络118。网络118的示例可以包括以下任意一项或其组合:存储区域网络(SAN),局域网(LAN),诸如因特网的公共网络,等等。
在一些示例中,操作量度计算引擎120可以,基于机器学习模型122,确定与主机侧的I/O操作相关联的参数值和与存储侧的共享资源的使用情况或性能有关的操作度量之间的相关性。
监控代理160可以采集与主机侧的I/O操作相关联的参数值。监控代理160可以在主机系统中运行,也可以位于主机系统外部并与主机系统通信,以允许监控代理160采集与主机侧的I/O操作相关的参数值。在一些示例中,当监控代理160包含在每个主机系统中时,在相应的主机系统中提供了监控代理的多个实例。
机器学习模型122可以从多个主机系统的参数值的聚合生成。尽管机器学习模型122是基于多个主机系统的参数值的聚合生成的,机器学习模型122可以用于预测操作度量(即,单个或多个操作度量)。操作度量表示来自请求者(主机系统中的独立请求者,或一个或多个主机系统中的请求者的子集)的(一个或多个)请求引起的一个或多个共享资源(位于主机系统102-1至102-N的外部)的使用情况或性能。
可以使用多个操作度量来表示资源的性能和/或使用情况,任何操作度量都可以使用机器学习模型122来计算。操作度量可以包括使用度量(表示资源的使用情况)和/或性能度量(表示资源的性能表现)。操作度量的示例包括以下任何一项或一些组合:输入/输出(I/O)计数(用于统计I/O请求(例如读取请求和写入请求)的次数)、读取请求和写入请求之间的比率、缓存命中百分比(缓存存储器可以满足的请求的百分比)、处理器利用率、处理器饱和度(表示由于工作负载对处理器的使用而消耗的处理器的量)、缓存饱和度(表示由于工作负载对缓存的使用而消耗的缓存的量)、持久存储装置饱和度(表示由于工作负载对持久存储装置的使用而消耗的持久存储装置的量)、端口饱和度(表示由于工作负载对端口的使用而消耗的端口的带宽)、队列深度(存储数据的队列的量)、I/O操作的大小、处理器的繁忙程度、以及延迟(表示与资源对请求的响应相关联的时间长度,或与数据通信相关联的时间长度)等等。
如上所述,机器学习模型122是基于多个主机系统(从主机系统102-1至102-N)的参数值的聚合生成(例如,构建、训练、更新等)的。“参数值”可以指一个(或多个)参数的值。参数可以用于描述响应于来自主机系统102-1至102-N中的请求者的请求而执行的工作负载的特征。
描述工作负载的特征的参数的示例可以包括:与工作负载相关联的相应I/O操作的I/O大小、相应I/O大小的多个I/O操作的计数、以及相应I/O操作的类型(例如,读取操作、写入操作等)。
尽管列出了表示工作负载的特征的参数的示例,应注意,在其他示例中,可以使用其他或替代参数来表示工作负载的特征。
特定I/O大小的I/O操作是指访问(读取或写入)特定I/O大小的数据(例如,4kb(kilobits,千比特)大小、8kb大小、16kb大小、32kb大小等的数据)的I/O操作。特定I/O大小的多个I/O操作的计数是指特定I/O大小的I/O操作的数量。请求的类型可以包括写入请求(第一类请求),读取请求(第二类请求)等等。
给定的工作负载可以与具有不同特征(例如,I O大小、请求类型等)的多个I/O操作相关联。例如,给定的工作负载可能与不同I/O大小的多个I/O操作相关联。
总体上,给定的工作负载可以由桶的集合表示,其中,每个桶(bucket)包括一定数量的相应不同特征的I/O操作。例如,第一桶可以包括一定数量的第一I/O大小的I/O操作,第二桶可以包括一定数量的与第一I/O大小不同的第二I/O大小的I/O操作,等等。表示给定工作负载的不同桶可以采用直方图(或任何其他表示形式)的形式,该直方图包括相应间隔(例如,时间间隔)处的桶。
在随后的讨论中,表示I/O操作的桶可以指包括一定数量的I/O操作的桶。
对多个主机系统的参数值进行聚合可以指对表示相应主机系统的I/O操作的桶的直方图(或其他表示形式)进行聚合。例如,第一主机系统可以与表示不同特征的I/O操作的桶的第一直方图(或其他表示形式)相关联,第二主机系统可以与表示不同特征的I/O操作的桶的第二直方图(或其他表示形式)相关联,依此类推。对直方图(或其他表示形式)进行聚合可以指对表示I/O操作的桶的直方图(或其他表示形式)进行求和、求平均、或执行其他形式的数学聚合。
在进一步的示例中,对参数值进行聚合还可以指计算多个参数值的聚合,例如多个主机系统的I/O操作的聚合I/O大小,针对多个主机系统的I/O操作的聚合计数等等。聚合I/O大小可以指平均I/O大小(即来自多个主机系统的I/O操作的I/O大小的平均值)、I/O大小的和、或I/O大小的任何其他数学聚合。类似地,聚合计数值可以指针对多个主机系统的每个相应I/O大小的I/O操作的平均计数、总和计数、或任何其他聚合计数。
尽管机器学习模型122是基于多个主机系统的参数值的聚合生成的,操作度量计算引擎120可以使用机器学习模型122来计算操作度量。操作度量表示由来自主机系统中的请求者(可以指一个主机系统中的一个请求者,或一个或多个主机系统中的请求者的子集)的请求引起的共享资源(可以指单个共享资源或共享资源集合)的使用情况或性能。
通过这种方式,可以不必使用针对相应独立请求者或请求者的子集的参数值来训练机器学习模型122,这种训练可能很难做到,因为由独立请求者引起的I/O操作可能在主机系统外部的共享资源处混合。因此,共享资源的使用情况或性能可能是由多个请求者的工作负载引起的。
机器学习模型122的示例是回归模型或其他类型的模型。可以基于训练数据来调整机器学习模型122。回归模型是将多个关注变量相关联的模型,其中变量可以包括(一个或多个)输出变量(例如与存储系统的资源使用情况或性能有关的(一个或多个)操作度量),以及(一个或多个)输入变量(例如在一个或多个主机系统处采集的操作度量数据)。可以采用任何各种不同的机器学习技术来使用训练数据训练模型。
在图1的示例中,主机系统102-1包括呈现给主机系统102-1的存储卷106-1和虚拟机(VM)104-1。主机系统102-N包括呈现给主机系统102-N的存储卷106-N和VM 104-N。主机系统102-1中的VM 104-1能够访问存储卷106-1的数据,VM 104-N能够访问主机系统102-N中存储卷106-N的数据。
在其他示例中,替代或除VM之外,主机系统104-1至104-N中能够访问数据的其他类型的实体包括程序,例如应用程序、操作系统、固件或其他机器可读指令。
如上所述,存储卷是存储装置的逻辑单元(例如,具有虚拟地址范围的虚拟卷),物理存储装置(例如,成(一个或多个)存储阵列的(一个或多个)存储设备或其部分)中的存储位置可以被分配到该逻辑单元,用于存储数据。主机系统102-1至102-N中的VM或其他实体能够使用每个存储卷来访问数据。存储卷可以呈现给包括能够读取和写入存储卷的数据的实体的(一个或多个)主机系统。存储卷能够供主机系统使用,以便主机系统(或更具体地说,主机系统中的实体)访问存储卷中的数据。能够使用存储卷访问的底层数据存储在可由(一个或多个)存储系统110访问的存储设备108中。
每个存储系统110包括处理器112和缓存存储器114。处理器112能够执行数据访问程序(以机器可读指令的形式)。数据访问程序用于,响应于基于请求者对一个(或多个)存储卷的访问而从请求者接收的请求,管理对存储在存储设备108中的数据的访问。缓存存储器114用于临时存储数据,例如待写入存储设备108的写入数据,或从存储设备108检索的读取数据。
存储系统110还包括各种存储端口116。“端口”可以指通信接口(物理接口或逻辑接口),主机系统102-i(i=1到N)能够通过该通信接口经由网络118访问存储系统110。
每个存储端口116具有对应的带宽,用于响应来自请求者的数据访问请求,传输数据。
主机系统102-1和102-N各自还包括主机端口,用于通过网络118与存储系统110的对应存储端口进行通信。主机系统102-1包括主机端口107-1,主机系统102-N包括主机端口107-N。可以通过网络118在主机端口107-i(i=1至N)和存储端口116之间建立通信路径。
存储端口116、处理器112、缓存存储器114、存储设备108、以及主机端口和存储端口之间的通信路径是存储侧的共享资源的示例,用于执行与相应请求者访问存储卷相关联的任务。
主机端口107-1和107-N、存储端口116、以及通信路径是通信资源的示例。处理器112是处理资源的示例。缓存存储器114是存储器资源的示例。存储设备108是存储资源的示例。
由操作度量计算引擎120使用机器学习模型122计算的(一个或多个)操作度量可以包含在通过网络118发送给用户控制台130的报告128中。报告128中的信息可以通过用户控制台130在用户界面(UI)132中显示。
用户控制台可以为电子设备,例如台式计算机、笔记本计算机、平板计算机、智能手机等。在进一步的示例中,可以有多个用户控制台130。
在一些示例中,报告128可以包括表示不同的独立请求者(或请求者的子集)对共享资源的使用或操作的相对贡献的信息。例如,这样的信息可以以树形图(下面进一步讨论)、或其他的形式呈现。
在进一步的示例中,可以将由操作度量计算引擎120计算的(一个或多个)操作度量传输至资源管理引擎150。资源管理引擎150可以,响应于来自操作度量计算引擎120的(一个或多个)操作度量,自动执行各种动作中的任何一个。
资源管理引擎150,响应于(一个或多个)操作度量,所采取的动作的示例包括以下任一项或某些组合:限制请求者对资源的使用(例如,通过降低针对与工作负载相对应的存储卷集合的数据向存储系统提交的来自请求者的数据请求的速率);为请求者配置服务质量(QoS)设置,其中QoS设置可以影响请求者使用资源的优先级;更改对请求者的资源分配(例如,通过更改为了处理请求者对数据的数据访问而分配的资源量);等等。
图2是包括主机系统102、网络118和存储系统110的布置的框图。图2示出了各种资源的操作度量的可视化。在图2的示例中,主机系统102包括多个VM,包括VM 1.1,VM 1.2和VM 1.3。主机系统102还包括各种主机端口107A和107B,存储系统110包括各种存储端口116A和116B。可以通过网络118在主机端口107A,107B和对应的存储端口116A,116B之间建立多个相应的通信路径202A和202B。
可视化可以用来表示与针对共享资源的不同请求者相关联的操作度量。在一些示例中,可视化可以采用树形图的形式。在其他示例中,可以使用其他类型的可视化,包括任何类型的图形可视化或文本可视化。
树形图是数据作为一组嵌套的矩形的分层表示,其中树的每个分支由矩形表示。在每个矩形内,较小的矩形可以表示树的子分支。例如,树的根可以表示主机系统,从根连接的子节点可以表示主机系统中的相应请求者。
在图2中,树形图204包括矩形204-2。矩形204-2表示与VM 1.2贡献(即,由VM1.2的请求引起的I/O操作导致的)的主机端口107A的使用或操作相关联的操作度量。树形图204中的其他矩形204-1和204-3分别表示与VM 1.1和VM 1.3贡献的主机端口107A的使用或操作相关联的操作度量。每个矩形204-1、204-2或204-3的面积基于由操作度量计算引擎120计算的操作度量的值。
在使用树形图的示例中,树形图内的矩形是,基于各请求者的操作度量,具有相应特征的视觉指示符的示例。
例如,所表示的操作度量可以包括主机端口107A的饱和度。因此,树形图204中矩形的较大面积表示由相应VM的I/O操作引起的主机端口107A的较高的饱和度。在图2的示例中,树形图204指示VM 1.2对树形图204表示的相应主机端口107A的饱和度贡献最大(与VM1.1和VM 1.3相比)。
在其他的示例中,操作度量可以包括延迟、使用百分比等等。
图2进一步示出了另一个树形图206。树形图206包括各个矩形206-1、206-2和206-3,这些矩形表示分别由VM 1.1、VM 1.2和VM 1.3的I/O操作引起的主机端口107B的相应饱和度水平。类似的树形图208和210可以用于表示VM 1.1、VM 1.2和VM 1.3贡献的相应通信路径202A和202B的饱和度水平。
树形图212和214分别示出了由VM 1.1、VM 1.2和VM 1.3贡献的存储端口116A和116B的饱和度水平。
图2进一步示出了树形图216、218和220,它们分别指示由VM 1.1、VM 1.2和VM 1.3贡献的处理器112、缓存存储器114和存储设备108的饱和度水平。
在图2的示例中,可以观察到,对于存储端口116A,VM 1.2主要与存储端口116A的饱和度有关。使用图2所示的其他树形图,可以观察到VM 1.1、VM 1.2和VM 1.3对各种共享资源的饱和度的相对贡献。
树形图是能够在图1示出的用户控制台130的UI 132中显示的可视化的示例。管理员能够查看树形图,并基于树形图来决定要采取的动作,包括升级存储系统、更换存储系统、将数据从一个存储系统迁移到另一个存储系统等等。
下面描述与计算各种共享资源的操作度量有关的细节,所述各种共享资源包括主机端口、存储端口、主机端口与存储端口之间的通信路径、存储系统内的资源等等。
在一些情况下,可以使用机器学习模型122计算操作度量。在其他情况下,可以基于不同的技术计算操作度量。
下面将描述不使用机器学习模型122计算主机端口、存储端口和通信路径的操作度量的示例。
如果由于来自虚拟机VM1的请求,在主机系统中的主机端口HP1处观察到的I/O操作的数量为N1,在主机端口HP1处观察到的来自VM1的I/O操作的平均I/O大小为S1,主机端口HP1的总带宽为BH(例如,可以基于设备制造商提供的规格信息),则由VM1的活动引起的主机端口HP1的饱和度可以表示为:
可以由耦合到主机系统的监控代理(例如,图1中的160)采集主机端口HP1的N1和S1的值。
以上描述了对主机侧(即,主机系统中的主机端口处)的共享资源的操作度量进行计算的示例。
可以使用类似的技术,针对每个VM,计算存储系统110的存储端口116的饱和度。在一些示例中,假设存在主机端口与存储端口的一对一连接(即每个主机端口仅连接至一个存储端口),在这种情况下,为主机端口HP1采集的N1和S1的值也适用于连接到主机端口HP1的存储端口116。
从而,由VM1的活动引起的存储端口SP1的饱和度可以表示为:
其中,Bs表示存储端口SP1的带宽。
在计算出主机端口HP1的饱和度和与主机端口HP1连接的对应存储端口SP1的饱和度后,主机端口HP1和存储端口SP1之间的通信路径(例如,图2中的202A或202B)的饱和度可以简单地计算为由VM1引起的主机端口HP1的饱和度和存储端口SP1的饱和度的平均值(或其他聚合值)。
在其他的示例中,可以使用机器学习模型122计算存储端口116以及存储端口和主机端口之间的通信路径的饱和度或其他操作度量。
还可以使用机器学习模型122计算存储系统110内的共享资源(例如,处理器112、缓存存储器114和存储设备108)的饱和度或其他操作度量。
可以针对多个主机系统使用直方图数据的聚合来训练机器学习模型122。注意,针对独立VM,直方图数据是不可用的。从而,尽管目的是使用机器学习模型122来估计独立VM(或VM的子集)的操作度量,独立VM或VM的子集的直方图数据不可用于训练机器学习模型122。根据本公开的一些实施方式,针对多个主机系统使用直方图数据的聚合训练的机器学习模型122可以被用于计算存储侧的共享资源的操作度量,所述操作度量反映了由独立VM或VM的子集的I/O操作引起的共享资源的使用情况或性能。
图3示出了表示一定数量的不同I/O大小的请求的桶的示例直方图300。在示例直方图300中,横轴表示时间,纵轴表示请求的数目(数量)。直方图300包括多个条柱302-1、302-2、……、302-N(N≥2)。每个条柱302-i(i=1到N)被划分为多个条段,并且每个条段表示一个桶,所述桶表示特定时间间隔处的一定数量的相应I/O大小(或其他特征)的请求。在图3的示例中,每个条段的不同图案表示各自不同的I/O大小,例如128kb、256kb和512kb。例如,在时间间隔T1处的条柱302-1被分成表示相应桶的条段302-11、302-12和302-13,所述桶表示在时间间隔T1处的一定数量的对应不同I/O大小的请求。条段302-11表示的桶表示在时间间隔T1处的一定数量的128kb请求(即一定数量的引起读取或写入128kb大小的数据的请求)。条段302-12表示的桶表示在时间间隔T1处的一定数量的256kb请求。条段302-13表示的桶表示在时间间隔T1处的一定数量的512kb请求。每个条段的长度指示了由该条段表示的相应I/O大小的请求的数量。
尽管图3描绘了三个I/O大小,但是应注意,不同的示例可以表示其他的或替代的I/O大小的请求。
类似地,在时间间隔T2处的条柱302-2被分成表示相应桶的相应的条段302-21、302-22和302-23,所述桶表示在时间间隔T2处的不同I/O大小的请求。在时间间隔TN处的条柱302-N被分成表示相应桶的相应的条段302-N1、302-N2和302-N3,所述桶表示在时间间隔TN处的不同I/O大小的请求。
注意,示例直方图300是基于整个主机系统的I/O操作,其包括在特定主机端口处观察到的多个请求者。从而,直方图300表示主机系统和主机系统内的主机端口的特定组合的I/O操作。
图4A示出了将主机H1和主机端口HP1(在主机H1中)的直方图(即直方图(H1,HP1))输入模型400的示例。模型400能够,响应于直方图(H1,HP1),生成饱和度值S_H1_HP1,该饱和度值表示由来自主机系统H1中的主机端口HP1的I/O操作引起的存储系统110内的共享资源的饱和度。
可以将主机系统H1的其他端口和其他主机系统的其他端口的类似直方图应用于模型400,以生成相应的饱和度值S_Hx_HPy,其中Hx表示主机系统x,HPy代表主机系统x中的主机端口y。
一旦模型400基于相应的直方图计算出所有主机系统和主机系统的所有端口的各种饱和度值S_Hx_Py,所计算出的饱和度值就可以作为用于训练图4B示出的另一模型402的训练数据中的事实,以便基于聚合直方图、聚合I/O大小和聚合I/O计数计算S_Hx_HPy值。具体地,如图4B所示,为了使用模型402计算主机系统H1的端口HP1的饱和值S_H1_HP1,可以将聚合_直方图(所有主机系统,所有端口)、H1_HP1_平均_大小(H1_HP1_Avg_Size)和H1_HP1_平均_计数(H1_HP1_Avg_Count)作为模型402的输入。
聚合_直方图(所有主机系统,所有端口)是指组合了所有主机系统和所有端口的直方图的聚合直方图。例如,聚合直方图可以是直方图(H1,HP1)、直方图(H1,HP2)、……、直方图(H2,HP1)、……、直方图(HN,HP1)、……的平均值,其中,直方图(H1,HP1)是主机系统H1中主机端口HP1的直方图,直方图(H1,HP2)是主机系统H1中主机端口HP2的直方图,直方图(H2,HP1)是主机系统H2中主机端口HP1的直方图,直方图(HN,HP1)是主机系统HN中主机端口HP1的直方图。
H1_HP1_平均_大小表示主机端口HP1处的主机系统的I/O操作的平均I/O大小,H1_HP1_平均_计数表示主机端口HP1处的主机系统H1的I/O操作的平均计数。
因此,模型402能够,基于所有主机系统和所有端口的聚合直方图、聚合I/O大小(例如,H1_HP1_平均_大小)和I/O操作的聚合计数(例如,H1_HP1_平均_计数),计算特定主机系统的特定端口的饱和度水平。
有效地,给定基于多个主机系统和多个端口的直方图的聚合直方图,模型402能够预测特定主机系统的特定端口的饱和度水平。
根据本公开的实施方式,模型402(其是图1中模型122的示例)可以用于预测由特定VM贡献的共享资源的饱和度水平。
图4C示出了使用主机系统H1和主机端口HP1的直方图(即直方图(H1,HP1))、VM1_H1_平均_大小(VM1_H1_Avg_Size,表示主机系统H1中VM1的I/O操作的平均I/O大小)和VM1_H1_平均_计数(VM1_H1_Avg_Count,表示主机系统H1中VM1的I/O操作的平均计数)作为模型402的输入的示例。基于图4C示出的这些输入,模型402能够生成饱和值S_H1_HP1_VM1(表示由通过主机系统H1的主机端口HP1提供的VM1的I/O操作引起的存储系统110内的共享资源的饱和度水平)。
由于VM1很可能跨主机系统H1的多个主机端口驱动其I/O操作,模型402可以用于针对主机系统H1的多个端口生成多个饱和度值,例如S_H1_HP1_VM1、S_H1_HP2_VM1等等。饱和度值S_H1_HP2_VM1表示由通过主机系统H1的主机端口HP2提供的VM1的I/O操作引起的存储系统110内的共享资源的饱和度水平。
针对主机系统H1的相应多个端口,使用模型402计算的多个饱和度值S_H1_HP1_VM1、S_H1_HP2_VM1等可以被聚合(例如,求和、求平均等),以生成表示由主机系统H1中VM1的I/O操作引起的共享资源的饱和的饱和度。
图5示出了存储有机器可读指令的非暂态机器可读或计算机可读存储介质500的框图,该机器可读指令在运行时,可使得系统执行各种任务。存储介质500存储有模型502,例如图1的模型122或图4C的模型402,其是从多个主机系统的参数值的聚合生成的。
存储在存储介质500中的机器可读指令包括操作度量预测指令504,用于使用模型502预测表示由多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能的操作度量,共享资源位于多个主机系统的外部。
请求者是第一主机系统中的多个请求者中的一个,并且参数值的聚合基于来自主机系统中多个请求者中的每个请求者的参数值。
在一些示例中,表示不同特征的I/O操作的相应桶的集合(例如直方图)与多个主机系统的每个对应主机系统相关联,模型502可以进一步基于与对应主机系统相关联的表示I/O操作的桶的集合的聚合生成。
图6是系统600的框图,系统600可以用一个计算机或多个计算机来实现。
系统600包括一个(或多个)硬件处理器602。硬件处理器可以包括微处理器、多核微处理器核、微控制器、可编程集成电路、可编程门阵列、数字信号处理器或其它硬件处理电路。
系统600还包括存储介质604,该存储介质604存储能够在硬件处理器602上运行以执行各种任务的机器可读指令。能够在硬件处理器上运行的机器可读指令可以指能够在单个硬件处理器上运行的指令,或能够在多个硬件处理器上运行的指令。
机器可读指令包括模型训练指令606,用于使用多个主机系统的参数值的聚合训练模型。机器可读指令还包括聚合参数值输入指令608,用于将多个主机系统中第一主机系统中的请求者的聚合参数值输入经训练的模型。
机器可读指令还包括操作度量输出指令610,用于,响应于请求者的聚合参数值的输入,通过经训练的模型输出操作度量,所述操作度量表示由请求者引起的共享资源的使用情况或性能,共享资源位于多个主机系统的外部。
图7是,例如可由操作度量计算引擎120执行的,过程700的流程图。
过程700包括使用模型预测操作度量(在702处),模型是基于多个主机系统的参数值的聚合以及与多个主机系统中的相应主机系统相关联的不同特征的I/O操作的桶的集合的聚合进行训练的,操作度量表示由多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能,共享资源位于多个主机系统的外部。
存储介质(例如,图5中的500或图6中的604)可以包括以下任一项或某些组合:半导体存储器设备,例如动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM),电可擦除可编程只读存储器(EEPROM)和闪存;磁盘,例如固定盘、软盘和可移动盘;另一种磁介质,包括磁带;光学介质,例如光盘(CD)、或数字视频光盘(DVD);或其他类型的存储设备。注意,上面讨论的指令可以提供在一个计算机可读或机器可读存储介质上,或者可选地,也可以提供在分布在可能具有多个节点的大型系统中的多个计算机可读或机器可读存储介质上。这种(一个或多个)计算机可读或机器可读存储介质可以是物品(或制造品)的一部分。物品或制造品可以指任何制造的单个组件或多个组件。(一个或多个)存储介质可以位于运行机器可读指令的机器中,或者位于远程站点,可以通过网络从该远程站点下载机器可读指令来执行。
在上述描述中,列出了许多细节,以帮助理解本公开的主题。然而,可以在没有这些细节的情况下实践本公开的实施方式,其他实施方式可以包括上述细节的修改和变化,这些修改和变动包含在所附的权利要求的范围内。
Claims (20)
1.一种非暂态机器可读存储介质,包括指令,所述指令在运行时使得系统执行下述操作:
使用从多个主机系统的参数值的聚合生成的模型,预测表示由所述多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能的操作度量,所述共享资源位于所述多个主机系统的外部。
2.如权利要求1所述的非暂态机器可读存储介质,其中,所述请求者是所述第一主机系统中的多个请求者中的一个,所述参数值的聚合基于来自所述第一主机系统中所述多个请求者中的每个请求者的参数值。
3.如权利要求1所述的非暂态机器可读存储介质,其中,所述请求者是从所述第一主机系统中的虚拟机、所述第一主机系统中的存储卷、或所述第一主机系统中的程序中选择的。
4.如权利要求1所述的非暂态机器可读存储介质,其中,所述共享资源包括存储系统内的资源、存储系统的端口、或存储系统与所述第一主机系统之间的通信路径。
5.如权利要求4所述的非暂态机器可读存储介质,其中,所述存储系统内的所述资源是从处理资源、存储器资源、或通信资源中选择的。
6.如权利要求1所述的非暂态机器可读存储介质,其中,表示不同特征的输入/输出I/O操作的相应桶集合与所述多个主机系统中每个对应主机系统相关联,所述模型进一步基于与所述对应主机系统相关联的表示I/O操作的所述桶集合的聚合生成。
7.如权利要求6所述的非暂态机器可读存储介质,其中,所述参数值的聚合包括来自所述多个主机系统的I/O操作的大小的聚合。
8.如权利要求7所述的非暂态机器可读存储介质,其中,所述参数值的聚合还包括来自所述多个主机系统的所述大小的I/O操作的计数的聚合。
9.如权利要求1所述的非暂态机器可读存储介质,其中,所述指令在运行时,使得所述系统执行下述操作:
将所述请求者的聚合参数值输入所述模型;以及
还基于将所述请求者的所述聚合参数值输入所述模型,预测表示由所述请求者引起的所述共享资源的使用情况或性能的所述操作度量。
10.如权利要求9所述的非暂态机器可读存储介质,其中,所述请求者的所述聚合参数值包括来自所述请求者的I/O操作的大小的聚合。
11.如权利要求1所述的非暂态机器可读存储介质,其中,所述请求者为第一请求者,所述多个主机系统包括第二请求者,并且其中所述指令在运行时,使得所述系统执行下述操作:
基于表示由所述第一请求者和所述第二请求者引起的所述共享资源的使用情况或性能的操作度量,生成可视化,所述操作度量是使用所述模型计算的。
12.如权利要求11所述的非暂态机器可读存储介质,其中,所述可视化包括基于所述第一请求者和所述第二请求者的所述操作度量的具有相应特征的视觉指示符。
13.如权利要求1所述的非暂态机器可读存储介质,其中,所述共享资源位于存储系统内,所述操作度量表示由所述请求者在所述存储系统的第一端口处的I/O操作引起的所述共享资源的使用情况或性能,并且其中所述指令在运行时,使得所述系统执行下述操作:
使用所述模型,预测表示由所述请求者在所述存储系统的第二端口处的I/O操作引起的所述共享资源的使用情况或性能的操作度量;以及
对由所述第一端口处的所述I/O操作引起的操作度量和由所述第二端口处的所述I/O操作引起的操作度量进行聚合,生成聚合操作度量,所述聚合操作度量表示由所述请求者引起的所述共享资源的整体使用情况或性能。
14.一种包括处理器和非暂态存储介质的系统,其中,所述非暂态存储介质存储有指令,所述指令能够在所述处理器上运行以执行下述操作:
使用多个主机系统的参数值的聚合训练模型;
将所述多个主机系统中第一主机系统中的请求者的聚合参数值输入经训练的模型;以及
响应于所述请求者的所述聚合参数值的输入,通过所述经训练的模型输出表示由所述请求者引起的共享资源的使用情况或性能的操作度量,所述共享资源位于所述多个主机系统的外部。
15.如权利要求14所述的系统,其中,表示不同特征的输入/输出I/O操作的相应桶集合与所述多个主机系统中每个对应主机系统相关联,所述指令能够在处理器上运行以进一步基于与所述对应主机系统相关联的表示I/O操作的所述桶集合的聚合,训练所述模型。
16.如权利要求14所述的系统,其中,所述请求者为第一请求者,所述多个主机系统包括第二请求者,并且其中所述指令能够在处理器上运行以执行下述操作:
基于表示由所述第一请求者和所述第二请求者引起的所述共享资源的使用情况或性能的操作度量,生成可视化,所述操作度量通过所述经训练的模型输出。
17.如权利要求16所述的系统,其中,所述共享资源为第一共享资源,并且其中所述指令能够在处理器上运行以执行下述操作:
基于通过所述经训练的模型输出的、表示由所述第一请求者和所述第二请求者引起的第二共享资源的使用情况或性能的操作度量,生成进一步的可视化。
18.一种由包括硬件处理器的系统执行的方法,所述方法包括:
使用基于多个主机系统的参数值的聚合以及与所述多个主机系统中的对应主机系统相关联的不同特征的输入/输出I/O操作的桶集合的聚合训练的模型预测操作度量,所述操作度量表示由所述多个主机系统中第一主机系统中的请求者引起的共享资源的使用情况或性能,所述共享资源位于所述多个主机系统的外部。
19.如权利要求18所述的方法,其中,所述参数值的聚合包括I/O操作的大小的聚合,所述不同特征包括I/O操作的不同大小。
20.如权利要求18所述的方法,其中,所述预测基于将所述请求者的聚合参数值输入所述模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201941024016 | 2019-06-17 | ||
IN201941024016 | 2019-06-17 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112100040A true CN112100040A (zh) | 2020-12-18 |
Family
ID=73546950
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010503265.9A Pending CN112100040A (zh) | 2019-06-17 | 2020-06-05 | 用于预测共享资源操作度量的存储介质、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11436052B2 (zh) |
CN (1) | CN112100040A (zh) |
DE (1) | DE102020112066B4 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11665262B2 (en) * | 2020-10-28 | 2023-05-30 | Viavi Solutions Inc. | Analyzing network data for debugging, performance, and identifying protocol violations using parallel multi-threaded processing |
US11882175B2 (en) | 2021-12-17 | 2024-01-23 | Hewlett Packard Enterprise Development Lp | Correlations between workload characteristics and elapsed times |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8732368B1 (en) * | 2005-02-17 | 2014-05-20 | Hewlett-Packard Development Company, L.P. | Control system for resource selection between or among conjoined-cores |
US8479214B2 (en) | 2008-09-30 | 2013-07-02 | Microsoft Corporation | Hardware throughput saturation detection |
US8533222B2 (en) * | 2011-01-26 | 2013-09-10 | Google Inc. | Updateable predictive analytical modeling |
US9164785B2 (en) * | 2011-03-14 | 2015-10-20 | Sap Se | Predicting performance of a consolidated virtualized computing environment |
US9215142B1 (en) | 2011-04-20 | 2015-12-15 | Dell Software Inc. | Community analysis of computing performance |
EP2948845A4 (en) | 2013-01-26 | 2016-09-07 | F5 Networks Inc | METHODS AND SYSTEMS FOR DETECTING, LOCATING AND CORRECTING A RESOURCE OR A BULKY FLOW (E) IN A VIRTUAL INFRASTRUCTURE |
US9542346B2 (en) * | 2014-01-14 | 2017-01-10 | Netapp, Inc. | Method and system for monitoring and analyzing quality of service in a storage system |
US9772792B1 (en) | 2015-06-26 | 2017-09-26 | EMC IP Holding Company LLC | Coordinated resource allocation between container groups and storage groups |
US11609784B2 (en) * | 2018-04-18 | 2023-03-21 | Intel Corporation | Method for distributing a computational process, workload distribution device and system for distributing a computational process |
US20190334786A1 (en) | 2018-04-30 | 2019-10-31 | Hewlett Packard Enterprise Development Lp | Predicting Workload Patterns in a Data Storage Network |
US11093152B2 (en) * | 2019-01-22 | 2021-08-17 | EMC IP Holding Company LLC | Automated storage tiering by access pattern detection and temporal trend prediction |
-
2020
- 2020-05-04 US US16/865,716 patent/US11436052B2/en active Active
- 2020-05-05 DE DE102020112066.4A patent/DE102020112066B4/de active Active
- 2020-06-05 CN CN202010503265.9A patent/CN112100040A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102020112066A1 (de) | 2020-12-17 |
US11436052B2 (en) | 2022-09-06 |
DE102020112066B4 (de) | 2024-03-28 |
US20200394073A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540113B2 (en) | Extent migration in multi-tier storage systems | |
CN110869909B (zh) | 应用机器学习算法来计算健康分数以进行工作负载调度的系统和方法 | |
Koller et al. | Centaur: Host-side ssd caching for storage performance control | |
US8180604B2 (en) | Optimizing a prediction of resource usage of multiple applications in a virtual environment | |
US11704022B2 (en) | Operational metric computation for workload type | |
US10168953B1 (en) | Dynamic scheduling of distributed storage management tasks using predicted system characteristics | |
US8250390B2 (en) | Power estimating method and computer system | |
US7930163B2 (en) | Modeling a storage environment at various times | |
US20120221373A1 (en) | Estimating Business Service Responsiveness | |
US20200026576A1 (en) | Determining a number of nodes required in a networked virtualization system based on increasing node density | |
CN112100040A (zh) | 用于预测共享资源操作度量的存储介质、系统和方法 | |
JP2018514027A (ja) | ハイブリッドストレージシステム内のサービス品質を改善するためのシステム及び方法 | |
US20120290789A1 (en) | Preferentially accelerating applications in a multi-tenant storage system via utility driven data caching | |
US20170220261A1 (en) | Storage space management in a thin provisioned virtual environment | |
US20190173770A1 (en) | Method and system for placement of virtual machines using a working set computation | |
US20230129647A1 (en) | Distribution of quantities of an increased workload portion into buckets representing operations | |
US11481117B2 (en) | Storage volume clustering based on workload fingerprints | |
US11144427B2 (en) | Storage system performance models based on empirical component utilization | |
Mancaş | Performance analysis in private and public cloud infrastructures | |
Wen et al. | Guaranteed bang for the buck: Modeling vdi applications to identify storage requirements | |
Huo et al. | TACD: A throughput allocation method based on variant of Cobb–Douglas for hybrid storage system | |
WO2009134255A2 (en) | Modeling a storage environment at various times | |
Ahmad et al. | Energy saving techniques comparison for green computing in cloud server | |
CA2723511C (en) | System and method for analyzing computing system resources | |
JP2013205962A (ja) | サブシステム制御ノード、サブシステムの制御方法、プログラム、サービス提供システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |