选择资源分配策略和解决资源冲突的制作方法

文档序号:10654301阅读:392来源:国知局
选择资源分配策略和解决资源冲突的制作方法
【专利摘要】提供了用于云计算基础架构中的工作负载管理的技术。在一个方面,提供了一种在数据中心集群中分配计算资源的方法。所述方法包括以下步骤:基于工作负载概要、用户要求和所述数据中心集群的状态中的一个或多个为每个调度器自动选择资源分配方法,其中为至少第一一个或多个调度器选择乐观资源分配方法,且为至少第二一个或多个调度器选择悲观资源分配方法。由于乐观资源分配,因此冲突可能出现。还提供了解决这样的冲突的方法。
【专利说明】
选择资源分配策略和解决资源冲突
技术领域
[0001] 本发明设及云计算基础架构,更特别地,设及用于使用并行调度器的在云计算基 础架构中的工作负载管理的技术,W及用于冲突解决的自动资源分配和策略选择器。
【背景技术】
[0002] 云计算基础架构已经促使了在相同服务器中的混合工作负载的执行,从而促进更 好的资源利用和效率。然而,在相同集群中适应异构工作负载、例如何时安排、放置在哪里、 W及如何分配它们的资源仍然是挑战。此外,一些工作负载增加了对它们的资源使用的需 求,使该问题甚至更难W解决。
[0003] 集群管理的目前的解决方案可W被分为=个主要的调度器体系架构:(1)单片 (monolithic)、(2)两级和(3)共享状态。单片调度器对所有工作只使用单一的集中调度算 法,诸如高性能计算化PC)调度器。两级调度器由单个活跃资源管理器组成,该单个活跃资 源管理器将资源提供给接受或拒绝资源的多个并行、独立的调度器框架。参见,例如, Hindman等,"Mesos:A Platform for Fine-Grained Resource Sharing in the Data Center",网络化系统设计与实现方式(NSDI' 11)第8届USENIX会议论文集,第295-308页 (2011年3/4月)。共享状态体系架构由并发访问作为交易的集群资源的多个并行的调度器 组成。参见,例如,M.Schwarzkopf等,"Omega:flex;Lble,scalable schedulers for large compute clusters",计算机系统化uroSys ' 13)第8届ACM欧洲会议论文集,第351-364页 (2013年4月KW下简称"Schwarzkopf")。在运些调度器体系架构之间有显著的权衡。例如, 单片调度器具有集群的全面控制并且可能计划最佳全局布局,但难W通过添加新的策略和 专口的实现方式来多样化,并不会随集群大小而缩放。通过提供调度器并行,两级调度器比 单片调度器更灵活,但它们减少了资源能见度,并基于更加难W执行的集群资源的整体视 图做出决定(诸如为工作负载计划局部布局,或基于性能、能效和安全性执行工作负载迁 移)。而且,当资源被预先分配用于调度器时,未使用的资源被浪费。共享状态具有群集资源 的全局视图W做出所有的整体决定并且是可扩展的。然而,共享状态调度器对资源竞赛是 非常敏感的,也不可能对一些工作负载保证资源分配。
[0004] 目前,已知没有技术能结合先前的体系架构的所有优点并减轻上述缺点。在目前 的方式中,调度器具有所有预分配的资源,诸如在单片和两级方式中,或者它们诸如在共享 状态的方式中仅竞争资源。
[0005] 此外,复杂的调度器引起诸如可扩展性、可维护性和灵活的适应性等问题。为了解 决运个问题,共享状态的方式(参见,例如,Schwarzkopf)将复杂的调度器分成许多较小的 调度器,而不是只具有带有所有工作负载的逻辑的一个单片调度器。一方面,运个共享状态 的方式通过为所有工作负载部署提供集群的全局视图可能有益于执行最佳全局部署。也可 能通过并行响应工作负载来增加可扩展性并且可能减少响应时间(由于减少的复杂性)。另 一方面,如果多个调度器试图同时要求相同的资源,将只有一个是成功的,其他将必须再次 重启调度过程。因此,如果冲突发生太频繁,则调度时间和响应时间将增加。
[0006] 某些技术将工作负载分类,检测冲突,或者选择一般策略。分别参见,例如, J.Bobba等,('Performance Pathologies in Hardware Transactional Memory",计算机体 系架构第34届国际研讨会论文集(ISCA'07),第81-91页(2007年6月);M.F. Spear等, ('Conflict Detection and Validation Strategies for Software Transactional Memo巧",分布式计算第20届国际会议论文集(DISC'06),第179-193页(2006年);W及 C. De Iimitrou 等,('Paragon = QoS-Aware Scheduling for Heterogeneous Datacenters", 编程语言和操作系统的体系架构支持(ASPLOS)第18届国际会议论文集(2013年3月)。然而, 目前不存在基于基础架构状态共同考虑到所有的运些因素 W改进和自动化工作负载冲突 解决的解决方案。而且,目前的解决方案不考虑从共享状态集群中的工作负载冲突(诸如, 应用程序干扰、服务器超载等)产生的特定能力。
[0007] 此外,用于冲突检测和策略选择的大多数目前的解决方案使用需要用于预测的大 数据集的线性编程,或依赖于用于测试阶段的庞大数量的数据的机器学习,运两者都不是 实际用于现实世界的应用。另外,大多数目前的冲突检测和策略选择技术具有缺失项而表 现不好。在运方面,一些方式存在用于分类和对数似然函数的矩阵分解的结合算法,W填充 缺失项的预测。然而,运些方式不选择基于用于中央处理单元(CPU)、存储器、网络、磁盘的 资源使用密集型的工作负载分类的冲突解决策略;工作负载执行时间;W及可能的不确定 性和确定性冲突的检测。
[0008] 因此,期望用于数据中屯、集群工作负载管理的改进的技术,包括用于冲突检测和 策略选择的改进的技术。

【发明内容】

[0009] 本发明提供了用于在云计算基础架构中的工作负载管理的技术。在发明的一个方 面,提供了一种在数据中屯、集群中分配计算资源的方法。所述方法包括W下步骤:基于工作 负载概要、用户要求和所述数据中屯、集群的状态中的一个或多个为每个调度器自动选择资 源分配方法,其中为至少第一一个或多个调度器选择乐观资源分配方法,且为至少第二一 个或多个调度器选择悲观资源分配方法。
[0010] 在发明的另一个方面,提供了另一种在数据中屯、集群中分配计算资源的方法。所 述方法包括W下步骤:创建多个并行的调度器;基于工作负载概要、用户要求和所述数据中 屯、集群的状态中的一个或多个为每个调度器自动选择资源分配方法,其中为至少第一一个 或多个调度器选择乐观资源分配方法,且为至少第二一个或多个调度器选择悲观资源分配 方法;接收新的工作负载;将所述新的工作负载分类;基于所述新的工作负载的分类,确定 i)是否将所述新的工作负载分配到现有的一个调度器或者ii)是否创建一个或多个新的调 度器并且将所述新的工作负载分配到所述一个或多个新的调度器;识别调度器决定中的冲 突;W及选择用于冲突的解决策略。
[0011] 本发明的更加完整的理解W及本发明的进一步的特征和优点将通过参照下面的 详细描述和附图来获得。
【附图说明】
[0012] 图1是示出了根据本发明的实施例的使用自动资源分配选择器在数据中屯、集群中 分配计算资源的示例性方法的示意图;
[0013] 图2是示出了根据本发明的实施例的自动资源分配选择器的示例性实现方式的 图;
[0014] 图3是示出了根据本发明的实施例的用于调度器的可能的资源分配类型的图;
[0015] 图4A是示出了根据本发明的实施例的对于给定的工作负载类型如何通过降低调 度器的数目来增加服务质量(QoS)的图;
[0016] 图4B是示出了根据本发明的实施例的对于给定的工作负载类型如何通过增加调 度器的数目来增加数据中屯、效率的图;
[0017] 图5是示出了根据本发明的实施例的用于乐观并行工作负载部署的自动选择冲突 解决策略的示例性方法的图;W及
[0018] 图6是示出了根据本发明的实施例用于执行本文所提出的一个或多个方法的示例 性装置的图。
【具体实施方式】
[0019] 本文提供的是用于基于工作负载概要、用户要求和数据中屯、的状态的并行调度器 的自动选择乐观或悲观资源分配方法的技术(即,本技术可W用于管理多个数据中屯、的状 态)。更具体地,本技术保证悲观充分资源预分配、半悲观局部资源预分配或乐观非资源预 分配,其中预分配意味着封锁资源(即,保持资源W便能够将资源分配给工作负载)。可W在 提交时,竞争未在分配阶段预先分配(即,由于乐观资源分配)的资源,因为具有可能在彼此 之间竞争相同的资源的并行调度器。资源竞争一一一旦被识别一一可能基于用于解决可能 出现的冲突的本文提供的策略和技术来解决。可选地,用户可W基于数据中屯、的表现或状 态从乐观切换到半悲观或悲观资源分配。此外,本技术通过不具有所有的调度器预分配来 改进资源利用率(并从而避免封锁空闲资源)。本技术可W延伸到多个/混合的云资源计算 分配。
[0020] 基于并行调度器的实现方式,本技术可W利用单片、两级和共享状态调度器体系 架构的好处而不遭受上述的缺点。更具体地,本发明依赖于可能具有在悲观方式中预分配 所有资源的调度器的混合方法;在半悲观方式中预分配资源的一部分的调度器;和/或在乐 观方式中在彼此之间共享资源的调度器。预分配意味着资源的预留。根据工作负载的概要、 用户的要求和/或数据中屯、的状态,调度器资源分配类型可W互换。选择一个或另一个调度 器资源分配类型的决定可能依赖于将提供多少资源分配保证和调度器可扩展性(基于,例 如,调度器能够考虑不同要求并满足那些要求的灵活性)。基于工作负载的概要的决定将确 保为某类工作负载的资源分配。根据服务等级协议(SLA),基于用户的要求的决定将确保资 源分配。基于数据中屯、状态的决定将在资源短缺期间减轻调度器竞争问题。此外,本技术通 过不允许所有的调度器预分配资源(将从而减少空闲资源的封锁)来改进资源利用率。
[0021] 仅通过示例的方式,本教导的一些显著的优点包括:1)通过资源的悲观完全预分 配、资源的半悲观部分预分配、或资源的乐观非预分配来自动创建调度器实例;2)基于工作 负载概要、用户要求和数据中屯、/集群状态,适应地选择资源分配类型;3)基于i)用户的决 定(手动地或自动地-即,如用户请求中说明的)和/或ii)数据中屯、状态的变化,从乐观到半 悲观或悲观资源分配动态地切换;W及4)用相同的逻辑扩展到多个云/混合。
[0022] 因此,根据本技术,通过使用多个并行调度器可W获得数据中屯、可扩展性。对于给 定组的调度器,保证的资源分配是可能的。为调度器手动或自动选择悲观、半悲观或乐观资 源分配是可能的。此外,由于调度器保持空闲资源,因此资源浪费最小化。相比之下,用于集 群资源分配的常规的解决方案仅为调度器预分配所有资源或不为调度器分配任何资源。而 且,没有预分配资源的调度器不能保证资源分配。最后,没有办法为调度器从悲观资源分配 切换到半悲观或乐观资源分配。
[0023] 现在提供本技术的详细描述。如上所强调的,本资源分配技术依赖于由在悲观、半 悲观和乐观资源分配方式中的(多个并行)调度器组成的混合方法。悲观方式预分配所有资 源W便于保证部署。半悲观方式仅预分配部分资源从而确保仅有一部分的资源的可用性。 乐观方式没有预分配资源并且仅在交易提交时分配资源。可能通过分析工作负载分类、用 户SLA和/或数据中屯、状态来决定何时在运些方式之间选择。仅通过示例的方式,一方面一 些工作负载或用户可能具有优先权,并且对于那些工作负载/用户,调度器将优选地总是预 分配资源。通过优先权意味着,例如一些(高优先权)工作负载对延迟可能具有较少的容忍, 并因此可能被要求在与高优先权工作负载同时到达或比高优先权工作负载更快到达的其 他更低优先权工作负载之前放置。另一方面,资源预分配过程可能引入延时,且乐观并行方 式可能具有更快的分配,导致一些冲突。根据用户和工作负载目标W及基于资源充裕或短 缺的数据中屯、状态,预分配、部分预分配和后分配可W互换。如上所强调的,预分配包含在 完成布局之前预留资源,因此保证将那些资源递给请求。在后分配中,调度器采用的资源不 能保证一一意味着当调度器在做决定时它们可能被其他请求占用。
[0024] 图1的方法100为包含一个数据中屯、云的示例性实施例提供本技术的高级概述。在 步骤102中提供用户输入。根据示例性实施例,在步骤102中,用户可W提供关于用户要求 (诸如服务质量(QoS))、工作负载概要(例如,工作负载类型、什么工作负载应该得到优先权 等)的输入。根据本技术,可W采用用于评估工作负载性能的本领域已知的任何合适的QoS 指标(metrics)(即,由用户看到的)。
[0025] 将用户输入数据提供给自动资源分配选择器。如上所提供的,本资源分配技术还 考虑数据中屯、的状态。因此,在步骤104中,还将数据中屯、效率监测数据提供给自动资源分 配选择器。数据中屯、效率监测收集关于数据中屯、的状态的数据,诸如CPU利用率、存储器利 用率等等。可W经由数据中屯、效率监控器来完成该监测。数据中屯、效率监控器可W将运些 指标传到调度决定发生之处的资源分配类型选择器。参见例如如下描述的图2中的数据中 屯、效率监控器218和资源分配类型选择器206。评估该数据的一个方式为资源管理者分配关 于利用率级别的情况W采取行动。例如,如果CPU利用率低于X%,则调度器可能执行更多的 乐观调度,W便于W更快的方式将更多的请求分配给资源。
[0026] 在步骤106中,资源分配类型选择器自动决定调度器的数目和它们的设置。具体 地,根据示例性实施例,资源分配类型选择器(基于从步骤102和步骤104收集的数据)为(多 个并行)调度器的每个自动选择(乐观、悲观或半悲观)资源分配方法。
[0027] 图2是根据示例性实施例示出了自动资源分配选择器如何操作的逻辑流程图。如 图2所示,工作负载分类器204将新的工作负载202分类。如上所述,本资源分配过程考虑用 户输入201( W及数据中屯、的状态一一例如,由数据中屯、效率监测来确定的)。基于来自工作 负载分类器204的工作负载分类,资源分配类型选择器206确定调度器的数目和它们的设 置。运包含决定是否需要添加新的调度器和/或需要移除现有的调度器、W及使用哪个资源 分配模型。为了运个目的,可能实现的示例性功能模型和基于规则的机制如下所述。为了解 决运个问题的另一种方式可W通过使用机器学习算法,用于选择资源分配类型。
[00%]因此,之后,资源经由悲观资源分配器208、半悲观资源分配器210和乐观资源分配 器212被分配到调度器。具有预分配资源的调度器(即具有悲观资源分配类型的调度器)将 没有冲突,并因此没有问题W提交决定。另一方面,没有预分配资源或预分配资源的至少部 分的调度器(即分别具有乐观或半悲观资源分配类型的调度器)将捕获目前可用的资源的 快照并基于快照来计划决定。做出决定后,调度器将(即,经由资源分配尝试器214)试图提 交遭受在其他并发调度器之间竞争情况的决定。如图2所示,运可能导致冲突。如果(即,经 由冲突识别器216)识别冲突,该冲突和其特性被存储在数据中屯、状态中,W便于(即,经由 数据中屯、效率监测器218)监测数据中屯、的效率。如上所提供的,数据中屯、效率监测器收集 关于数据中屯、的状态的数据,诸如CPU利用率、存储器利用率等等一一该数据传递到调度决 定发生之处的资源分配类型选择器。
[0029] 图3是示出了用于调度器(Sl、Si...Sn)的可能的资源分配类型的图。在图3,做出 W下假设:
[0030] -R是所有数据中屯、资源的集合;
[0031] -Al是调度器i的预分配资源,其中i表示0到n个调度器;
[0032] -Bi是调度器i的后分配资源,其中i表示0到n个调度器;
[0033] -HViAi = O;
[0034]
[0035] W及
[0036]
[0037] 如果数据中屯、集群具有单片调度器,则i = l且Ai = Bi = R。如果数据中屯、集群具有 多个调度器,所有的调度器具有所有的预分配资源(悲观),则UViiAi = R且Bi = Ai。如果调 度器仅具有预分配资源的部分(半悲观),则Ai<Bi。最后,如果调度器不具有预分配资源(乐 观),则Ai = 0。当创建调度器时,根据工作负载的概要、用户要求和数据中屯、集群状态来定 义Al和Bi。然而,Al和Bi的大小还可W基于来自数据中屯、集群的用户决定或反馈(例如,关于 数据中屯、效率)来改变。如果Al改变,调度器将具有或多或少的预分配资源,如果Bi改变,调 度器将或多或少竞争资源。
[0038] 如上所强调的,用户的要求可能设及基于用于本领域中已知的工作负载性能的任 何标准QoS指标的指标。仅通过示例的方式,参见由Zhu等、题为"Performance Interference Model for Msnsging Consolid曰ted Worklosds in Qos-Aw曰re Clouds"的 美国专利申请公开号2015/0012634(其描述了合适的基于时间的QoS指标)。用户的要求可 能还设及基于取消调度器的决定的数目的指标、调度器的实际吞吐量(即,吞吐量一一诸如 每单位时间递送到目的地的信息比特数的数目)、部署工作负载的时间、调度器的数目等。 工作负载概要将描述运些指标加上基于:优先权、要求的保证的资源的数量、灵活的资源分 配的数量(部分工作负载可能去往另一个)等的更具体的指标。数据中屯、状态指标设及:取 消的调度器的决定的数目、可用的资源、资源使用与资源预分配的数目等。调度器的数目是 控制实际吞吐量的一种方式一一调度器越多、一次(吞吐量)处理的请求越多,尽管冲突可 能引起一些请求失败从而实际吞吐量可能下降。一些用户可能指示他们想要云供应商使用 的调度器的数目,W便于增加吞吐量。
[0039] 所有的运些指标用于(例如,通过资源分配类型选择器206-一参见图2)决定由悲 观、半悲观或乐观资源分配组成的调度器。此外,指标用于通过建立新的并行调度器来定义 可扩展性级别。那些决定基于在调度器可扩展性、调度器性能、调度器保证的资源分配和集 群资源使用之间的权衡。更具体地,可扩展性设及具有更多的并行调度器。调度器性能依赖 于调度器响应时间、取消的决定和资源的全局视图W更好地计划部署。调度器保证的资源 分配直接设及数据中屯、资源使用。即,调度器通过在预分配池中使用很少的资源可能浪费 资源,运阻碍了最佳集群利用率。因为一些调度器浪费资源,集群可能无法扩展到需求。共 享资源可能解决运个问题,但是包括上述的资源竞争问题。因此,通过运些权衡,将定义调 度器资源分配类型。仅通过示例的方式,给定了运些权衡,可W使用功能模型确定乐观的解 决方案。使用功能模型确定的示例性乐观的解决方案给出如下。
[0040] 如上所述,功能模型和/或基于规则的机制可能用于决定是否需要添加新的调度 器和/或需要移除现有的调度器、W及使用哪个资源分配模型。现在描述示例性功能模型和 基于规则的机制。
[0041] 功能模型:本质上,用户通过查看系统状态将带来一组要求W及工作负载特性。本 技术将决定n、B和A的大小。
[0042] 用户参数(QoS、工作负载等)-〉要求
[0043] QoS(期望的拒绝率、冲突率等)
[0044] 工作负载(#的虚拟机(vms)、约束、需求等)
[0045] 数据中屯、参数(数据中屯、位置(ID )、空闲的机器速度、冲突的数量)
[0046] 资源分配参数(A、B、n)
[0047] F(用户、数据中屯、、资源分配参数)=主要目标
[004引主要目标=权重1*用户目标(Obj)+权重巧数据中屯、目标(Obj)
[0049] 用户obj(目标)=归一化(定义的SLA、QoS等)
[0050] 数据中屯、Obj =归一化(高的机器利用率等)
[0051] 对于给定的主要目标值,用户参数、数据中屯、参数和期望的资源分配参数可W从F 函数中导出。
[0052] 示例:用户可能指定QoS具有少于10%的冲突,并且具有大量交易的存储强大的工 作负载。数据中屯、可W处于在共享状态A = B中有3个并行调度器的状态中,因此我们具有八_ i = B_i,其中i = 1、2、3。例如说,当新的请求到来时,数据中屯、具有40 %的空闲机器(vms)。 [0化3] F(0.1、存储、高交易化igh hansaction)、0.4、(A_i = B_i,n = 3))=期望的目标 值
[0化4] 用户目标=1-冲突= 1-0.1=0.9 [00对数据中屯、目标=无 [0化6] 期望的目标= 0.9,因此
[0057]尸(〇.1、存储、高交易、〇.4、(4_1=8_1,11 = ?))=0.9 [0化引此时对于(A_i=B_i,n = ?)解出F并找到A_i、B_i和n的值。
[0059]因此,根据本技术,可W容易地确定A_i、B_i和n的值一一并且用A、B和n的子集定 义乐观、悲观和半悲观。基于规则的模型:运是更简单的模型,其中根据用户QoS、工作负载 类型和数据中屯、状态定义规则。例如,如果用户在冲突率方面正经受低的QoS,可W降低调 度器的数目并设置A=B。如果数据中屯、正经受低的效率,则可W增加调度器的数目并设置A <B。图4A和4B描绘出每个工作负载类型的运些行为。
[0060] 如上提供的,本主动资源分配选择器(即,经由工作负载分类器204-一参见图2) 将新的工作负载分类,在半悲观或乐观资源分配的情况下(即,经由冲突识别器216)为预分 配资源识别冲突,W及制定冲突解决W解决冲突。现在描述的技术用于自动分类工作负载 瓶颈,识别调度器的决定之间的冲突,并且选择策略W解决那些冲突。
[0061] 工作负载分类、冲突识别和解决策略选择阶段考虑不同类型的冲突、工作负载特 性和基础架构信息。根据本技术,所有的那些阶段配置为建议冲突解决策略,该冲突解决策 略最满足用户的要求并减少调度器的取消的决定一一从而改进实际吞吐量。本技术不仅为 冲突解决策略选择提供过程,而且为从基础架构(诸如,取消的决定的数目、分配响应时间 和工作负载服务质量(QoS))提取指标提供详细的方法,W反馈学习机制。此外,为了冲突解 决,本文建议通过考虑工作负载迁移和资源放弃来行动一一从而提供很多更加可能的策 略。
[0062] 为了执行每个(分类、识别和策略选择)阶段,本技术采用基于存储器的和/或基于 模型的协同过滤算法W处理稀疏(sparse)输入,并建议工作负载分类、碰撞/冲突识别和策 略选择。如将在下面详细描述的,每个阶段采用特定矩阵。例如,通常,分类阶段将包含由作 为行的工作概要和作为列的CPU、网络、存储器或磁盘W及作为密集资源使用等级的元素来 组成的多个效用(utility)矩阵。
[0063] 识别阶段由具有将行为调度器的决定组合W及在先前提到的属性(即,CPU、网络、 存储器或磁盘)和数据中屯、集群状态之间变化的列的多个矩阵组成。用于具有CPU、网络、存 储器或磁盘作为列的矩阵的元素是工作负载性能干扰等级。矩阵的一个由数据中屯、集群状 态组成,并具有元素服务器超载,该元素服务器超载是工作负载资源分配和服务器可用资 源的比例。将数据中屯、集群状态作为行的其他矩阵具有作为缺失资源的元素,运种情况下 如果服务器符合工作负载,则元素为1,否则为0。
[0064] 最后,在策略选择阶段,有将行为冲突的调度器的决定加上延时的决定、列为策略 解决类型W及元素为工作负载取消等级或工作负载性能的两个矩阵。最初,在每个矩阵中 可能仅有几个元素填充。似然算法将用于填充从矩阵分解得到的效用矩阵的所有列中的缺 失元素。初始元素可W由专家提供、或者来自具有由专业用户提供的任何可选的参数的工 作负载概要、或者使用离线仿真和/或随机值。包括使用随机值的选项,因为即使没有专家 或仿真数据,至少要求一个值W执行协同过滤。此外,管理员可W使用效用函数为每个特性 提供值,该每个特性具有在最大和最小等级之间归一化的结果。最后,将提供一些元素,并 使用动态自学习机制从在先前的部署中收集的参数来更新它们。
[0065] 仅通过示例的方式,本教导的一些显著的优点包括:1)冲突处理策略的自动选择 使用从云计算环境中的基础架构输入先前的工作负载分类和动态矩阵W解决分配冲突;2) 基于在工作负载之间的干扰的冲突的自动识别、服务器超载的概率和在云计算环境中的资 源可用性;3)基于CPU、网络、存储器和磁盘使用密集性的工作负载的自动分类;4)通过从先 前的部署观察取消的决定的数目、应用干扰和数据中屯、集群状态的用于工作负载分类的学 习机制、冲突识别和策略选择;W及5)通过考虑作为工作负载迁移和资源放弃的行动的无 限冲突处理策略组合。
[0066] 因此,根据本技术,可W使用稀疏输入执行工作负载冲突解决,该稀疏输入最小化 调度器决定取消、应用干扰和服务器超载。动态工作负载分类的过程、冲突检测和策略选择 可W使用机器学习机制加上从先前的部署收集的知识。可W基于工作负载迁移、决定的否 认和取消和/或资源放弃和等待来推荐用于冲突解决的新的策略。
[0067] 用于冲突解决策略选择的现有的解决方案基于机器学习机制和分类仅集中于分 类,该机器学习机制要求用于测试阶段的大数据集,该分类为了更精确的决定不同时考虑 工作负载约束、表现和数据中屯、状态。此外,现有的冲突解决方案没有考虑学习机制,该学 习机制考虑调度器决定取消的数目、工作负载性能和/或来自先前的部署的数据中屯、集群 状态。而且,在所有的阶段中,本技术将问题分解成用于分类的很多部分,该分类具有并行 执行的协同过滤示例W加速过程并改进调度器的响应时间。最后,现有的解决方案不考虑 冲突解决活动的特定类型,诸如工作负载迁移和资源放弃。
[0068] 现在提供用于工作负载分类、冲突识别和冲突解决策略选择的详细描述。本技术 提出了用于乐观(即,乐观或半悲观一一参见W上)并行工作负载部署的自动选择冲突解决 策略的框架。根据方法500,该过程在图5中示出,并且考虑=个阶段。在第一阶段(1)中,新 的工作负载在步骤502中到达,并且在步骤504中,工作负载基于它们的资源需求来被分类 (例如,CPU、存储器、网络和/或磁盘密集一一参见W下)。步骤504可W例如通过工作负载分 类器204来实现(参见图2)。
[0069] 第二阶段(2) W在步骤506中做出关于工作负载是否应该被转发到现有的调度器 或为工作负载创建的新的调度器的确定为开始。当运样的工作负载类型的需求高时,优选 地创建新的工作负载特定调度器W扩展到需求。在运种情况下,工作负载在步骤508中被分 配到新的调度器。另一方面,如果不需要新的工作负载特定调度器,则工作负载在步骤510 中被分配到现有的调度器(即,当前的调度器)。
[0070] 在调度器作出决定后,在步骤511中,调度器将决定转发到冲突识别器(即,冲突识 别器216-一参见图2),在步骤512-516中,该冲突识别器执行用于工作负载、可能的服务器 超载和缺失资源之间的冲突(干扰)的并行识别。完成资源验证W检查是否有足够的资源W 完成部署(placement)。运也是检测到冲突之处,因为一个部署变得成功,并且由于没有足 够的容量,因而另外一个失败。根据示例性实施例,分别使用工作负载干扰冲突识别器、月良 务器超载冲突识别器和资源缺失冲突识别器来实现步骤512-516,工作负载干扰冲突识别 器、服务器超载冲突识别器和资源缺失冲突识别器可W都是冲突识别器216的组件。当多个 调度器的决定选择相同的主机来放置请求时发生冲突,运种情况下主机仅可W容纳决定中 的一个。如果识别调度器的决定之间的冲突,则第=阶段开始。在第=阶段(3),基于在步骤 512-516中识别的可能的冲突,在步骤518中推荐策略W解决冲突,W便于减轻取消并保持 更高的工作负载性能。根据示例性实施例,使用策略选择器和实施者执行步骤518。
[0071] 在已经解决冲突之后,在步骤520中,工作负载被提交到数据中屯、基础架构。如将 在下面详细描述的,自学习机制用于基于来自该方法的一个或多个先前迭代的数据来更新 工作负载分类和/或策略选择过程。参见图5。
[0072] 所有的阶段包含使用描述调度器的决定的效用矩阵。例如,第一阶段具有将工作 负载作为行的矩阵,并且第二和第=阶段具有将调度器的决定的组合作为行。根据示例性 实施例,=个步骤过程用于填充矩阵元素。在第一步骤中,如W上强调的,从工作负载概要、 专家、离线仿真、效用函数或者认知一些随机值提供对矩阵的初始的元素。
[0073] 在第二步骤中,从矩阵分解推导出的矩阵的缺失元素将使用对数似然算法来填 充。对数似然函数由Si log(fUi))给出,其中f(xi)是在Xi处的概率密度函数且Xi表示第i 个观察。矩阵分解可W使用在很多其他之间的方法单值分解(SVD)、非负矩阵分解(NMF)、贝 叶斯矩阵分解来获得。矩阵分解用于降维,运种情况下共享子结构的项的表示变得彼此更 加相似,并且发散的项可能也变得更加发散。定义发散和相似的过程用于推荐。
[0074] 最后,第=和连续步骤基于先前的部署和来自如取消率和工作性能的数据中屯、集 群状态的措施来更新一些元素。然而,如果先前的项和新的项的差异大于h,其中h〉0,尝试 计数器(attempt counter)n与字段相关联,其中n〉0。然后,在n个尝试后,元素将通过尝试 值(除了异常值(即,异常值一一使用,例如,探索性数据分析化DA)发现的、在使用用于预测 的数据之前被淘汰))来更新。运个第=阶段提供自学习机制。
[0075] 现在进一步详细描述用于填充从矩阵分解推导出的矩阵的缺失元素的第二步骤。
[0076] 在阶段(1)中,工作负载分类特性可W包括:
[0077] i.CPU密集率(intensiveness),表示平均CPU使用和CPU对工作负载性能的影响的 组合;
[0078] ii.存储器密集率,表示在兆字节MB或千兆字节GB的平均存储器使用和存储器对 工作负载性能的影响的组合;
[0079] iii.磁盘密集率,表示在MB、GB或兆兆字节TB的平均磁盘使用和存储器对的影响 的组合;
[0080] iv.网络带宽密集率,表示在MB或GB的平均带宽使用和网络对工作负载性能的影 响的组合;
[0081] V.网络响应时间密集率,表示平均响应时间和响应时间对工作负载性能的影响的 组合;
[0082] Vi .网络抖动密集率,表示平均抖动和抖动对工作负载性能的影响的组合;
[0083] Vii.可W包括更多的参数。
[0084] 工作负载分类能够为新传入的工作负载类型推荐几个先前的工作负载给定的分 类。推荐将表明工作负载的特性。多个矩阵组成运个阶段,该多个矩阵将工作负载概要作为 行,将工作负载特性作为列并且将密集资源使用率作为元素。一些初始的元素依赖于由专 家使用的归一化的效用函数。效用函数可W由在工作负载概要、专家或可W成为本文提出 的那些人来提供。所有的工作负载特性在一些从0到1的间隔内分类,其中0表示与旧的(历 史的)特性有0%的相关性,1表示与旧的(历史的)特性有100%的相关性。
[0085] 示例性实现方式描述了效用函数W评估每个工作负载特性,另一个实现方式一起 评估所有的工作负载特性,如下:
[00化]对于CPU密集性评估:
[0087]
[0088] 其中ExcTimenormai参数是当工作负载所有的可用CPU被分配时的平均(avg)执行时 间;ExcTimemax参数是当工作负载仅有Z %的CHJ被分配时的平均执行时间,其中z<最大的 CPU数目;j参数是CPU使用(usage)的权重,k参数是执行时间的权重。
[0089] 对于存储器密集性评估:
[0090]
[0091] 其中ExcTimenormai参数是当工作负载所有的可用存储器(memo巧)被分配时的平均 (avg)执行时间;ExcTimemax参数是当工作负载仅有Z %的存储器被分配时的平均执行时间, 其中z<可用存储器的最大值;j参数是存储器使用(usage)的权重,k参数是执行时间的权 重。
[0092] 对于磁盘密集性评估:
[0093]
[0094] 其中ExcTimenormal参数是当工作巧载所有的可用磁溫(disk)彼分配时的平均 (avg)执行时间;ExcTimemax参数是当工作负载仅有Z %的可用磁盘被分配时的平均执行时 间,其中Z:<最大的可用磁盘数目(#disks);j参数是数据传输率(data transfer rate)的权 重,k参数是执行时间的权重。
[00M]对于网络带宽密集性评估:
[0096]
[0097] 其中ExcTimenormai参数是当工作负载所有的可用网络带宽(bandwidth)被分配时 的平均(avg)执行时间;ExcTimemax参数是当工作负载仅有Z %的网络带宽被分配时的平均 执行时间,其中^最大的可用带宽;j参数是带宽使用(usage)的权重,k参数是执行时间的 权重。
[0098] 对于网络响应时间密集性评估:
[0099]
[0100]
[0101] 其中ExcTimenormal参数是当网络具有最小的响应时间时的平均工作负载执行时 间,ExcTimemax参数是当网络具有最大的响应时间时的平均工作负载执行时间。本文使用的 属于"响应时间"指的是在请求(request)的结束和响应的开始之间经过的时间,该响应的 开始可W依据网络延时而变化。
[0102] 对于网络抖动密集性评估:
[0103]
[0104] 其中ExcTimenormal参数是具有最小网络抖动的平均执行时间,ExcTimemax参数具有 最大网络抖动的平均执行时间。运个实现方式将抖动理解为响应时间中的变化。
[0105]为了评估所有特性的组合,运个示例性实施例提供W下效用函数:
[0106]
[0107] 其中fi(i = l to n)表示n个工作负载特性等级,Wi参数表示来自由用户提供的工 作负载概要的权重,qi参数表示由专家确定的权重,X参数表示用于由集群管理员确定的专 家权重的权重。函数的结果将是0直到1之间的值,其中0表示工作负载自由资源密集性,1表 示工作负载重资源密集性。运个评估可能是矩阵中的附加的列。
[0108] 在阶段(2)中,调度器的决定冲突识别可能包括W下特性:
[0109] -CPU干扰率,表示在相同的主机中运行的一个或多个工作负载的低性能,因为它 们是CPU敏感的;
[0110] -存储器干扰率,表示在相同的主机中运行的一个或多个工作负载的低性能,因为 它们是存储器敏感的;
[0111] -磁盘干扰率,表示在相同的主机中运行的一个或多个工作负载的低性能,因为它 们是磁盘敏感的;
[0112] -网络干扰率,表示在相同的主机中运行的一个或多个工作负载的低性能,因为它 们是网络敏感的;
[0113] -服务器超载,表示一个或多个工作负载的部署可能超载一些服务器资源并运种 整个服务器性能;
[0114] -资源缺失,表示如果一个或多个调度器决定分配期望的资源,则另外的一个或多 个调度器决定将没有可用资源W部署它们的决定。
[0115] 由于使用先前的阶段,冲突识别将推荐在调度器决定的组合中检测的可能的冲 突。冲突检测可W在调度器执行期间发生,或者在所有的决定已经完成之后发生。前者是悲 观方式,并且调度器将为冲突识别器(Cl)提供局部和增量决定。后者是乐观方式,并且调度 器将在把决定发送到冲突识别器之间计划所有资源。在运两种情况中,冲突识别器将组合 接收的所有决定并匹配它们的工作负载分类W评价冲突。在每个矩阵中,调度器的决定组 合是所有的矩阵的行,工作负载特性或数据中屯、集群状态是列。调度器的决定组合可W由 两个工作负载或由一组工作负载来采用。列为工作负载特性的矩阵的元素为干扰等级,该 干扰等级是工作负载资源密集率的平均。其他两个矩阵的列为数据中屯、集群状态。数据中 屯、集群作为列的一个矩阵的元素为服务器超载,该服务器超载是服务器的可用资源的每个 总数目的来自工作负载概要的资源使用需求的总和的比例。
[0116] 数据中屯、集群状态作为列的另一个矩阵的元素 一一如果没有用于决定的可用资 源一一为0,否则为1。后者矩阵仅是具有直接从基础架构收集的信息的矩阵。在推荐阶段, 当速率高于Z时,其中0<z< 1,识别冲突。
[0117] 在阶段(3)中,策略选择标准可W包括:
[0118] -取消速率,表示调度器的决定的取消的概率。一些策略可W通过等待、迁移或放 弃资源而不是取消整个决定来解决冲突。
[0119] -工作负载性能率,一类工作负载可能受益于不同的策略解决。例如,根据用户定 义的QoS,迁移或等待资源的策略可W有一些性能降低。而且,一些策略可能接受一些资源 的服务器超载,资源的服务器超载很可能直接影响一个或多个工作负载的性能。
[0120] 在识别冲突之后,策略选择器和实施者(PS)被调用推荐策略W解决冲突。策略选 择器和实施者由两个矩阵组成,该两个矩阵的行为冲突的调度器决定加上延时的调度器的 组合,列为策略。两个矩阵的元素不同,其中一个是由取消率来填充,另一个是由工作负载 性能率来填充。取消速率表示在时间间隔ty到t期间,使用策略发生的取消的数目与在集群 中发生的取消的总数目之间的比例,其中参数X在每次数据中屯、集群状态改变时改变。数据 中屯、集群状态表示从资源短缺到丰富的等级,还表示调度器的决定取消的速率和工作负载 性能率。一些策略可能在资源丰富期间执行得更好,其他策略可能在资源短缺期间执行得 更好。可能根据工作负载密集率和测量的执行时间和/或响应时间为各自的关键特性来评 估性能率。那些性能参数可能从工作负载概要、从专业知识和从先前的部署来提供。性能取 决于选择的策略,因为服务器超载可能被接受或不接受,和/或低优先权工作负载可能被迁 移为高优先权决定提供更多的资源。因此,一组政策行动可W不同地影响工作负载性能。
[0121] 本技术还基于交易世界但适于集群背景来描述一些可能的策略。另外,本技术基 于已知的行动加上资源放弃和工作负载迁移及意识的组合来描述新的策略:
[0122] -随机。运是最简单的策略,随机选择获胜的调度器决定。
[0123] -回退(back-off)。随机选择获胜的调度器决定。失败者将在取消之前使用指数增 长间隔的固定数目的指数延时。在每个间隔之后,失败的调度器决定检查是否其他已经完 成。
[0124] -特权1。每个工作负载具有可W由用户服务级别协议(SLA)、管理员指定的或从0 直到N开始的优先权。在取消调度器决定之前,具有较低的优先权的调度器决定被延时,且 优先权增加 N次,其中N是优先权中的差异。
[0125] -特权2。运个策略与特权1类似,除了一些调度器决定没有增长的优先权。因此更 高的优先权被保持为高,然而没有得到增加的优先权的低优先权请求可W最终得到一次W 上的延时。
[0126] -更老的化Ider)。调度器决定在开始其第一次尝试时接收时间戳。如果是并发决 定的第一次,则决定中的一个随机延时。如果并发决定有不同的时间戳,则较新的决定被取 消。
[0127] -更老的结束化Ider end)。运个策略与更老的类似,除了运个策略还有用于从未 延时的决定的超时机制。
[0128] -黑名单。调度器决定接收含有延时的所有决定的黑名单。如果调度器没意识到其 他调度器的决定,随机选择一个决定W延时并包括在黑名单中。如果决定中的一个在黑名 单中,取消该决定。如果决定中的两个都在黑名单中,随机选择一个。
[0129] -放弃。调度器决定可W放弃冲突资源,如果可能的话。用户必须将调度器决定指 定到工作负载概要。
[0130] -放弃时间。运个策略与放弃类似,除了其仅在N个尝试之后放弃资源并在M各尝试 之后取消,其中N<M。
[0131] -迁移低优先权。如果可能,迁移在冲突服务器中的低优先权运行工作负载W释放 资源来用于调度器的决定。
[0132] -迁移时间。运个策略与迁移低优先权类似,除了其仅在N个尝试之后迁移较低优 先权工作负载并在M各尝试之后取消,其中N<M。
[0133] -收缩(shri址)。如果可能的话,减少运行工作负载的资源W适应调度器的决定。
[0134] -收缩时间。运个策略与收缩类似,除了其仅在N个尝试之后减少较低优先权工作 负载的资源并在M各尝试之后取消,其中N<M。
[OU日]-回退长期意识(back-off long-term aware)。如果长期工作负载是获胜者,不延 时,取消失败者。
[0136] 在先前的策略之间的很多其他组合是可能的。
[0137] 此处策略选择目标是通过减少取消和调度器浪费时间来减轻冲突问题并改进工 作负载组合的性能。因此,选择的策略将是具有最低可能的取消率和最高可能的性能率的 策略。
[0138] 本发明可W是系统、方法和/或计算机程序产品。计算机程序产品可W包括计算机 可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0139] 计算机可读存储介质可W是可W保持和存储由指令执行设备使用的指令的有形 设备。计算机可读存储介质例如可W是一-但不限于一一电存储设备、磁存储设备、光存储 设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的 更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存 储器(ROM)、可擦式可编程只读存储器化PROM或闪存)、静态随机存取存储器(SRAM)、便携式 压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上 存储有指令的打孔卡或凹槽内凸起结构、W及上述的任意合适的组合。运里所使用的计算 机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通 过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输 的电信号。
[0140] 运里所描述的计算机可读程序指令可W从计算机可读存储介质下载到各个计算/ 处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外 部存储设备。网络可W包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关 计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计 算机可读程序指令,并转发该计算机可读程序指令,W供存储在各个计算/处理设备中的计 算机可读存储介质中。
[0141] 用于执行本发明操作的计算机程序指令可W是汇编指令、指令集架构(ISA)指令、 机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者W-种或多种编程语言的 任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如 Smalltalk^++等,W及常规的过程式编程语言一诸如"C"语言或类似的编程语言。计算机 可读程序指令可W完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独 立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机 或服务器上执行。在设及远程计算机的情形中,远程计算机可W通过任意种类的网络一包 括局域网(LAN)或广域网(WAN)-连接到用户计算机,或者,可W连接到外部计算机(例如利 用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令 的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程口阵列(FPGA)或可 编程逻辑阵列(PLA),该电子电路可W执行计算机可读程序指令,从而实现本发明的各个方 面。
[0142] 运里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/ 或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框W及流程图和/ 或框图中各方框的组合,都可W由计算机可读程序指令实现。
[0143] 运些计算机可读程序指令可W提供给通用计算机、专用计算机或其它可编程数据 处理装置的处理器,从而生产出一种机器,使得运些指令在通过计算机或其它可编程数据 处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功 能/动作的装置。也可W把运些计算机可读程序指令存储在计算机可读存储介质中,运些指 令使得计算机、可编程数据处理装置和/或其他设备W特定方式工作,从而,存储有指令的 计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中 规定的功能/动作的各个方面的指令。
[0144] 也可W把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它 设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,W产 生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的 指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0145] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程 序产品的可能实现的体系架构、功能和操作。在运点上,流程图或框图中的每个方框可W代 表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用 于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也 可WW不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可W基本并行地执 行,它们有时也可W按相反的顺序执行,运依所设及的功能而定。也要注意的是,框图和/或 流程图中的每个方框、W及框图和/或流程图中的方框的组合,可W用执行规定的功能或动 作的专用的基于硬件的系统来实现,或者可W用专用硬件与计算机指令的组合来实现。
[0146] 现在转向图6,示出了用于实现本文呈现的一个或多个方法的装置600的框图。仅 通过示例的方式,装置600可W配置为实现图1的方法100的一个或多个步骤,和/或图5的方 法500的一个或多个步骤。
[0147] 装置600包括计算机系统610和可移动介质650。计算机系统610包括处理器设备 620、网络接口 625、存储器630、介质接口 635和可选的显示器640。网络接口 625允许计算机 系统610连接到网络,同时介质接口635允许计算机系统610与介质(诸如硬盘驱动器或可移 动介质650)交互。
[0148] 处理器设备620可W配置为实现本文公开的方法、步骤和功能。存储器630可W是 分布式的或局部的且处理器设备620可W是分布式的或单一的。存储器630可W实现为电、 磁或光存储器、或运些或其他类型的存储设备的任意组合。而且,术语"存储器"应被足够广 泛的解释为涵盖能够从处理器设备620访问的可寻址空间中的地址读取或写入该地址的任 何信息。通过运个定义,网络上的、通过网络接口625可访问的信息仍然在存储器630内,因 为处理器设备620可W从网络检索信息。应该注意的是,组成处理器设备620的每个分布式 处理器通常含有其自己的可寻址的存储器空间。还应该注意的是,一些或所有的计算机系 统610可W被结合到专用或通用集成电路。
[0149] 可选的显示器640是适合与装置600的人类用户交互的任何类型的显示器。通常, 显示器640是计算机监控器或其他类似的显示器。
[0150]虽然本文已经描述了本发明的示例性实施例,应该理解的是,本发明不限于那些 精确的实施例,并且本领域的技术人员可W做出各种其他的改变和修改,而不脱离本发明 的范围。
【主权项】
1. 一种在数据中心集群中分配计算资源的方法,所述方法包括以下步骤: 创建多个并行的调度器;以及 基于工作负载概要、用户要求和所述数据中心集群的状态中的一个或多个为每个调度 器自动选择资源分配方法,其中为至少第一一个或多个调度器选择乐观资源分配方法,且 为至少第二一个或多个调度器选择悲观资源分配方法。2. 如权利要求1所述的方法,其中所述悲观资源分配方法包括所述计算资源的完全预 分配和所述计算资源的部分预分配中的一个或多个,其中预分配包括封锁所述计算资源。3. 如权利要求1所述的方法,其中所述乐观资源分配方法包括所述计算资源的非预分 配。4. 如权利要求1所述的方法,其中所述数据中心集群包括云计算基础架构。5. 如权利要求4所述的方法,其中所述云计算基础架构包括多个云。6. 如权利要求1所述的方法,进一步包括以下步骤: 动态地将一个或多个调度器的所述资源分配方法从乐观资源分配方法切换到悲观资 源分配方法。7. 如权利要求6所述的方法,其中基于用户的决定,手动或自动地将一个或多个调度器 的所述资源分配方法从所述乐观资源分配方法动态切换到所述悲观资源分配方法。8. 如权利要求6所述的方法,其中基于所述数据中心集群的状态的变化,手动或自动地 将一个或多个调度器的所述资源分配方法从所述乐观资源分配方法动态地切换到所述悲 观资源分配方法。9. 如权利要求1所述的方法,进一步包括以下步骤: 接收新的工作负载;以及 将所述新的工作负载分类。10. 如权利要求9所述的方法,其中基于中央处理单元(CPU)、存储器、网络和磁盘密集 性中的一个或多个将所述新的工作负载分类。11. 如权利要求9所述的方法,其中基于来自所述方法的一个或多个先前的迭代的数 据,将所述新的工作负载分类。12. 如权利要求9所述的方法,进一步包括以下步骤: 基于所述新的工作负载的分类,确定是i)将所述新的工作负载分配到现有的一个调度 器、还是ii)创建一个或多个新的调度器并且将所述新的工作负载分配到所述一个或多个 新的调度器。13. 如权利要求9所述的方法,进一步包括以下步骤: 识别调度器决定中的冲突。14. 如权利要求13所述的方法,其中所述冲突包括工作负载干扰冲突、服务器超载冲突 和缺失资源冲突中的一个或多个。15. 如权利要求13所述的方法,进一步包括以下步骤: 选择用于冲突的解决策略。16. 如权利要求15所述的方法,其中基于来自所述方法的一个或多个先前的迭代的数 据选择用于冲突的解决策略。17. -种在数据中心集群中分配计算资源的方法,所述方法包括以下步骤: 创建多个并行的调度器; 基于工作负载概要、用户要求和所述数据中心集群的状态中的一个或多个为每个调度 器自动选择资源分配方法,其中为至少第一一个或多个调度器选择乐观资源分配方法,且 为至少第二一个或多个调度器选择悲观资源分配方法; 接收新的工作负载; 将所述新的工作负载分类; 基于所述新的工作负载的分类,确定是i)将所述新的工作负载分配到现有的一个调度 器、还是ii)创建一个或多个新的调度器并且将所述新的工作负载分配到所述一个或多个 新的调度器; 识别调度器决定中的冲突;以及 选择用于冲突的解决策略。18. 如权利要求17所述的方法,其中所述数据中心集群包括云计算基础架构。19. 如权利要求18所述的方法,其中所述云计算基础架构包括多个云。20. -种在数据中心集群中分配计算资源的计算机程序产品,所述计算机程序产品包 括具有包含的程序指令的计算机可读存储介质,所述程序指令由计算机执行以使所述计算 机: 创建多个并行的调度器; 基于工作负载概要、用户要求和所述数据中心集群的状态中的一个或多个为每个调度 器自动选择资源分配方法,其中为至少第一一个或多个调度器选择乐观资源分配方法,且 为至少第二一个或多个调度器选择悲观资源分配方法; 接收新的工作负载; 将所述新的工作负载分类; 基于所述新的工作负载的分类,确定是i)将所述新的工作负载分配到现有的一个调度 器、还是ii)创建一个或多个新的调度器并且将所述新的工作负载分配到所述一个或多个 新的调度器; 识别调度器决定中的冲突;以及 选择用于冲突的解决策略。
【文档编号】G06F9/48GK106020941SQ201610172106
【公开日】2016年10月12日
【申请日】2016年3月24日
【发明人】M.阿马拉尔, Y.N.多加纳塔, I.I.莫霍梅德, A.N.坦塔威, M.尤纳瓦
【申请人】国际商业机器公司, 巴塞罗那高性能计算中心-国家高性能计算机中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1