CN115454322A - 使用经训练的模型的工作负载管理 - Google Patents
使用经训练的模型的工作负载管理 Download PDFInfo
- Publication number
- CN115454322A CN115454322A CN202111261875.3A CN202111261875A CN115454322A CN 115454322 A CN115454322 A CN 115454322A CN 202111261875 A CN202111261875 A CN 202111261875A CN 115454322 A CN115454322 A CN 115454322A
- Authority
- CN
- China
- Prior art keywords
- workload
- workloads
- computing environment
- storage medium
- load
- 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
- 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/0671—In-line storage system
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Abstract
在一些示例中,一种系统基于样本工作负载的特征创建训练数据集,训练数据集包括与样本工作负载的特征相关联的标签,其中,标签基于在计算环境中生成的负载指示符,负载指示符与由样本工作负载的执行导致的计算环境的负载状况相关。系统基于所选工作负载的特征将所选工作负载分组为多个工作负载簇,并使用基于训练数据集训练的模型来计算表示多个工作负载簇中的相应工作负载簇对计算环境中的负载的贡献的参数。系统基于所计算的参数在计算环境中执行工作负载管理。
Description
背景技术
存储系统包括存储资源和其他资源(包括处理资源和通信资源),在这些资源上可以执行各种不同类型的工作负载。存储资源可以指可以用于存储数据的物理存储资源或逻辑存储资源。不同的工作负载可能会为存储系统的资源进行竞争,从而导致资源争用,这可能会对某些工作负载的性能产生不利影响。
附图说明
关于以下附图描述了本公开的一些实施方式。
图1是根据一些示例的包括存储系统和工作负载管理引擎的布置的框图。
图2是根据一些示例的基于机器学习的工作负载管理过程的流程图。
图3是根据一些示例的存储机器可读指令的存储介质的框图。
图4是根据一些示例的系统的框图。
图5是根据一些示例的过程的流程图。
在所有附图中,相同的附图标记指代相似但不一定相同的元件。附图不一定是成比例的,并且一些部分的尺寸可以被放大以更清楚地图示所示的示例。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
在本公开中,除非上下文另外明确指示,否则使用术语“一个/一种(a/an)”或“所述(the)”旨在同样包括复数形式。同样地,当在本公开中使用时,术语“包括(includes/including/comprises/comprising)”、“具有(have/having)”指明存在所述元件,但不排除存在或添加其他元件。
存储系统中运行的多个工作负载可能会使存储系统的共享资源过载。共享资源可以包括物理存储资源,比如存储设备,包括基于磁盘的存储设备、固态存储设备、存储器设备(例如,动态随机存取存储器(DRAM)设备、静态随机存取存储器(SRAM)设备等)等。共享资源还包括处理资源(例如,处理器、处理器核等)、通信资源(例如,网络接口控制器、交换机等)等。
共享资源还可以包括逻辑资源,比如虚拟机、虚拟处理器、虚拟通信设备等。
“工作负载”可以指由存储系统中的实体(例如,机器可读指令)执行的任何活动集合。更一般地,“工作负载”可以指由计算环境中的实体(例如,机器可读指令)执行的任何活动集合,所述计算环境比如为存储系统、计算机系统、通信系统、云系统、数据中心、服务器系统等的计算环境。
在第一工作负载的资源使用阻止存储系统中的第二工作负载执行或导致第二工作负载执行得更慢的场景中,第一工作负载会对第二工作负载的性能产生不利影响。对其他工作负载的性能产生不利影响的工作负载可以称为噪声邻居。
存储系统中不同类型的工作负载可以通过各种输入/输出(I/O)类型和相对于一个存储卷(或多个存储卷)的访问模式来表征。I/O类型可以指从(多个)存储卷读取数据的读取访问、将数据写入(多个)存储卷的写入访问、不同优先级的I/O访问、不同类别的I/O访问(例如,与主机系统所请求的读取和写入相关联的I/O访问、与同步操作相关联的I/O访问、与备份操作相关联的I/O访问等)等。不同的访问模式可以基于以下各项中的任一项或某种组合:访问(多个)存储卷的频率、在给定访问操作中所访问的数据量、I/O访问的突发性等。
“存储卷”可以指逻辑容器或可以比如通过写入操作向其中添加数据的其他构造。还可以从存储卷中取得数据。
当在存储系统中检测到过载状况时,可以通知存储系统的人类管理员。管理员可以尝试基于对存储系统中已执行的工作负载的所收集的信息进行手动分析来排除存储系统中资源争用的原因。这种手动分析可能很耗时,并且会产生不准确的结果。
在其他示例中,可以使用服务质量(QoS)机制构建存储系统,所述机制尝试确保为提供工作负载提供可预测的服务水平。在一些示例中,QoS机制可以应用工作负载约束来限制任何给定工作负载的资源使用,以防止给定工作负载独占存储系统的资源。
然而,知道要施加的精确工作负载约束以使得在竞争工作负载之间适当地分配存储系统的资源可能具有挑战性。例如,管理员可能必须研究共享存储系统的资源的工作负载的历史简档,以确定资源争用发生的位置和时间,并且确定哪些工作负载过度利用共享资源。这样的手动分析可能难以执行,并可能导致对工作负载应用不正确的约束,这最终可能会降低某些工作负载的性能。
根据本公开的一些实施方式,计算环境(比如存储系统)中的工作负载可以基于工作负载的特征被分组为多个工作负载簇。模型(使用训练数据集进行训练)可以用于计算表示相应工作负载簇对计算环境中负载的贡献的参数。计算环境中的工作负载管理可以基于所计算的参数来执行。
在随后的讨论中,参考存储系统的工作负载管理。注意,根据一些示例的技术或机制可以应用于其他类型的计算环境中的工作负载管理。
图1是包括存储系统102和基于机器学习的工作负载管理引擎104的示例布置的框图,所述工作负载管理引擎将机器学习应用于对在存储系统102中执行的工作负载106执行工作负载管理。虽然图1将工作负载管理引擎104示出为与存储系统102分开,但在其他示例中,工作负载管理引擎104可以是存储系统102的一部分。
如这里所使用的,“引擎”可以指硬件处理电路,所述硬件处理电路可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列或另一个硬件处理电路中的任何一项或某种组合。可替代地,“引擎”可以指硬件处理电路和可在硬件处理电路上执行的机器可读指令(软件和/或固件)的组合。
工作负载106可以由存储系统102中的程序(或更一般地,机器可读指令)或其他实体来执行。可以响应于通过网络110接收到的来自主机系统108的请求而执行工作负载106。“主机系统”可以指能够请求访问存储系统102中的数据(读取或写入数据)或执行关于存储系统102的其他操作的任何设备(例如,服务器计算机、用户计算机、智能手机、车辆等)。网络110可以包括存储区域网(SAN)、局域网(LAN)等。
存储系统102包括资源112,在执行时其中一些资源可以由工作负载106共享。资源112可以包括存储系统102的物理资源和/或逻辑资源。
工作负载管理引擎104包括工作负载聚类逻辑114和工作负载簇贡献参数计算逻辑116。如这里所使用的,作为工作负载管理引擎104的一部分的“逻辑”可以指工作负载管理引擎104的硬件处理电路的一部分或指可由工作负载管理引擎104执行的机器可读指令。
可以由工作负载管理引擎104执行的工作负载管理可以包括控制工作负载106对资源112的使用。例如,工作负载管理引擎104可以动态地对特定工作负载106对资源112的使用施加约束。作为示例,如果工作负载管理引擎104识别出(基于工作负载聚类逻辑114和工作负载簇贡献参数计算逻辑116执行的任务,如下文进一步讨论的)给定工作负载106对其他工作负载106产生不利影响,则工作负载管理引擎104可以对给定工作负载106对资源112的使用施加约束。例如,工作负载管理引擎可以对一个资源112(或多个资源112)的访问施加带宽限制。例如,可以对存储卷设置带宽限制,所述带宽限制会将给定工作负载对存储卷的访问速率限制为小于某个指定的I/O吞吐量。例如,带宽限制可以是QoS规则的一部分,其中,工作负载可以被限制为所述工作负载在给定时间段(例如,4小时或另一时间段)内使用的最大I/O吞吐量的X%。X%可以是75%或其他百分比,并且可以动态地调整。
在一些示例中,工作负载是否受到资源使用约束也可以基于工作负载的优先级以及其他因素(例如,工作负载是短期工作负载还是长期工作负载)。如果工作负载是预期将会运行相对较短时间段的高优先级工作负载,则即使工作负载消耗相对大量的资源,所述工作负载也可能不会受到资源使用约束。然而,如果工作负载具有低优先级和/或预期将会运行相对较长的时间段,则在工作负载消耗相对大量的资源时,工作负载可能会受到资源使用约束。
工作负载聚类逻辑114基于工作负载106的特征将工作负载106分组为多个工作负载簇118。每个工作负载簇118表示根据相似性标准彼此相似的工作负载(例如,特征的值在指定范围或阈值内彼此相似)。例如,工作负载簇中的工作负载包括共享相似I/O模式的工作负载,这些I/O模式可以基于I/O类型和访问模式(如上文进一步讨论的)。
工作负载的特征可以指表示工作负载的特性的属性。在示例中,特征可以表示访问存储卷时的写入吞吐量。写入吞吐量可以指一定数量的存储卷的写入访问速率,其中,“数量”可以指0、1或大于1。在其他示例中,可以采用其他特征,比如与一定数量的存储卷的读取访问相关的读取吞吐量、一定数量的存储卷的写入访问和读取访问两者的总吞吐量、或表示与一定数量的存储卷中的数据的I/O访问相关的特性的任何其他属性。
在一些示例中,工作负载的特征可以包括在整个(更大)时间段内的对应间隔中,工作负载对给定存储卷的写入吞吐量的写入吞吐量测量值。例如,可以在4小时内每个5分钟间隔中进行一次对给定存储卷的写入吞吐量测量。写入吞吐量测量值可以由存储系统102中的监测代理(以硬件实施或实施为机器可读指令)收集。在上面的示例中,在4小时内的48个5分钟间隔中有48个写入吞吐量测量值。每个工作负载的48个写入吞吐量测量值构成了用于聚类的48个特征。在其他示例中,可以采用进行写入吞吐量测量的不同时间间隔。此外,还可以改变进行写入吞吐量测量的总时间段。
在进一步示例中,可以使用除了工作负载的写入吞吐量测量之外或代替其的特征对工作负载106进行聚类。
工作负载聚类逻辑114将工作负载106聚类到工作负载簇118中可以减少在确定哪个(哪些)工作负载应为存储系统102的负载负责、并且因此可能为对其他工作负载的性能产生不利影响负责时所考虑的工作负载的数量。例如,可能有数百或数千个工作负载106执行相应存储卷的I/O访问。通过对工作负载106进行聚类,工作负载管理引擎104考虑较少量的工作负载簇118。
可以使用比如肘部法则的优化技术来选择要由工作负载聚类逻辑114产生的工作负载簇118的数量。在其他示例中,用户(例如,专家、管理员等)可以选择要使用的工作负载簇118的数量。
在一些示例中,由工作负载聚类逻辑114应用的对工作负载106的聚类是k均值聚类,所述聚类将工作负载106划分为k个簇(k≥2)。在其他示例中,可以使用其他聚类技术,比如均值偏移聚类、基于密度的空间聚类等。
一旦工作负载聚类逻辑114产生工作负载簇118,工作负载管理引擎104就可以确定哪个工作负载簇118为存储系统102的负载负责。
工作负载簇贡献参数计算逻辑116使用基于训练数据集122训练的模型120来计算表示相应工作负载簇118对存储系统102中的负载的贡献的参数124。基于所计算的参数124,工作负载管理引擎104在存储系统102中执行工作负载管理。
在一些示例中,模型120和训练数据集122可以存储在存储库126中。存储库126可以包含在一个存储设备或多个存储设备中。在工作负载管理引擎104是存储系统102的一部分的示例中,可以使用存储系统102的(多个)存储设备来实施存储库126。
可以在存储系统102的正常操作期间训练模型120。“正常操作”指的是存储系统102响应于存储系统102比如从主机系统108接收到的请求而进行的操作。训练数据集122可以在被提供测量值(例如,上文讨论的写入吞吐量测量值)时不断地更新。训练数据集122可以包括工作负载样本的特征。随着更多工作负载在存储系统102中被执行,这些附加工作负载的特征被提供用于包括在训练数据集122中,以添加到训练数据集122中或(部分地)替换先前的特征。
响应于训练数据集122的更新,可以基于更新的训练数据集122来更新(重新训练)模型120。更新(重新训练)模型120可以指使用更新的训练数据集122来更新模型120的参数。结果,模型120能够适应随时间变化的工作负载特性。
上述内容是机器学习过程的一部分,其中,基于可从存储系统102获得的历史工作负载模式数据不断地重新训练模型120,并且经重新训练的模型120能够预测哪个工作负载对存储系统102上的负载有贡献。
在一些示例中,训练数据集122包括由N个变量(N=簇数量)定义的数据点。更一般地,训练数据集122包括负载指示符(例如,L_t的值)、工作负载簇以及与资源访问相关的度量(例如,写入吞吐量测量值)。
每个变量的值是属于相应工作负载簇118的工作负载的共同写入吞吐量。对于每个工作负载,有48个特征(在4小时内以5分钟间隔进行写入吞吐量测量的示例中,是48个时间间隔中的写入吞吐量测量值)。
在一些示例中,模型120可以使用以下函数来表达:
L_t=wc_1*wc_1_kbps+wc_2*wc_2_kbps+wc_3*wc_3_kbps+… (等式1)
L_t表示在时间t时存储系统102上的负载。L_t可以设置为第一值(例如,0)以指示存储系统102上的负载低。L_t可以设置为第二值(例如,大于0的值)以指示存储系统102上的负载高。
在一些示例中,当在所观察的时间间隔期间有任何延迟的确认被报告时,认为在所观察的时间间隔期间存储系统102上的负载高(并且通过设置L_t=1或大于1来指示)。当在所观察的时间间隔期间没有延迟的确认被报告时,认为在所观察的时间间隔期间存储系统102上的负载低(并且通过设置L_t=0来指示)。
当存储系统102的后端子系统无法跟上传入的工作负载(例如,写入突发)时,后端子系统生成延迟的确认。延迟的确认表示存储系统102中的资源访问的完成存在延迟。后端子系统可以包括以下各项中的任何一项或某种组合:存储设备、缓存存储器、与存储设备通信的适配器等。
延迟的确认呈指示符(例如,信号、消息、信息元素等)的形式,所述指示符由后端子系统发送至比如主机系统108或已向存储系统102提交请求的其他请求方。后端子系统无法跟上传入的工作负载可能是由于处理资源、存储资源、通信资源等的过载状况所致。
工作负载管理引擎104能够检测延迟的确认的存在并且因此可以相应地设置L_t的值。例如,L_t可以设置为0以指示存储系统102上的负载低,并且L_t可以设置为大于0的值(例如,1)以指示存储系统102上的负载高。
在其他示例中,如果资源112的使用小于指定阈值,则认为在所观察的时间间隔期间存储系统102上的负载低,并且如果资源112的使用超过指定阈值,则认为在所观察的时间间隔期间存储系统102上的负载高。
在等式1中,wc_i,i=1,2,...是在时间t时与工作负载簇i相对应的系数,并且参数wc_i_kbps表示在时间t时工作负载簇i的测量吞吐量(在示例中表达为每秒千比特(kbps)。由于工作负载簇i包括多个工作负载,因此wc_i_kbps的值可以是工作负载簇i中的工作负载的测量吞吐量的平均(或一些其他数学聚合,比如均值、最大值、总和等)。
等式1是线性回归模型的示例,所述模型使用机器学习来更新(通过响应于触发而更新训练数据集122并重新训练所述模型)。线性回归模型对特定参数(例如,wc_1、wc_2等)和特征(例如,wc_1_kbps、wc_2_kbps等)如何影响结果进行建模。根据等式1,结果是存储系统102上的负载(在等式1中表示为L_t)。
响应于L_t具有指示存储系统102上的负载高的第二值(例如,>0),工作负载簇贡献参数计算逻辑116可以使用由等式1表达的模型120(如基于从存储系统102的最近工作负载106得到的特征训练的)来计算参数wc_1、wc_2等的值。参数wc_1、wc_2等是参数124的示例。每个时间间隔t中的测量吞吐量作为输入被供应给模型120,所述模型输出参数wc_1、wc_2等。
参数wc_1、wc_2等的值反映相应工作负载簇118对存储系统102上的负载的贡献。在一些示例中,使用统计度量来确定相应工作负载簇i是否是包括可能对“受害者”工作负载的性能产生不利影响的“欺凌者”工作负载的显著工作负载簇。欺凌者工作负载可以是独占存储系统102的资源112或使用这些资源的不公平份额的那些工作负载。“受害者”工作负载可以是性能受到(多个)其他工作负载不利影响的那些工作负载。
可以使用的示例统计度量是线性回归模型(例如,根据等式1)的统计p值。p值是基于回归模型针对回归模型的每个特征(wc_i_kbps)获得的。回归模型的系数(wc_i)描述了每个自变量(例如,L_t)与因变量(例如,wc_i_kbps)之间的数学关系。系数的p值指示这些关系在统计上是否显著。以95%的显著性为例,小于0.05的p值在统计上不显著。如果基于回归模型所有特征的p值都大于0.05,则被识别为显著工作负载簇(即,包含欺凌工作负载)的工作负载簇是与正系数(wc_i)值相关联的那些工作负载簇。
在一些示例中,除了p值之外,还使用确定系数R2来确定工作负载簇是否是显著工作负载簇。确定系数R2是数据与回归模型相对应的回归线的拟合程度的统计度量。R2的值在0到1之间的范围内。例如,无论p值和系数值如何,如果回归模型的R2小于阈值(例如,70%或另一个阈值),则这可能表明没有一个工作负载簇是显著工作负载簇,并且因此,没有工作负载簇被识别为显著的(即,没有识别出欺凌者工作负载)。另一方面,如果R2超过阈值,则使用如上所述的p值和系数值来识别显著工作负载簇。
在其他示例中,工作负载管理引擎104可以根据参数wc_1、wc_2等的值对工作负载簇118进行排序。假设wc_i的更高值指示相应工作负载簇i相比于与wc_j的较低值相关联的工作负载簇j对存储系统102上的负载有更大的贡献,可以根据参数wc_1、wc_2等的值的降序对工作负载簇118进行排序。如果工作负载簇118的排序产生工作负载簇的排名列表,则在排名列表前面的一个给定工作负载簇(或多个给定工作负载簇)可以是对存储系统102上的负载贡献最大的工作负载簇。该(多个)给定工作负载簇中的工作负载可以被工作负载管理引擎104识别成为使存储系统102过载负责的工作负载。
根据一些示例使用工作负载管理引擎104,可以通过处理其中欺凌者工作负载会对“受害者”工作负载的性能产生不利影响的噪声邻居场景来提高存储系统102的性能。然后可以对“欺凌者”工作负载施加约束,以减少欺凌者工作负载的资源使用量,使得其他工作负载可以使用共享资源。如上文进一步所述,是否对欺凌者工作负载施加约束可以进一步考虑工作负载的优先级、预期执行持续时间和/或其他因素。
训练数据集122可以是带标签的训练数据集,其中,标签被分配给训练数据集122中的工作负载相关数据的集合。工作负载相关数据包括样本工作负载的特征和参数(例如,124)(例如,样本工作负载由过去4小时内的工作负载簇表示)。所分配的标签可以基于延迟的确认是否在相应时间间隔(例如,5分钟间隔)中被发出。例如,标签可以呈等式1中的L_t的形式,其中,如果没有延迟的确认在时间间隔t中被发出,则L_t设置为0,而如果有延迟的确认在时间间隔t中被发出,则L_t设置为1。因此,在训练数据集122中,(多个)特征(例如,在时间间隔t中针对每个簇i的wc_i_kbps)和(多个)参数(例如,在时间间隔t中针对每个簇i的wc_i)的集合与相应标签(例如,L_t)相关联。
注意,标签(例如,L_t)基于在存储系统102的正常操作期间产生的负载指示符(例如,延迟的确认)。因此,训练数据集122的标签在存储系统102的正常操作期间自动生成,并且人类不必手动地为训练数据集122中的训练数据分配标签。
为了通过处理噪声邻居场景来优化存储系统102以获得可预测的性能,基于机器学习的工作负载管理引擎104自动识别异构工作负载环境中的欺凌者和受害者。如图2所示,基于机器学习的工作负载管理引擎104可以执行基于机器学习的工作负载管理过程200,所述过程包括两个阶段。在第一阶段202中,基于机器学习的工作负载管理引擎104检测独占存储系统的资源112的工作负载。在第二阶段210中,基于机器学习的工作负载管理引擎104对这样的工作负载施加约束以帮助恢复较高优先级的工作负载的性能。
在第一阶段202中,基于机器学习的工作负载管理引擎104应用自训练机器学习模型(例如,120),所述模型在训练数据集122上训练自身,所述训练数据集基于存储系统102的可用于预测哪个(哪些)工作负载对存储系统102上的负载有贡献的历史工作负载模式数据(例如,4小时或另一总时间段的历史数据)。当在所观察的时间间隔期间有延迟的确认被报告时,认为在所观察的时间间隔(例如,5分钟的间隔或另一时间间隔)期间负载高(例如,L_t设置为1),并且当在所观察的时间间隔期间没有延迟的确认被报告时,认为在所观察的时间间隔期间负载低(例如,L_t设置为0)。
为了确定(在存储系统102中运行的若干工作负载中)哪个(哪些)工作负载为存储系统102中的负载负责,基于机器学习的工作负载管理引擎104首先将工作负载分组(在204处)为一定数量的工作负载簇,其中,所述数量可以使用比如肘部法则等优化技术来决定。为了进行聚类,基于机器学习的工作负载管理引擎104定义将被聚类的数据点的特征,其中,“数据点”可以包括在4小时的总时间段内在5分钟间隔处的写入吞吐量测量值。
注意,模型120在现场在存储系统102上进行训练(例如,如在客户现场在操作期间使用的),并且模型120能够在存储系统102中观察到的(工作负载中的)最近的I/O模式上重新训练自身。使用最近的I/O模式的数据来更新训练数据集122。例如,基于机器学习的工作负载管理引擎104可以从存储系统102采样4小时的工作负载数据——从当前时刻回溯4小时。结果,存储卷有48个写入吞吐量测量值(4小时内每个5分钟间隔一个)。这提供了具有48个特征的数据点。可以针对每个存储卷获得类似的数据点。
工作负载聚类逻辑114对数据点应用k均值聚类以产生工作负载簇118。每个工作负载簇118表示在过去4小时内测量的在存储卷上具有类似I/O模式的工作负载。这有助于将要跟踪的工作负载数量减少到可管理的数量(从数百个工作负载减少到工作负载簇的数量)。
应用(在206处)模型120(例如,线性回归模型)以识别在相应时间间隔处哪个(哪些)工作负载簇为存储系统102中的负载负责。模型120表示特定参数和特征如何影响结果(响应),其中,结果是存储系统102上的负载,特征是工作负载簇中的工作负载的共同吞吐量(如在过去4小时内的每个5分钟时间间隔内测量的),并且参数(例如,等式1的系数wc_i)表示工作负载簇对存储系统102中的负载的贡献。
模型120的训练数据集122包括由工作负载簇数量)的变量定义的数据点。每个变量的值是属于相应工作负载簇118的工作负载的共同写入吞吐量。每个工作负载簇有48个变量(针对四小时内的48个5分钟时间间隔)。
由于训练样本(包括48个变量)的数量相对较少,因此通过对工作负载进行聚类来减少特征数量,以避免机器学习中所谓的“维度灾难”。由经训练的模型120分配给工作负载簇的等式1中的系数wc_i,i=1,2,...代表相应工作负载簇对存储系统102中的负载的贡献。
每当在存储系统102中执行工作负载的更多I/O模式数据时都重新训练模型120,从模型120得到的系数反映工作负载簇对存储系统102中的负载的贡献,如从最近捕获的信息(例如,过去4小时)获知的。因此,模型120能够时时适应变化的工作负载简档。在一些示例中,如上文进一步解释的,使用统计度量来确定相应工作负载簇i是否是包括显著工作负载簇,所述显著工作负载簇包括可能对受害者工作负载的性能产生不利影响的欺凌者工作负载。
由基于机器学习的工作负载管理引擎执行的第二阶段包括基于工作负载的优先级对显著工作负载簇中的工作负载的资源使用应用约束。
在一些示例中,工作负载是否受到资源使用约束也可以基于工作负载的优先级以及其他因素(例如,工作负载是短期工作负载还是长期工作负载)。如果工作负载是预期将会运行相对较短时间段的高优先级工作负载,则即使工作负载消耗相对大量的资源,所述工作负载也可能不会受到资源使用约束。然而,如果工作负载具有低优先级和/或预期将会运行相对较长的时间段,则在工作负载消耗相对大量的资源时,工作负载可能会受到资源使用约束。
例如,资源使用约束可以包括带宽限制,所述带宽限制可以是QoS规则的一部分,指定了工作负载可以被限制为工作负载在给定时间段(例如,4小时或另一时间段)内使用的最大I/O吞吐量的X%。X%可以是75%或其他百分比,并且可以动态地调整。
在第二阶段210中,基于机器学习的工作负载管理引擎104确定(在212处)相应工作负载的优先级和其他因素(例如,执行时长)。该确定可以包括访问与工作负载相关联的元数据,其中,元数据可以包括指示对应工作负载的相对优先级和其他因素的信息。
然后,基于机器学习的工作负载管理引擎104选择(在214处)在第一阶段202中识别出的显著工作负载簇中的工作负载,其中,资源使用约束将被应用于所选工作负载。基于比较显著工作负载簇中的工作负载的相对优先级和其他因素来选择所选工作负载,例如,其中,所选工作负载是具有较低优先级和/或运行较长时间段的那些工作负载。
图3是存储有机器可读指令的非暂态机器可读或计算机可读存储介质300的框图,所述机器可读指令在执行时使系统(例如,工作负载管理引擎104、存储系统102等)执行各种任务。
机器可读指令包括训练数据集创建指令302,以基于样本工作负载的特征来创建训练数据集(例如,图1中的122)。训练数据集包括与样本工作负载的特征相关联的标签,其中,标签基于在计算环境(例如,存储系统102)中生成的负载指示符(例如,等式1中的L_t),所述负载指示符与由样本工作负载的执行导致的计算环境的负载状况相关。例如,样本工作负载可以由工作负载簇表示。
机器可读指令包括工作负载分组指令304(比如图1的工作负载聚类逻辑114的那些),以基于工作负载的特征将所选工作负载分组为多个工作负载簇。“所选”工作负载是将受到基于机器学习的工作负载管理的那些工作负载,其可能或可能不包括样本工作负载中的一个或多个。
在一些示例中,工作负载中的每个工作负载在计算环境中的相应存储卷上执行。在一些示例中,工作负载簇包括关于对一定数量的存储卷的I/O访问具有相似I/O模式的工作负载。
在一些示例中,用于执行工作负载聚类的特征包括与计算环境中的资源访问相关的度量,比如写入吞吐量测量值。
机器可读指令包括贡献参数计算指令306(比如图1的工作负载簇贡献参数计算逻辑116的那些),以使用基于训练数据集训练的模型(例如,图1中的120)来计算表示相应工作负载簇对计算环境(例如,存储系统102或另一计算环境)中的负载状况的贡献的参数(比如等式1的那些)。注意,将所选工作负载分组为多个工作负载簇减少了在使用模型计算参数时处理的特征的数量。
在一些示例中,响应于负载状况满足标准而触发对表示相应工作负载簇对负载的贡献的参数的计算。例如,当大于指定数量的时间间隔(例如,上文进一步讨论的5分钟间隔)表现出过度负载状况(例如,延迟的确认在指定数量的时间间隔中的每一个时间间隔中被发出)时,负载状况满足标准。
在一些示例中,所述模型是线性回归模型,其表达为基于所述参数和与计算环境中的资源访问相关的度量的函数(例如,等式1)。
机器可读指令包括工作负载管理指令308,以基于所计算的参数在计算环境中执行工作负载管理。
在一些示例中,基于所计算的参数在计算环境中执行工作负载管理包括:将属于由多个参数中的参数指示的、多个工作负载簇中的工作负载簇的工作负载识别为对计算环境中的过载状况有贡献,以及限制所识别的工作负载的资源使用。
在一些示例中,基于所计算的参数在计算环境中执行工作负载管理包括:确定所识别的工作负载相对于其他工作负载的优先级,其中,所述限制资源使用是响应于所确定的相对优先级而进行的。
图4是系统400(例如,工作负载管理引擎104、存储系统102或另一计算机或计算机布置)的框图。系统400包括硬件处理器402(或多个硬件处理器)。硬件处理器可以包括微处理器、多核微处理器的核、微控制器、可编程集成电路、可编程门阵列、或另一硬件处理电路。
系统400包括存储介质404,所述存储介质存储可在硬件处理器402上执行以执行各种任务的机器可读指令。可在硬件处理器上执行的机器可读指令可以指可在单个硬件处理器上执行的指令或可在多个硬件处理器上执行的指令。
存储介质404中的机器可读指令包括模型训练指令406,以使用训练数据集(例如,图1的训练数据集122)训练模型,所述训练数据集包括过去在存储环境(例如,存储系统102)中执行的工作负载的信息。训练数据集包括与过去的工作负载的特征相关联的标签,其中,标签基于在存储环境中生成的负载指示符,所述负载指示符与由过去的工作负载的执行导致的存储环境的负载状况相关。
存储介质304中的机器可读指令包括工作负载分组指令408,以基于当前工作负载的特征将当前工作负载分组为多个工作负载簇。所述特征包括与存储环境中的存储资源访问相关的度量。
在一些示例中,每个当前工作负载包括关于存储环境中的相应存储卷执行的存储资源访问活动。
存储介质304中的机器可读指令包括贡献参数计算指令410,以使用经训练的模型来计算表示多个工作负载簇中的相应工作负载簇对存储环境中的过载状况的贡献的参数。
存储介质404中的机器可读指令包括工作负载管理指令412,以基于所计算的参数在存储环境中执行工作负载管理。
图5是根据一些示例的过程500的流程图。过程500可以由包括硬件处理器的系统执行。
过程500包括基于工作负载的特征将工作负载分组(在502处)为多个工作负载簇,其中,特征包括与计算环境中的资源访问相关的度量。
过程500包括基于训练数据集训练(在504处)模型,训练数据集包括与样本工作负载的特征相关联的标签,其中,标签基于在计算环境中生成的负载指示符,所述负载指示符与由样本工作负载的执行导致的计算环境的负载状况相关。
过程500包括使用基于训练数据集训练的模型来计算(在506处)表示该多个工作负载簇中的相应工作负载簇对计算环境中的负载的贡献的参数。将工作负载分组为多个工作负载簇减少了在使用模型计算参数时处理的特征的数量。
过程500包括基于所计算的参数在计算环境中执行(在508处)工作负载管理。
过程500可以在计算环境的操作期间更新训练数据集,并使用更新的训练数据集来重新训练模型。
存储介质(例如,图3中的300或图4中的404)可以包括以下各项的任一项或某种组合:半导体存储器设备,比如动态或静态随机存取存储器(DRAM或SRAM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)和闪速存储器或其他类型的非易失性存储器设备;磁盘,如固定的软盘和可移动盘;另一种磁介质,包括磁带;光学介质,比如光盘(CD)或数字视频盘(DVD);或另一类型的存储设备。注意,上文讨论的指令可以在一个计算机可读或机器可读存储介质上提供,或者可替代地,可以在分布在具有可能多个节点的大型系统中的多个计算机可读或机器可读存储介质上提供。这种一个或多个计算机可读或机器可读存储介质被认为是物品(或制品)的一部分。物品或制品可以指任何制造的单个部件或多个部件。一个或多个存储介质可以位于运行机器可读指令的机器中、或者位于远程站点处,可以通过网络从所述远程站点下载机器可读指令以供执行。
在前述描述中,阐述了许多细节以使得理解本文中所公开的主题。然而,可以在没有这些细节中的一些细节的情况下实践实施方式。其他实施方式可以包括上文所讨论的细节的修改和变化。所附权利要求旨在覆盖这样的修改和变化。
Claims (20)
1.一种非暂态机器可读存储介质,包括指令,所述指令在执行时使系统进行以下操作:
基于样本工作负载的特征创建训练数据集,所述训练数据集包括与所述样本工作负载的特征相关联的标签,其中,所述标签基于在计算环境中生成的负载指示符,所述负载指示符与由所述样本工作负载的执行导致的所述计算环境的负载状况相关;
基于所选工作负载的特征将所述所选工作负载分组为多个工作负载簇;
使用基于所述训练数据集训练的模型来计算表示所述多个工作负载簇中的相应工作负载簇对所述计算环境中的负载状况的贡献的参数,其中,所述将所述所选工作负载分组为所述多个工作负载簇减少了在使用所述模型计算所述参数时处理的特征的数量;以及
基于所计算的参数在所述计算环境中执行工作负载管理。
2.如权利要求1所述的非暂态机器可读存储介质,其中,所述所选工作负载中的每个工作负载在所述计算环境中的相应存储卷上执行。
3.如权利要求2所述的非暂态机器可读存储介质,其中,所述多个工作负载簇中的工作负载簇包括具有相似输入/输出模式的工作负载。
4.如权利要求1所述的非暂态机器可读存储介质,其中,所述特征包括与所述计算环境中的资源访问相关的度量。
5.如权利要求4所述的非暂态机器可读存储介质,其中,与资源访问相关的所述度量包括多个时间间隔中的度量。
6.如权利要求4所述的非暂态机器可读存储介质,其中,与资源访问相关的所述度量包括与存储资源的写入吞吐量相关的度量。
7.如权利要求1所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统进行以下操作:
响应于所述负载状况满足标准而触发对表示所述相应工作负载簇对所述负载状况的贡献的所述参数的计算。
8.如权利要求7所述的非暂态机器可读存储介质,其中,所述所选工作负载的特征包括与在对应时间间隔中所述计算环境的资源访问相关的度量,并且其中,当大于指定数量的所述时间间隔表现出过度负载状况时,所述负载状况满足所述标准。
9.如权利要求8所述的非暂态机器可读存储介质,其中,当资源访问完成的确认延迟时,在所述时间间隔中的给定时间间隔中存在所述过度负载状况。
10.如权利要求1所述的非暂态机器可读存储介质,其中,所述模型包括回归模型。
11.如权利要求10所述的非暂态机器可读存储介质,其中,所述回归模型表达为基于所述参数和与所述计算环境中的资源访问相关的所述度量的函数。
12.如权利要求11所述的非暂态机器可读存储介质,其中,与资源访问相关的所述度量包括写入吞吐量度量。
13.如权利要求1所述的非暂态机器可读存储介质,其中,所述指令在执行时使所述系统进行以下操作:
使用所述训练数据集训练所述模型,所述训练数据集包括基于所述负载指示符的标签、所述样本工作负载的簇以及所述样本工作负载的簇的特征,其中,所述样本工作负载的簇的特征包括与资源访问相关的度量。
14.如权利要求1所述的非暂态机器可读存储介质,其中,所述基于所计算的参数在所述计算环境中执行工作负载管理包括:
将属于由所述多个参数中的参数指示的、所述多个工作负载簇中的工作负载簇的工作负载识别为对所述计算环境中的过载状况有贡献,以及
限制所识别的工作负载的资源使用。
15.如权利要求14所述的非暂态机器可读存储介质,其中,所述基于所计算的参数在所述计算环境中执行工作负载管理进一步包括:
确定所述所识别的工作负载相对于其他工作负载的优先级,
其中,所述限制资源使用是响应于所确定的相对优先级而进行的。
16.一种系统,包括:
处理器;以及
非暂态机器可读存储介质,所述存储介质包括可在所述处理器上执行以进行以下操作的指令:
使用训练数据集训练模型,所述训练数据集包括过去在存储环境中执行的工作负载的信息,所述训练数据集包括与所述过去的工作负载的特征相关联的标签,其中,所述标签基于在所述存储环境中生成的负载指示符,所述负载指示符与由所述过去的工作负载的执行导致的所述存储环境的负载状况相关;
基于当前工作负载的特征将所述当前工作负载分组为多个工作负载簇,所述特征包括与所述存储环境中的存储资源访问相关的度量;
使用经训练的模型来计算表示所述多个工作负载簇中的相应工作负载簇对所述存储环境中的过载状况的贡献的参数;以及
基于所计算的参数在所述存储环境中执行工作负载管理。
17.如权利要求16所述的系统,其中,每个当前工作负载包括关于所述存储环境中的相应存储卷而执行的存储资源访问活动。
18.如权利要求16所述的系统,其中,所述特征包括写入吞吐量测量值,并且所述将当前工作负载分组为所述多个工作负载簇中基于多个时间间隔中的所述写入吞吐量测量值。
19.一种包括硬件处理器的系统的方法,所述方法包括:
基于工作负载的特征将所述工作负载分组为多个工作负载簇,其中,所述特征包括与计算环境中的资源访问相关的度量;
基于训练数据集训练模型,所述训练数据集包括与样本工作负载的特征相关联的标签,其中,所述标签基于在所述计算环境中生成的负载指示符,所述负载指示符与由所述样本工作负载的执行导致的所述计算环境的负载状况相关;
使用基于所述训练数据集训练的模型来计算表示所述多个工作负载簇中的相应工作负载簇对所述计算环境中的负载的贡献的参数,其中,所述将所述工作负载分组为所述多个工作负载簇减少了在使用所述模型计算所述参数时处理的特征的数量;以及
基于所计算的参数在所述计算环境中执行工作负载管理。
20.如权利要求19所述的方法,进一步包括:
在所述计算环境的操作期间更新所述训练数据集;以及
使用更新的训练数据集来重新训练所述模型。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/303,883 | 2021-06-09 | ||
US17/303,883 US20220398021A1 (en) | 2021-06-09 | 2021-06-09 | Workload management using a trained model |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115454322A true CN115454322A (zh) | 2022-12-09 |
Family
ID=84192234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111261875.3A Pending CN115454322A (zh) | 2021-06-09 | 2021-10-28 | 使用经训练的模型的工作负载管理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220398021A1 (zh) |
CN (1) | CN115454322A (zh) |
DE (1) | DE102021127522A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928518B2 (en) * | 2021-08-10 | 2024-03-12 | Kyndryl, Inc. | Noisy-neighbor detection and remediation |
US20230205653A1 (en) * | 2021-12-24 | 2023-06-29 | Nutanix, Inc. | Metering framework for improving resource utilization for a disaster recovery environment |
US20240028225A1 (en) * | 2022-07-20 | 2024-01-25 | Dell Products L.P. | Data storage system with self tuning based on cluster analysis of workload features |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017105376A1 (en) * | 2015-12-14 | 2017-06-22 | Vce Company, Llc | Methods, systems, and computer readable mediums for workload clustering |
US11544236B2 (en) * | 2018-12-28 | 2023-01-03 | Teradata Us, Inc. | Machine-learning driven database management |
US20220334944A1 (en) * | 2021-04-14 | 2022-10-20 | EMC IP Holding Company LLC | Distributed file system performance optimization for path-level settings using machine learning |
-
2021
- 2021-06-09 US US17/303,883 patent/US20220398021A1/en active Pending
- 2021-10-22 DE DE102021127522.9A patent/DE102021127522A1/de active Pending
- 2021-10-28 CN CN202111261875.3A patent/CN115454322A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220398021A1 (en) | 2022-12-15 |
DE102021127522A1 (de) | 2022-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115454322A (zh) | 使用经训练的模型的工作负载管理 | |
US8260622B2 (en) | Compliant-based service level objectives | |
EP3087503B1 (en) | Cloud compute scheduling using a heuristic contention model | |
US11915053B2 (en) | Interruption predictions for cloud compute instances | |
JP2021531534A (ja) | ストレージ・ユニットのエラー・チェックを実施するときを決定するための機械学習モジュールの使用 | |
CN112099939B (zh) | 用于工作负载类型操作度量计算的系统、方法和存储介质 | |
US11042410B2 (en) | Resource management of resource-controlled system | |
WO2021021296A1 (en) | Confidence approximation-based dynamic thresholds for anomalous computing resource usage detection | |
EP3146429A1 (en) | A mechanism for controled server overallocation in a datacenter | |
CA2637987C (en) | Method for autonomic system management using adaptive allocation of resources | |
US20200379867A1 (en) | Anomalous computing resource usage detection based on seasonality-based dynamic thresholds | |
WO2020206699A1 (en) | Predicting virtual machine allocation failures on server node clusters | |
CN113168398A (zh) | 基于遥测数据的设备的升级确定 | |
TWI590052B (zh) | 資料儲存裝置監測技術 | |
CN116089477B (zh) | 分布式训练方法及系统 | |
US20230129647A1 (en) | Distribution of quantities of an increased workload portion into buckets representing operations | |
US11651271B1 (en) | Artificial intelligence system incorporating automatic model updates based on change point detection using likelihood ratios | |
US11636377B1 (en) | Artificial intelligence system incorporating automatic model updates based on change point detection using time series decomposing and clustering | |
CN116880968A (zh) | 一种作业调度方法及调度系统 | |
He et al. | An SLA-driven cache optimization approach for multi-tenant application on PaaS | |
US20210019397A1 (en) | Smoothed seasonality-based dynamic thresholds for anomalous computing resource usage detection | |
US20190138931A1 (en) | Apparatus and method of introducing probability and uncertainty via order statistics to unsupervised data classification via clustering | |
US20180285168A1 (en) | Information processing apparatus and information processing system | |
Hammer et al. | A queue model for reliable forecasting of future CPU consumption | |
US11934678B2 (en) | Data reduction for storage volumes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |