本说明书涉及通过消费者的计算工作负载来估计和管理资源消耗,以及标识和实现提高工作负载性能的工作负载合并和资源分配策略。本说明书还涉及通过高效的工作负载合并策略提高用户体验并增加云提供方的收益。
背景技术:云计算使用户能够在需要时访问大型计算池以及存储资源,减轻商家(例如,云消费者)的管理负担,并保持信息技术(IT)资产。云提供方使用虚拟化技术(例如,)通过合并工作负载和应用资源分配来满足消费者提交的工作负载。合并和分配设置通常是静态的,并依赖于固定的规则,这些规则通常不考虑工作负载的实时资源使用特性,更不用说对工作负载的性能影响。当前系统基于使用或者保留的资源量对云消费者进行收费,其中仅有最低的关于云消费者的应用(例如,工作负载)体验的服务质量(QoS)以及由此的应用用户的体验的保证。因此,云消费者寻求如下有吸引力的云提供方,其提供资源(例如,足够量的硬件基础结构)以满足用于云消费者的工作负载的最大等级的QoS保证。随着虚拟化技术在云提供方中的激增,将多个云消费者的应用合并到多核服务器上提高用于云提供方的资源利用。现有的工具使用具有静态规则的随机供应,这可能引起不良工作负载性能(例如,不满足用于云消费者的工作负载的QoS保证),和/或低效资源利用,并手动执行应用分析和资源调整。此外,多个云消费者的应用(例如,工作负载)的合并在同地共置的(colocated)工作负载之间引入了性能干扰,这明显影响每个合并的用户的应用工作负载的QoS。
技术实现要素:工作负载分析器和性能干扰(WPPI)系统使用用于表征可能不被云提供方识别的消费者工作负载的识别的工作负载(例如,一组基准工作负载)、资源估计分析器和影响矩阵的测试套件,以及用于最大化(例如,优化)有效工作负载分配的从属关系规则以满足工作负载QoS目标。WPPI系统可以重新剖析WPPI系统没有识别的之前剖析的工作负载以便推断工作负载的特性,因为提供方可能未直接识别或知晓消费者工作负载。WPPI系统还使用性能干扰模型来预测(例如,预报)对各种合并方案的工作负载的性能影响。WPPI系统使用从属关系规则和性能干扰模型来确定最佳的和次佳的分配和合并方案,其可以被用来实现云提供方和/或云消费者目标。WPPI系统可以使用识别的工作负载、资源估计分析器和影响矩阵的测试套件,从属关系规则,以及性能干扰模型,来执行离线建模以确定初始分配选择和合并策略(例如,方案)以用来部署工作负载。WPPI系统还可以是在线合并算法,其使用离线模型(例如,资源估计分析器、影响矩阵、从属关系规则,和性能干扰模型)和在线监测来确定响应于实时条件(例如,用户需求和资源的可用性)的最佳的和次佳的虚拟机到物理主机分配,以便满足云提供方和/或云消费者目标。根据对以下附图和具体实施方式的分析,其他系统、方法和特征对于本领域技术人员将是或将变得显而易见。所有这些附加的系统、方法和特征都旨在于被包括在本说明书中,在本公开内容的范围内,以及通过以下权利要求进行保护。附图说明通过参考以下附图和说明,可以更好地理解用于QoS感知云的工作负载分析器和性能干扰(WPPI)系统和方法。参考以下附图描述了非限制性和非穷尽的描述。附图中的组件不一定是按照比例的,相反重点在于示例性的原则。在附图中,除非另有说明,相同的参考数字贯穿不同附图指代相同部分。图1示出了工作负载分析器和性能干扰(WPPI)配置。图2示出了WPPI系统可以标识用于合并云消费者的工作负载(例如,应用)的云提供方的类型。图3示出了WPPI系统可以分析的资源和资源竞争的类型。图4示出了WPPI系统用来确定工作负载性能干扰和合并方案的逻辑的流程图。图5示出了WPPI系统确定用来优化工作负载合并和资源利用的工作负载简档的图形表示。图6示出了WPPI系统可以用来确定资源使用简档估计的逻辑。图7示出了WPPI系统可以用来标识用于资源的从属关系映射到工作负载的映射的模糊逻辑。图8示出了WPPI系统可以用来计算用于工作负载的扩大因子的影响矩阵。图9示出了WPPI系统可以用来优化工作负载的数量和最大化提供方收益的逻辑。图10示出了WPPI系统可以用来确定工作负载合并以及最大化云提供方收益的虚拟机(VM)规范。图11示出了展现识别的工作负载简档(工作负载签名)的测试套件工作负载。图12示出了由WPPI系统用来计算合并的工作负载的退化的性能干扰模型验证。图13示出了由WPPI系统用来计算合并的工作负载的退化的另一性能干扰模型验证。图14示出了WPPI系统可以生成以优化提供方收益的分析。图15示出了在提议的工作负载合并之前和之后的工作负载映射。图16示出了云消费者提交的应用的软截止期限。图17示出了由WPPI系统确定用于多个云消费者提交的应用的合并置换。图18示出了指示合并策略是否满足工作负载的QoS保证的视觉指示符。图19示出了提交给WPPI系统以确定合并策略的附加应用。图20示出了合并策略,其中至少一个云消费者提交的工作负载未能满足工作负载的QoS保证。图21示出了合并和工作负载迁移策略,其满足云消费者提交的工作负载的QoS保证,并最大化云提供方的收益。图22示出了第2种情况的合并策略,其满足云消费者提交的工作负载的QoS保证,并最大化云提供方的收益。具体实施方式这里描述的原则可以按照多种不同形式进行具体化。然而,并不要求全部描述的组件,并且某些实现方式可以包括附加的、不同的、或者更少的组件。可以对布置和组件类型进行变化,而不脱离如这里阐明的权利要求的精神或范围。此外,可以提供不同的或者更少的组件。图1示出了工作负载分析器和性能干扰(WPPI)配置100,其包括WPPI系统102。WPPI系统102包括耦合到存储器106的处理器104,其使用通信接口108经由网络110(例如,因特网)与WPPI配置100中的各种组件进行通信。工作负载WPPI系统102使用识别的工作负载112、资源估计分析器114和影响矩阵116的测试套件以表征工作负载(118、120),以及用于标识最佳的和次佳的工作负载分配124的从属关系规则122以实现消费者服务质量(QoS)保证126和/或提供方收益目标128。WPPI系统102使用性能干扰模型130来预测对可用于实现云提供方134和/或云消费者136目标(126、128)的各种合并方案(例如,合并策略132)的工作负载(118、120)的性能影响,并使用识别的工作负载112、资源估计分析器114和影响矩阵116的测试套件、从属关系规则122,以及性能干扰模型130来执行离线建模以确定初始分配124选择和合并策略132以用来部署工作负载(118、120)。WPPI系统102使用在线合并算法138,离线建模工具(114、116、122、130)和在线监测来确定响应于实时条件的虚拟机到物理主机分配140以满足云提供方134和/或云消费者136目标(126、128)。WPPI系统102可以调整从属关系规则122以平衡云消费者136的目标126和服务提供方134的目标128。最大化提供方的收益可以被计算为被收集用于运行工作负载(118、120)和满足QoS保证126的费用小于用于提供用于满足QoS保证126的硬件基础结构资源(144、146、148、150、160)的成本142。云消费者136可以支付额外费用来影响一个或多个从属关系规则122的实施。备选的,并非支付一定量的金钱作为额外费用,云消费者136可以评价云消费者的工作负载(118、120)以标识用于云消费者136的工作负载的优先级排序152。从历史上说,在使用多个应用的运行时期间监测,当观察到两个应用展现出资源竞争问题时,则设置规则指示应用应该从使用相同的资源分离出来。通常,这种观测的展现出资源竞争和规则设置是人工(human-in-the-loop)进行的。相反,WPPI系统102使用性能干扰模型130来自动确定可以使用相同或者不同硬件基础结构资源(144、146、148、150、160)而被最佳执行的工作负载类型(118、120、112、154)。干扰模型130向使用硬件基础结构资源(144、146、148、150、160)来一起分析以用于执行的多个工作负载(118、120、112、154)提供估计的扩大因子156(例如,乘法器,其指示性能退化,该性能退化可以根据性能干扰164的百分比来表示,该百分比通过一起执行多个工作负载而产生)。WPPI系统102应用扩大因子到资源使用简档,WPPI系统102将该简档翻译为保持QoS保证所需的所需的要求的资源,包括用于处理的时间或者准确度(例如,使用从训练退回的资源时间关系)。除了时间作为QoS度量,QoS度量还可以包括其他度量,诸如工作准确度(例如,在MonteCarlo仿真中,当没提供了不充足的资源时,在固定时间量之后,与分配了所需要的扩大资源的情况相比,仿真的准确度会更低)。时间作为QoS度量,还可以应用到完成交易、处理请求或者完成批任务所要求的时间。扩大比较单独运行在机器上的工作负载的QoS与当该工作负载在共享的并置环境中操作时保持相同QoS所需的要求的资源。与测量CpU或者多个工作负载所要求的存储器的最后级缓存的历史性能干扰模型相比,当前的性能干扰模型130跨用于多个工作负载(112、118、120)的多类型的资源(例如,CpU、缓存、网络带宽、储存器)(144、146、148、150、160)提供定量分析,以及用于满足工作负载的多个置换的QoS保证126的那些硬件基础结构资源(144、146、148、150、160)的时间变量特征。工作负载资源利用配置文件可以被表示为时间序列资源简档向量158,从而使得例如被标识为CPU密集型的两个工作负载(118、120)可以被组合以使用CPU,因为相应的两个工作负载(118、120)的时间序列CPU利用在不同时间要求CPU。例如,当同地共置第一工作负载118和第二工作负载120以使用相同集合的物理资源(144、146、148、150、160)执行时,扩大156指示工作负载(118、120)可能如何相互干扰。WPPI系统102捕获这种干扰,作为在用于独自执行单个工作负载所需的那些资源之上的执行两个工作负载所需的附加物理资源量。例如,当工作负载‘A’独自需要10%的资源,并且B独自需要10%,但是当组合时,‘A’需要15%并且‘B'需要12%。在这个示例中,由于与‘B’并置,‘A’的扩大因子是1.5,并且由于‘A’,‘B’的扩大因子是1.2。当并置时,工作负载‘A'和‘B'一起消耗了27%的物理资源。应用相同的逻辑,通过在用于独自执行单个工作负载所需的那些资源之上的执行全部工作负载(例如,主体工作负载和来自群组的其他工作负载)所需的附加物理资源量捕获一组其他的工作负载的干扰。当物理资源不能容纳用于工作负载的附加的扩大因子时,那么干扰的结果是退化的QoS,这可能包括性能退化、准确度缺失、或者用于工作、交易或工作负载的时间的附加延迟。WPPI系统102可能不直接将合并方案与QoS度量相关。WPPI系统102将合并方案映射到用于使用预测模型来预测QoS度量的应用资源使用简档(通过扩大因子)。例如,当第一应用(例如,工作负载118)是CPU密集型并且第二应用(例如,工作负载120)是存储器密集型时,同地共置第一应用和第二应以使用相同的服务器(例如,资源146)将导致所需物理资源总量的增加(例如,扩大值156),用作在用于执行第一应用的工作负载所需的资源中的采取百分比增加形式的乘数。扩大因子是资源使用简档中度量的乘数,并且WPPI系统102使用扩大因子调整资源使用简档,WPPI系统102继而使用新的简档来预测应用性能。例如,当单独操作时第一应用所需资源R0在将第二应用分配给相同服务器时被影响增加15%扩大(156)到所需资源量R1,其被计算为R0乘以扩大(156)1.15,或者R0×1.15=R1,其为当第一应用和第二应用被同地并置以使用相同基本物理资源时第一应用的所需资源。由第一应用使用的资源(R0)将被扩大为R1=1.15×R0,这里1.15是扩大因子,扩大因子、R0和R1是标量。通常,扩大因子可以是与资源度量相同维度的向量,所以每个资源度量存在一个扩大值。例如,考虑到扩大因子向量(例如,1.15和1.05),其中第一资源度量被扩大15%并且第二资源度量被扩大5%。资源向量可以是时间或者时间序列的函数(例如,RO(t))。WPPI系统可以训练函数以将资源使用映射到执行时间。当WPPI系统更新资源使用简档时,WPPI系统将资源使用简档插入到资源-时间关系中以用于估计新应用执行时间。从属关系规则122使用扩大156,工作负载类型(118、120、112、154),以及对资源(144、146、148、152、160)的工作负载类型的映射的置换(例如,合并策略132)以便确定最佳映射以满足工作负载的QoS保证126,并提高提供方134的收益目标128。对于每个工作负载类型(118、120、112、154)向资源简档向量158应用扩大156乘数标识工作负载的组合的最佳映射以及满足工作负载的QoS保证126的资源映射(例如,合并策略132)。给定由工作负载(118、120、112、154)展现出的工作负载的类型,WPPI系统102使用从属关系规则122提供最佳映射以确定满足工作负载的QoS保证的工作负载的组合和资源映射。WPPI系统102使用离线分析来配置工作负载的初始部署(140)并监测工作负载随时间的变化(例如,工作负载简档可以随时间改变工作负载类型)。资源估计分析器114使用时间序列方式以预测工作负载简档。例如,工作负载(118、120、112、154)可能具有季节性简档(例如,用于web服务器应用的假日零售购物对比夏季交易)。对比WPPI系统102,当前的虚拟化环境(例如,web服务器农场)监测系统(例如,系统)实时监测工作负载性能,而无如提议的由工作负载简档提供的离线分析的益处。这些当前的虚拟化环境监测系统基于需求实时反应并进行调整(例如,以保守方式再平衡工作负载)。然而,在当前的虚拟化环境监测系统再平衡工作负载之后,提供方仍可以观察随时间过去(例如,时间序列系数)的工作负载的资源使用(例如,虚拟机VM)变化,而无自动预期此类变化和/或提前有效地前摄地进行调整。因此,当前的虚拟化环境监测系统不提供与由WPPI系统102提供的资源供应相同水平的资源供应。WPPI系统102实时调整资源估计(例如,当应用被在线执行时工作负载简档改变)。工作负载可以包括web服务器应用、数据库服务器、应用服务器和批处理任务。在在线模式中,WPPI系统102开始对提交的工作负载(118、120)的部署,并且WPPI系统102应用模型(例如,资源估计分析器模型114、性能干扰模型130、影响矩阵116、以及从属关系规则122)以开始执行工作负载(118、120),继而使用由工作负载(118、120)的实时表征调整的历史资源估计简档166实时调整工作负载(118、120)。在在线模式期间,使用实时数据再校准工作负载简档(例如,资源使用简档估计166),并且工作负载签名可以因此被修正和/或更新。用于工作负载的资源估计简档166,以及由工作负载(118、120)使用的资源(例如,硬件基础设施资源-服务器故障切换到另一个服务器)可以在在线模式期间改变。因此,在在线模式期间,从属关系规则122实时映射(例如虚拟机到物理主机分配140)资源(144、146、148、150、160)到一组计算需求(例如,对CPU、RAM和缓存存储器和磁盘储存器的数量以及网络带宽的工作负载需求)。资源(144、146、148、150、160)可以改变用于计算需求所映射到的可用资源数量(容量)和类型(特性)。然而,因为WPPI系统102在离线模式期间对工作负载(例如,计算需求)所映射到的的资源变化进行再计算,WPPI系统102立即并且有效地适配从属关系规则将计算需求映射到的资源的数量(容量)和类型(特性)的变化。云消费者136可以影响由WPPI系统102执行的优化功能以标识用于使用的从属关系规则映射,这根据目标是否容纳尽可能多的工作负载,或者基于用于标识优选的工作负载的排序优先级(排序152)的应用于由云消费者136提交的工作负载的某些加权,以便基于由云提供方资源执行的工作负载标识最大化云提供方收益的资源映射。WPPI系统102提供性能干扰模型,其可以由云提供方用来优化收益以及改善资源利用。云消费者的工作负载(118、120)(例如,应用)可以包括多个从属业务,每个从属业务可以被映射到独立的VM(140)中。WPPI系统102可以评估云消费者的工作负载(例如,应用)的一个或多个服务质量(QoS)度量126(例如,响应时间)。如果应用在工作负载的截止期限(126)之前完成,则云消费者136和/或WPPI系统102向提供方134分配值。从历史上说,资源管理系统考虑到由于资源竞争产生的性能退化,其中资源竞争是由合并多个应用到单个处理器上而产生的。然而,WPPI系统102提供一种方法来标识由同地共置以共享资源(例如,I/O资源、存储器和/或最后级缓存)的使用的多个工作负载(例如,两个I/O密集型应用)所经历的性能干扰164。用于工作负载的资源使用(166)是随时间变化的,因为工作负载随时间是动态的。当工作负载竞争相同类型的资源时,多个同地共置的应用(例如,工作负载118、120)的性能是否被严重影响取决于工作负载的资源使用简档(158、166)(例如,工作负载简档158、166)的特性。例如,WPPI系统102可以使用资源使用估计简档166来确定是否合并工作负载(118、120),因为工作负载的各自的峰值资源利用(126)在不同时间达到峰值。云提供方134接受云消费者提交的工作负载(118、120)以用于使用云提供方134的资源(144、146、148、150、160)执行。云提供方134可以试图容纳尽可能多的工作负载,并同时满足用于每个云消费者136的QoS保证126。云消费者的QoS要求126可以包括用于完成特定工作或任务的截止期限,CPU数量、存储器数量、在特定时间量中使用的实际资源。WPPI系统102向云提供方134提供一种方式来递送更高的用于消费者工作负载的QoS126的保证,同时增强用于满足用于消费者136工作负载(118、120)的QoS保证126的资源分配(140)的效率。工作负载分析器114自动表征消费者提交的工作负载(118、120),并且优化用于满足用于消费者136工作负载(118、120)的QoS126的保证所需要的工作负载到资源分配(138、140)。WPPI系统102使用工作负载资源估计分析器114,从属关系规则122、影响矩阵116和性能干扰模型130,并可以提供工作负载(118、120)的自动供应。WPPI系统102在线执行对合并配置(124、132、140)的实时调整以便实现更好的资源利用,并由此允许云提供方136优化资源利用(例如,避免由于低效资源利用造成的资源成本142并执行工作负载来提高提供方的收益)。云提供方134可以不知晓预期的工作负载(例如,需求),或者云消费者的工作负载的工作负载资源使用简档166,直到云消费者136提交工作负载(118、120)以用于由云提供方的资源执行。WPPI系统102向云消费者136提供一种方式来估计(例如,建模)用于所提交的工作负载的工作负载资源使用简档166并将提交的工作负载映射(124、132、140)到实际物理资源(144、146、148、150、160)。WPPI系统102应用从属关系规则122以确定资源到工作负载映射(140、122、132)以标识满足一个或多个功能(126、128)的最佳的和次佳的映射。例如,WPPI系统102使用模型(114、130、116)和从属关系规则122来优化满足的工作负载的QoS保证126的数量,或者当成本与每个工作负载相关联时,则优化可以通过处理工作负载生成收益(例如,128)。优化工作负载的数量可以包括相等地加权工作负载的优先级值,或者基于可以通过执行每个工作负载生成的收益加权工作负载的优先级值(152),或者这两者。WPPI系统102使用离线模式和在线模式在对分配的(140)提供方资源(144、146、148、150、160)进行部署之前确定用于云消费者的工作负载的优化资源映射,并在运行时期间作为响应调整资源分配(124、132、140)、合并以及迁移决定。WPPI系统102执行分析以训练一个或多个模型(例如,工作负载资源估计分析器114模型、性能干扰模型130、影响矩阵116、以及从属关系规则122)以针对每个云消费者提交的工作负载(118、120)确定最佳和次佳的资源映射(124、132、140)以用来满足QoS保证126和/或提供方收益目标(128)。代替基于服务器为中心的供应,工作负载资源估计分析器114模型标识资源(例如,展现出某种特性、容量和/或能力的服务器)以满足服务为中心的QoS度量126。WPPI系统102使用一个或多个模型来预测云消费者的工作负载的性质和特性的变化,用户的需求,和云资源可用性。工作负载资源估计分析器114模型提供一种能力,其根据基于监测的数据的资源使用来估计消费者提交的工作负载(118、120)。工作负载资源估计分析器114模型将由云消费者136提交的工作负载(118、120)在时间上(例如CPU、存储器、磁盘和网络的利用)表征为工作负载利用资源(例如资源使用度量168)。云提供方134可能预先不知道工作负载...