CN110546612A - 导向型优化资源调度 - Google Patents
导向型优化资源调度 Download PDFInfo
- Publication number
- CN110546612A CN110546612A CN201880027007.9A CN201880027007A CN110546612A CN 110546612 A CN110546612 A CN 110546612A CN 201880027007 A CN201880027007 A CN 201880027007A CN 110546612 A CN110546612 A CN 110546612A
- Authority
- CN
- China
- Prior art keywords
- resource
- grained
- resources
- fine
- application
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/803—Application aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/83—Admission control; Resource allocation based on usage prediction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种用于资源管理的系统。所述系统包括节点本地资源管理层,用于基于粗粒度资源和应用使用特性生成节点本地指导信息。中央集群资源管理层用于基于所述节点本地指导信息生成对每个框架的资源指导过滤器信息。应用层,包括多个框架,用于使用所述对每个框架的资源指导过滤器信息来生成资源指导过滤器。所述资源指导过滤器指导对所述中央集群资源管理层的资源请求,允许所述应用层响应于对所述中央集群资源管理层的所述资源请求而从所述节点本地资源管理层接收资源。
Description
相关申请案交叉申请
本申请要求于2018年4月24日递交的发明名称为“导向型优化资源调度”的第15/960,991号美国非临时申请案的在先申请优先权,其又要求于2017年4月28日递交的发明名称为“导向型优化资源调度”的第62/491,959号美国临时申请案的在先申请优先权,这两篇专利申请案的内容以引入的方式并入本文。
背景技术
数据中心为软件应用提供资源。此类资源包括存储器、处理器、网络带宽等。用于提供云计算的数据中心通常执行弹性配置。在弹性配置方面,硬件资源在不相关第三方的许多应用之间是时间共享的。弹性配置根据需要为应用提供硬件资源。该方法允许在资源需求改变时在应用之间转移硬件资源,以减轻资源过度分配,从而提高总体硬件利用率。然而,以这种方式动态配置资源可能变得复杂,会产生大量计算开销,当数据中心变得更大、更复杂时尤为如此。随着云系统的扩展,这可能会导致缓慢响应时间和次优配置。
发明内容
在一方面,本发明包括一种用于资源管理的计算机实现的方法,包括:监视细粒度资源的当前利用率,所述细粒度资源与粗粒度资源相关;确定随时间的推移,所述细粒度资源对一个应用的应用使用特性;基于所述应用使用特性,预测所述应用的预期细粒度资源利用率;生成用于请求粗粒度资源的多个框架中的至少一个框架的节点本地指导信息,该节点本地指导是通过将当前应用的细粒度资源与预期的细粒度资源利用率进行比较而生成的;将所述节点本地指导信息传送至资源管理器,以分配所述粗粒度资源。
可选地,根据前述任一方面,在另一种实现方式中:其中比较所述细粒度资源的所述当前利用率与所述应用的所述预期细粒度资源利用率包括:向所述应用分配所述粗粒度资源时,检测细粒度资源利用率的预期饱和。
可选地,根据前述任一方面,在另一种实现方式中:其中所述细粒度资源包括处理器管线利用率、处理器管线占用率、缓存带宽、缓存命中率、缓存污染、存储器带宽、非均匀存储器访问时延和一致性流量中的至少一个。
可选地,根据前述任一方面,在另一种实现方式中:其中细粒度资源包括描述任何所述粗粒度资源的运行状态的任何资源。
可选地,根据前述任一方面,在另一种实现方式中:其中所述粗粒度资源包括多个计算核心、随机存取存储器(random-access memory,简称RAM)空间、存储容量和磁盘配额中的至少一个。
可选地,根据前述任一方面,在另一种实现方式中:其中监测细粒度资源的当前利用率包括:监测硬件计数器,所述硬件计数器用于计算所述粗粒度资源的细粒度资源利用率。
可选地,根据前述任一方面,在另一种实现方式中:其中所述资源管理器是中央集群资源管理器(Central Cluster Resource Manager,简称CCRM),所述节点本地指导信息被传送至所述CCRM,以支持基于所述节点本地指导信息生成对每个框架的资源指导过滤器,从而指导资源请求。
在另一方面,本发明包括一种计算机实现的资源管理方法,包括:接收节点本地指导信息,所述节点本地指导信息包括多个应用的预期细粒度资源利用率、与粗粒度资源对应的当前细粒度资源利用率,以及粗粒度资源分配;基于所述粗粒度资源分配,维护资源可用性数据库;通过比较所述粗粒度资源的所述当前细粒度资源利用率与所述多个应用的预期细粒度资源利用率,生成与所述多个应用相关联的多个框架的资源指导过滤器信息;向所述框架提供所述资源指导过滤器信息和来自所述资源可用性数据库的资源,以支持在粗粒度资源的当前细粒度资源利用率与应用的预期细粒度资源利用率的和超出阈值时,生成资源指导过滤器以屏蔽所述粗粒度资源。
可选地,根据前述任一方面,在另一种实现方式中:其中所述细粒度资源利用率包括处理器管线利用率、缓存带宽、缓存命中率、存储器带宽和非均匀存储器访问时延中的至少一个。
可选地,根据前述任一方面,在另一种实现方式中:其中所述粗粒度资源包括多个计算核心、随机存取存储器(random-access memory,简称RAM)空间、存储容量和磁盘配额中的至少一个。
可选地,根据前述任一方面,在另一种实现方式中:其中对来自所述资源可用性数据库的信息采用所述资源指导过滤器,以提供网络中的多个计算节点的可用粗粒度资源的每个框架的视图。
可选地,根据前述任一方面,在另一种实现方式中:其中所述资源请求利用惰性更新,由此仅在从框架接收到资源请求时才会更新所述资源可用性数据库。
可选地,根据前述任一方面,在另一种实现方式中:其中所述资源指导过滤器由所述多个框架确定,用于屏蔽资源可用性数据库信息,以便在确定资源请求时不考虑资源节点。
可选地,根据前述任一方面,在另一种实现方式中:其中细粒度资源包括描述任何所述粗粒度资源的运行状态的任何资源。
在另一方面,本发明包括一种用于资源管理的系统,包括:节点本地资源管理器(Node Local Resource Manager,简称NLRM),用于基于针对相应粗粒度资源的细粒度资源的当前利用率和基于过去应用细粒度资源使用特性的应用的预测细粒度资源利用率来生成节点本地指导信息;中央集群资源管理器(Central Cluster Resource Manager,简称CCRM),用于:通过比较针对所述粗粒度资源的细粒度资源的所述当前利用率与所述应用的所述预测细粒度资源利用率来生成对每个框架的资源指导过滤器信息;维护可分配的粗粒度资源的数据库;应用层,与中央集群资源管理层进行通信,其中所述应用层包括在一个或多个处理器上操作的多个框架,所述框架用于使用所述对每个框架的资源指导过滤器信息来生成应用到所述可分配的粗粒度资源的资源指导过滤器,以指导对所述中央集群资源管理层的资源请求,以及响应于对所述中央集群资源管理层的所述资源请求,从所述节点本地资源管理层接收粗粒度资源。
可选地,根据前述任一方面,在另一种实现方式中:其中所述节点本地指导信息还基于细粒度资源的利用率,所述细粒度资源包括由所述NLRM管理的硬件性能计数器测量的处理器管线利用率、缓存带宽、缓存命中率、存储器带宽和非均匀存储器访问时延中的至少一个。
可选地,根据前述任一方面,在另一种实现方式中:其中所述粗粒度资源包括多个计算核心、随机存取存储器(random-access memory,简称RAM)空间、存储容量和磁盘配额中的至少一个。
可选地,根据前述任一方面,在另一种实现方式中:其中所述中央集群资源管理层利用惰性更新,由此仅在从所述应用层接收到资源请求时才会更新资源可用性数据库。
可选地,根据前述任一方面,在另一种实现方式中:其中比较针对所述粗粒度资源的细粒度资源的所述当前利用率与所述应用的所述预测细粒度资源利用率包括:向所述应用分配所述粗粒度资源时,检测细粒度资源利用率的预期饱和。
可选地,根据前述任一方面,在另一种实现方式中:其中所述资源指导过滤器用于屏蔽来自所述中央集群资源管理层的资源可用性数据库信息,以便在确定资源请求时不考虑资源节点。
为表述清楚,在不脱离本发明范围的前提下,任何一个前述实施例都可以与任何一个或多个其它前述实施例结合以创建新的实施例。
通过以下结合附图和权利要求的详细描述,这些以及其它特征将会被更清楚地理解。
附图说明
为了更透彻地理解本发明,现参阅结合附图和具体实施方式而描述的以下简要说明,其中的相同参考标号表示相同部分。
图1是一种示例性导向型乐观调度系统的示意图;
图2是一种示例性中央集群资源管理器(Central Cluster Resource Manager,简称CCRM)的示意图;
图3是一种示例性节点本地资源管理器(Node Local Resource Manager,简称NLRM)的示意图;
图4A是一实施例提供的由所述NLRM实现的资源管理方法;
图4B是一实施例提供的在所述CCRM内实现的资源管理方法;
图5是本发明一实施例提供的一种资源管理设备的示意图。
具体实施方式
首先应理解,尽管下文提供一项或多项实施例的说明性实施方案,但所公开的系统和/或方法可使用各种技术来实施,无论该技术是当前已知还是现有的。本发明决不应限于下文所说明的说明性实施方案、附图和技术,包括本文所说明并描述的示例性设计和实施方案,而是可在所附权利要求书的范围以及其等效物的完整范围内修改。
本文公开了一种使用导向型乐观并发来优化资源利用率同时最大限度地提高大型集群和数据中心的性能的方法。实施例减少了计算作业的干扰,同时缓解了计算瓶颈。许多示例性资源管理系统仅涉及高级别资源,例如处理器核心分配、存储器分配和网络带宽分配。然而,应用的性能也依赖于低级别资源,例如管线占用率、缓存容量/占用率、缓存命中率、缓存一致性、非均匀存储器访问、存储器带宽、资源干扰等。例如,在一台机器上运行输入/输出密集型线程且在另一台机器上运行存储器计算密集型线程的效率较低,因为此类线程可以最低干扰水平共存在相同硬件上。此外,在所述相同硬件上操作多个存储器计算密集型线程的效率较低,因为某些低级别资源(例如,缓存容量和/或存储器管线占用率)被过度使用,从而造成瓶颈,而其它低级别资源未被充分利用。因此,高效资源分配在一台机器中利用不同级别的资源,同时不会饱和使用任何单个资源。
本发明集中于管理低级别资源(例如,硬件状态指示器)。如本文所使用的,高级别资源是可以直接分配给过程的任何资源,例如存储器、处理器或网络带宽。高级别资源在本文中也称为粗粒度资源。如本文所使用的,低级别资源是描述高级别资源的状态的任何操作指示器,例如CPU管线使用率、缓冲存储器使用率、存储器带宽。低级别资源在本文中也称为细粒度资源。各种实施例的实现方式可以执行细粒度资源记帐(fine grained resourceaccounting,简称FGRA),所述FGRA是一种微基准,用于通过分析性能计数器和操作系统统计数据来确定低水平硬件容量和能力基线(例如,压力测试)。当系统处于测试模式并且为每个低级别资源创建基准时,执行FGRA,以便稍后可以在运行时确定利用率百分比。通过比较在框架上操作的应用的运行时间监测结果与基线来执行瓶颈和干扰检测。框架是一种软件操作平台,提供预定义软件资源以支持应用部署。瓶颈和干扰检测是一种过程,通过考虑低级别资源的预期利用率百分比,确定可以通过分配附加高级别资源实现的预期性能提升。具体地,由于低级别资源的过度利用而导致的低级别资源使用瓶颈和/或应用之间干扰会导致附加高级别资源不会显著提高性能的情况。例如,当共享缓存饱和(过度利用)时,在附加处理器在操作期间持续暂停等待缓存空间时,分配所述附加处理器可能不会提高性能。节点本地资源管理器(node local resource manager,简称NLRM)可以使用此类瓶颈和干扰检测来确定应用特性。NLRM是一种资源管理器,监测低级别和高级别资源,为单个节点或节点集群分配高级别资源。如本文所使用的,节点表示包括用于操作应用的硬件的单个计算机器,例如服务器。应用特性是有关应用和/或相应框架随时间的高级别和低级别资源使用情况的简况。然后,使用每个资源节点上的所述应用特性和资源利用率来生成与在所述相应节点上操作的应用有关的指导信息。指导信息是由NLRM生成的信息,指示可能共享高级别资源的应用之间的兼容性。可以基于过去测量的多个应用的应用特性以及当前的高级别和低级别资源利用率来确定此类兼容性。将所述指导信息转发至中央集群资源管理器(Central Cluster Resource Manager,简称CCRM),所述CCRM维护资源可用性数据库和在所述资源节点上操作应用的框架列表。所述CCRM是中央资源管理器,监测和/或管理整个网络的高级别资源分配。
所述指导信息用于为每个框架生成资源指导过滤器信息。资源指导过滤器信息是基于指导信息生成的数据,可以用于生成资源指导过滤器。所述资源指导过滤器信息可以包括多个应用的应用使用特性、低级别资源利用率和/或高级别资源分配。所述CCRM应请求向所述框架提供指示所述可用资源的所述资源指导过滤器信息和数据。然后,所述框架可以基于所述资源指导过滤器信息生成资源指导过滤器。资源指导过滤器是应用和/或框架特定的掩码,从所述相应应用/框架的视图中隐藏高级别资源。向所述相应应用/框架分配所述资源不会显著提高所述应用/框架的性能或者降低系统范围内的资源利用率时,将隐藏此类资源。例如,如果向所述应用分配的资源将经历低级别资源饱和(例如,基于所述应用的过去低级别资源使用率),则可以从所述应用/框架中隐藏所述资源。可以在所述框架上应用所述资源指导过滤器来屏蔽资源,以从所述框架的资源视图中删除效率较低的资源组合(例如,基于来自所述NLRM的所述指导信息)。如本文所使用的,资源视图是可用于向所述框架和/或相应过程分配的系统范围内的高级别资源列表,不包括由所述资源指导过滤器屏蔽的资源。这允许每个框架具有所述系统资源的个性化全局视图。这还允许所述NLRM微观管理本地资源利用率,同时允许所述CCRM宏观管理节点资源。
本发明提供了精细粒度级别的资源分配和管理,确保最大限度地减少跨计算节点的资源浪费。同时,所公开的资源分配和管理也以可扩展、分布式的方式设计,以便扩展和支持大型集群和数据中心。本发明使用实时策略和监测技术来检测系统中每个资源的低效和性能瓶颈。所述信息由应用调度器在节点内本地使用,以便最大限度地提高性能,而不管是否存在协同运行应用。在这个背景下,协同运行应用指示共享对公共高级别资源的访问的任何应用对。与应用调度器的此类交互以资源获取指导信息的形式发生。此类指导信息有助于每个应用根据所述应用的当前利用率获取资源,考虑协同运行应用可能存在的干扰。
在一个实施例中,指导信息是对所述应用的建议,建议所述应用不要获取某些资源,而是使用某些其它资源。例如,考虑以下情况。应用A是存储器密集型应用。资源管理器可以向应用A分配存储器容量。然而,节点可以通过在所述节点上使用所有可用中央处理器(Central Processing Unit,简称CPU)的较小子集来耗尽存储器带宽。作为示例,(全部二十个CPU中的)四到六个CPU可以耗尽所述节点的所有存储器带宽。在此类情况下,向应用A分配六个以上CPU是对CPU资源的浪费,因为进一步分配不会获得附加性能。本文公开的资源管理器动态确定可用和已用存储器带宽,甚至在更多CPU可用时,通过在所述资源节点上仅提供六个CPU来指导应用A。除此之外,所述资源管理器防止任何其它类似的应用使用相同的机器/节点,因为此类类似的应用将仅竞争所述过度分配的存储器带宽。在没有所公开机制的情况下操作的资源管理器无法动态理解硬件资源或应用特性,因此将浪费地向所述相同机器上的应用A分配资源,以期提高性能。
本发明以低级别资源来表征应用性能,这允许所述应用基于相应的低级别资源使用率/状态来获取高级别资源。在一个实施例中,低级别资源包括但不限于:CPU管线争用、同时多线程引起的专用缓存争用、单芯片共享缓存污染、单芯片共享缓存容量争用、芯片内进程间一致性流量、芯片间进程间一致性流量、本地动态随机存取存储器(dynamic randomaccess memory,简称DRAM)带宽争用、远程存储器带宽争用、芯片间互连争用、网络争用、输入/输出(Input/Output,简称I/O)争用或其任意组合。CPU管线是处理器之间、处理器与I/O之间和/或处理器与存储器之间的总线。CPU管线争用是在多个应用通过公共CPU管道传输数据时发生的数据流量拥塞。专用缓存争用是在多个应用将数据存储在同一专用缓存存储器空间中时发生的数据流量拥塞。缓存污染描述了执行应用将数据不必要地加载到CPU缓存中的情况,这使得其它有用数据被从所述缓存驱逐到较低级别的存储器层级,从而降低性能。当第一应用的缓存污染导致驱逐缓存用于第二应用的有用数据时,就会发生单芯片共享缓存污染。共享缓存容量争用是由在处理器之间共享的缓存(例如,三级缓存)中存储信息的多个应用引起的数据流量拥塞。缓存一致性是一种在多个缓存位置中存储统一数据的机制。芯片内进程间一致性流量和芯片间进程间一致性流量分别描述同一CPU核心上的多个应用之间和多个CPU核心之间的缓存一致性存储器使用率。本地DRAM带宽争用是在多个应用通过将处理器连接到DRAM的总线传输数据时引起的数据拥塞。远程存储器带宽争用是在多个应用通过总线将数据传输至远程存储器(例如,只读存储器(read only memory,简称ROM)或其它长期存储器)时引起的数据拥塞,其中长期指示在未主动处理此类数据时存储数据。芯片间互连争用是由多个应用同时访问引起的CPU核心之间总线上的数据拥塞。网络争用是由多个应用同时访问引起的CPU核心与网卡之间总线上的数据拥塞。I/O争用是由多个应用同时访问引起的处理器与任何输入或输出设备之间的数据拥塞。
在一个实施例中,这些是影响性能的低级别资源。性能对所述低级别资源的依赖程度远远高于所述高级别资源。然而,大多数所述低级资源是不可直接观测的。因此,本发明结合FGRA使用硬件性能计数器间接且近似地推断所述低级别资源。
在一个实施例中,术语“潜在干扰源”是指针对节点上给定高级别资源上的每个应用使用低级别资源的表征。因此,本发明确定哪些资源被过度以及哪个应用在逐个节点的基础上过度使用哪些资源。所公开的系统力求平衡,这确保尽可能充分利用资源。如果且当应用是或将竞争相同的低级别资源(从而饱和所述低级别资源使用)时,所述应用将变成干扰源。在尽管多个应用利用但未过度使用低级别资源时,所述应用不被视为潜在和/或实际干扰应用。然而,当某个低级别资源被过度使用(据知由比较当前利用率与所述FGRA基准引起)时,使用所述资源的应用可以被标记为干扰源,可以被分配/重新分配给不同的高级别资源(例如,不同的机器)。
图1是一种在本文中也可以称为调度系统的示例性导向型乐观调度系统100的示意图。如图所示,所述调度系统100包括多个框架101(例如,框架1、框架2等)。框架101是支持基于云的应用的部署的开发工具、中间件和/或数据库服务的操作环境。例如,框架101可以操作平台即服务(platform as a service,简称PaaS)框架、基础设施即服务(infrastructure as a service,简称IaaS)框架和/或软件即服务(software as aservice,简称SaaS)框架。所述框架101部署在同一物理计算硬件上同时操作的应用。然而,不同的框架101可以由不同的租户操作。因此,出于安全原因,框架101不应访问由其它框架101处理或存储的数据。如下所述,使用资源调度,使得框架101可以共享硬件资源(例如,通过轮流)而不访问彼此的数据。每个框架101利用相应的调度器103。调度器103负责代表框架101和利用所述框架的任何相应的应用来获得硬件资源。在一些示例中,每个框架101包括相应的调度器103。然而,在一些示例中,多个框架101可以共享调度器。在一个实施例中,所述框架101和调度器103被布置在应用层内并被视为所述应用层的一部分。虽然仅示出四个所述框架101和调度器103,但是其它数目的框架101和调度器103也是可能的。在多租户情形下,若干框架101可以在同一节点131上共享和运行任务。在所述框架101上操作的应用可能相互干扰。在一个实施例中,可以利用硬件性能计数器来检测此类干扰。
在一个实施例中,所述应用层中的所述框架101主存多个应用。每个框架101使用相应的调度器103与CCRM 110进行通信。此类通信允许所述框架获得所述调度系统100的受控优化资源视图,同时使用事务获取资源。所述框架101负责执行所述应用并与本文公开的资源管理技术交互。基于此类交互,每个框架101获取资源并对此类资源执行相应的应用。与通用全局资源视图相反,框架101可以访问所述调度系统100的导向型系统资源视图143。
所述框架101与所述CCRM 110和/或所述节点131进行通信。如下所述,所述CCRM110向所述框架101和/或所述调度器103提供资源指导过滤器信息和资源可用性信息。资源可用性信息是指示可用于分配给任何应用的全局高级别资源的数据。资源指导过滤器信息是足以生成资源指导过滤器的信息,所述资源指导过滤器可以滤除对于特定应用不兼容的资源。所述框架101和/或相应的调度器103可以计算特定于所述框架101的资源指导过滤器。具体地,通过比较所述应用的历史低级别资源使用率(例如,基于应用使用特性)和每个高级别资源上的低级别资源的相应利用率百分比,计算所述资源指导过滤器。当任何低级别资源的利用率百分比与所述应用的相应历史低级别资源使用率的和超出预先确定的阈值时,由所述资源指导过滤器移除所述相应的高级别资源以免于考虑。因此,可以应用所述资源指导过滤器,以从所述资源可用性信息中屏蔽资源。因此,每个应用接收特定于所述相应框架101的所述调度系统100的导向型系统资源视图143。所述导向型系统资源视图143包括系统中所有节点131上的所有可用的高级别资源,不包括因相应的低级别资源与基于过去低级别资源使用率的所述应用的预测要求不兼容而被所述资源指导过滤器滤除的任何高级别资源。这样,所述导向型系统资源视图143是为每个框架101和/或应用定制的系统100资源的视图。因此,所述框架101和调度器103以及所述CCRM 110能够交换系统资源视图142和/或资源利用率信息141。
所述CCRM 110负责宏观管理所述调度系统100中的硬件资源。具体地,所述CCRM110使用来自NLRM 120的信息来聚合和管理资源。所述CCRM 110还使用惰性按需更新为每个应用生成受控乐观系统资源视图143,从每个NLRM 120积累有关资源利用率、性能瓶颈和应用特性的信息,通过使用掩码避免干扰,滤除具有潜在干扰的资源(例如,惰性更新)。具体地,所述CCRM 110维护资源可用性数据库。所述CCRM 110通过仅在以下情况下更新所述数据库来对所述资源可用性数据库使用惰性按需更新,即:在接收到资源查询时;在向调度器103提供资源时;和/或在接收到调度器103已请求分配特定资源的指示时。所述惰性更新模型对所述CCRM 110的要求低于更活跃的方法,允许所述CCRM 110扩展以控制较大资源组。所述CCRM 110从所述NLRM 120接收资源利用率、资源可用性和/或其它微观管理信息。所述CCRM 110聚合关于每个节点131上的资源详细信息的此类细粒度信息,响应于来自调度器103的资源请求,例如向每个框架101呈现资源作为提议。为了提供所述调度系统100的每框架101系统资源视图143,可以通过使用资源指导过滤器来移除某些资源以免于考虑。
基于来自所述NLRM 120的资源利用率信息141生成所述资源指导过滤器。此类信息包括所述节点131上的所述资源使用率的指示,例如当前的高级别资源分配(例如,CPU分配、存储器分配等)。资源利用率信息141还包括来自所述NLRM 120的任何相应的指导信息。指导信息可以包括每个高级别资源的当前低级别资源利用率百分比和指示请求资源的所述应用以及共享所述高级别资源的其它应用的低级别资源的平均历史使用率的应用简况。部分地,通过比较应用配置文件来确定请求资源的应用是否与已经在节点131上操作的应用不兼容来生成所述资源指导过滤器,因为共享高级别资源将饱和低级别资源。此外,部分地,还可以通过比较当前低级别资源利用率与请求资源的应用的预期低级别资源要求来生成所述资源指导过滤器。在向应用分配高级别资源将导致对应于所述高级别资源的所述低级别资源利用率超出阈值时,所述过滤器将移除所述相应的高级别资源以免于考虑。因此,所述资源指导过滤器基本上包括资源微观管理信息,设计用于屏蔽例如因瓶颈致使不会向所述框架101提供显著益处或者将降低所述整个系统100资源利用率的资源。通过将所述资源指导过滤器应用于所述当前的高级别资源可用性,为每个框架101/应用创建定制资源视图143。所述定制资源视图143包括可用于分配的所有高级别资源,不包括已由所述应用的所述资源指导过滤器滤除的任何高级别资源。
所述资源指导过滤器可以由所述CCRM 110计算。然而,所述CCRM 110还可以直接向所述框架101提供资源指导过滤器信息,允许所述框架101确定所述过滤器并应用所述过滤器来屏蔽所述资源。该方法将计算开销从所述CCRM 110移至所述框架101,支持所述调度系统100的附加可扩展性。所述CCRM 110还可以维护按低级别资源利用率级别分类的节点131的列表或队列。框架101能够选择获取资源,例如自由节点131的队列,节点131具有未使用的缓存带宽阈值(例如,百分之五十)等。
所述CCRM 110可操作地耦合至多个节点131(例如,节点1、节点2等)并与所述多个节点131进行通信。每个节点131利用相应的通信器121和用作资源监视器/管理器的NLRM120。节点131包括一组集成的硬件资源。例如,节点131可以包括单一集成计算机器,例如服务器。因此,节点131可以包括粗粒度资源,例如CPU、网络通信设备和相关联的带宽、计算存储器空间(例如,RAM)、长期存储器空间(例如,磁盘空间)等。节点131还可以包括测量所述粗粒度资源的状态和利用率的细粒度资源。节点131上的细粒度资源可以由硬件计数器测量,可以包括CPU管线争用、同时多线程引起的专用缓存争用、单芯片共享缓存污染、单芯片共享缓存容量争用、芯片内进程间一致性流量、芯片间进程间一致性流量、本地DRAM带宽争用、远程存储器带宽争用、芯片间互连争用、网络争用、I/O争用及其任意组合和/或在本文中称为细粒度资源或低级别资源的任何其它资源。
NLRM 120被布置在节点本地资源管理层内并被视为所述节点本地资源管理层的一部分,可以充当一个或多个节点131的资源管理器。所述NLRM 120可以保持对所述细粒度资源利用率的认知,同时还可以比较此类利用率与通过压力测试(例如,根据FGRA)确定的基准。这允许所述NLRM 120确定用于每个细粒度资源的容量百分比,这转而允许所述NLRM120微观管理所述节点131资源。所述NLRM 120还可以分析所述相关联节点131上的资源的应用使用率。具体地,所述NLRM 120可以为在由所述NLRM 120管理的所述节点131上操作的每个应用制定配置文件。所述配置文件包括历史低级别资源利用率。例如,所述配置文件可以包括所述相应应用的历史平均缓冲存储器使用率、历史平均CPU管线使用率、历史平均I/O使用率、历史平均缓冲存储器污染等。所述NLRM 120可以比较各种应用的配置文件,以确定任何两个应用在过度利用相同的低级别资源时是否不兼容。所述NLRM 120还可以比较来自请求高级别资源的应用的配置文件的信息与相应的低级别资源的所述当前可用性百分比,以确定根据预测所述请求应用是否会导致低级别资源饱和/瓶颈。此类信息可以与来自所述节点的任何其它高级别资源分配信息聚合,作为指导信息提供给所述CCRM。所述CCRM110转而可以聚合来自多个NLRM 120的此类指导信息,使用此类指导信息来生成资源指导过滤器,如上所述。所述通信器121用于将资源利用率信息141传送至所述CCRM 110。
虽然仅示出16个所述节点131、通信器121和NLRM 120,但所述调度系统100在实际应用中可以使用任意数目的此类组件。所述CCRM 110和所述节点131、通信器121以及NLRM120能够交换资源利用率信息141,如上所述。在一个实施例中,通信器121被布置在通信层内并被视为所述通信层的一部分,所述通信层桥接微观管理机制和宏观管理机制。在一个实施例中,所述NLRM 120被布置在细粒度微观管理层内并被视为所述细粒度微观管理层的一部分。在一个实施例中,所述通信层和所述细粒度微观管理层被共同布置在节点级别资源管理器层内并被视为所述节点级别资源管理器层的一部分。
图2是一种也可以称为宏观管理模块的示例性CCRM 210的示意图200。所述CCRM210是一种示例性资源管理器,可以用于实现图1中的CCRM 110。在一个实施例中,所述CCRM210包括服务作业队列211、批处理作业队列213、作业接受模块215、处于活动运行状态的框架212列表、资源指导过滤器217信息和资源可用性数据库219。所述CCRM 210用于从对应于每个节点的所述NLRM接收资源利用率信息241。所述服务作业队列211、批处理作业队列213、作业接受模块215、框架212列表、资源指导过滤器217和资源可用性数据库219相互通信,如图2中的箭头所示。所述CCRM 210还用于向操作应用的框架提供系统资源视图243。
在一个实施例中,所述CCRM 210向每个框架提供资源指导过滤器217或资源指导过滤器信息,这会修改每个框架的系统资源视图243。例如,所述CCRM 210在所述资源可用性数据库219中内部维护单一全局资源视图(global resource view,简称GRV)。所述GRV包括可用于分配的所有节点上的所有高级别资源。如上所述,使用惰性更新,基于来自所述节点的资源利用率信息241,更新所述资源可用性数据库219以及所述GRV。这样,当框架发送资源请求时和/或当高级别资源被分配给框架/应用时,更新所述GRV。响应于此类资源请求,可以向所述框架提供给所述GRV。所述CCRM 210通过聚合来自所述资源利用率信息241中包括的所述系统中的全部所述节点的所有高级别资源分配来用所述GRV填充所述资源可用性数据库219。当所述资源可用性数据库219维护所有分配的资源的视图时,所述资源可用性数据库219还维护所有剩余可用高级别资源的视图。所述资源利用率信息241类似于资源利用率信息141,可以包含节点本地指导(例如,资源微观管理信息)、每个节点上的细粒度资源利用率、每个节点上的粗粒度资源利用率、应用资源使用特性和/或与所述节点上的资源使用率有关的任何其它信息。
根据所述GRV获得用于各个框架的框架特定导向型资源视图(frameworkspecific guided resource view,简称FSGRV)。如结合图1所述,所述节点维护每个应用的历史低级别资源利用率的配置文件。所述节点还维护每个高级别资源的信息,所述信息指示相应低级别资源的当前利用率百分比。此类信息由所述CCRM 210接收作为充当所述资源利用率信息241的一部分的指导信息,经聚合并存储在所述资源可用性数据库219中。接收到框架的资源请求时,所述CCRM 210将比较所述请求应用的预测低级别资源利用率(基于历史低级别资源利用率)与针对每个高级别资源的低级别资源的当前利用率百分比。从所述请求应用的所述GRV中移除没有足够的可用低级别资源来适应所述请求应用的所述预测低级别资源利用率的高级别资源。这可以通过向所述应用的所述预测低级别资源利用率添加低级别资源的所述当前利用率百分比以及比较所述结果与预先确定的阈值来确定。通过从所述GRV中移除某些高级别资源,为请求所述应用的所述高级别资源的框架创建FSGRV。因此,所述FSGRV包含为所述请求框架/应用定制的全局系统视图。这样,所述CCRM 210使用所述指导信息来替换GRV中的原始资源可用性(例如,存储在所述资源可用性数据库219中),从而使所述GRV适应特定于所述应用和所述特定应用正在其上执行的所述计算节点的FSGRV。然后,可以将所述FSGRV作为系统资源视图243转发至所述框架。
在另一种实施例中,可以通过应用执行过滤功能以生成所述FSGRV的资源指导过滤器217来生成所述每框架系统资源视图243。如上所述,所述指导信息指示因相应低级别资源的预测饱和(例如,因超出阈值)而与应用不兼容的所有高级别资源。所述资源指导过滤器217可以使用以下等式来移除此类不兼容的高级别资源以创建所述FSGRV:
fk(x)=filterk(∑i∈nodesResourcesi),
其中,k表示框架,i表示节点编号。因此,所述FSGRV是通过移除不兼容的高级别资源为所述相应框架过滤的所有节点上的所有可用系统资源的总和。如上所述,所述资源指导过滤器217可以由所述CCRM 210生成,或者可以被卸载到所述相应的框架,用于计算和应用于来自所述资源可用性数据库219的资源信息。
在任一情况下,通过修改所述GRV(例如,存储在所述资源可用性数据库219中),基于监测每个计算节点(例如,核心1、核心2、核心3等)中所述应用的所述NLRM的结果来生成所述FSGRV(例如,所述系统资源视图243),如下文结合图3更详细地示出。适应FSGRV的一个原因是指导所述框架。指导所述框架确保仅在性能瓶颈处于最小值的情况下获取资源。如果不能通过在计算节点中获取附加资源来获得性能,则FSGRV会有意减少可以由框架获取的资源的数量。通过增加对资源获取的限制,FSGRV还包含关于跨各个计算节点的通用瓶颈的信息,以帮助应用调度。
图2中示出了两个作业队列。然而,在实际应用中可能会存在和/或利用不同数目的作业队列。所述作业队列维护排队等候执行但尚未被所述CCRM 210接受的应用。作业队列分为两种类型—批处理作业队列213和服务作业队列211。批处理应用在所述批处理作业队列213中进行维护,在很大程度上是从运行到完成的计算密集型应用。服务应用在所述服务作业队列213中进行维护,是满足请求且一直运行直至请求所述服务的应用。通常,批处理应用的操作周期远远短于服务工作负载。然而,在数据中心中,批处理应用的数目可能更多。服务工作负载使用服务质量(quality of service,简称QoS)保证。因此,面向服务的工作负载的资源要求远远高于批处理工作负载。由于保持QoS对于服务工作负载来说至关重要,因此服务工作负载被赋予由所述CCRM 210接受的更高优先级。服务工作负载还享有关于资源获取的更高优先级。此外,服务工作负载可以在作业提交期间指定最低资源规范(Minimum Resource Specification,简称MRS)。如果可用资源少于位于所述队列最前面的所述服务作业的所述MRS,则所述CCRM 210可停止准许新批批量作业并等待资源可用于所述服务作业。
作为特定示例,所述CCRM 210可以执行如下操作。所述CCRM 210可以操作作业接受模块215,所述作业接受模块215可以是接受或拒绝资源请求的过程和/或电路。所述作业接受模块215可以维护在系统上积极操作的框架212的列表。所述框架212的列表还可以包含与所述框架相关联的应用数据,例如从所述NLRM接收的作为所述资源利用率信息241的一部分的应用利用率数据。所述作业接受模块215可以从多个节点的多个NLRM接收和聚合资源利用率信息241。此类信息存储在所述资源可用性数据库219中。框架可以确定是调度批处理作业还是服务作业。所述框架可以与所述作业接受模块215进行通信以提出此类请求,所述批处理作业或服务作业可以分别存储在所述批处理作业队列213或所述服务队列211中。所述作业接受模块215可以使用来自所述框架212的列表的数据和/或来自所述NLRM的所述资源利用率信息241来生成所述资源指导过滤器217(或用于在所述请求框架上计算的相应资源指导过滤器信息),如上所述。存储在所述资源可用性数据库219中的所述资源指导过滤器217和所述GRV可以传送至所述请求框架。通过应用所述资源指导过滤器217以从所述GRV中屏蔽资源,创建FSGRV作为每框架系统资源视图243。所述FSGRV由所述框架视为资源提议。所述框架可以基于由所述FSGRV提供的视图来调度所述节点上的资源。具体地,所述FSGRV包括所有可用的高级别资源,不包括因实际或潜在低级别资源饱和而与所述框架应用不兼容的所述高级别资源。因此,所述框架可以从所述FSGRV中选择任何高级别资源,经由所述CCRM 210和所述NLRM请求分配此类资源。一旦所述框架调度了足够的资源,所述作业接受模块215就可以接受所述作业并将所述作业从所述相应的队列移至激活状态,以便处理所调度的资源节点。这样,使用来自所述NLRM的细粒度资源信息来生成所述资源指导过滤器217,因此使用系统资源微观管理以免考虑效率较低的资源。所述CCRM 210可以通过控制所述资源可用性数据库219以及通过接受、拒绝和/或延迟作业来针对系统资源执行宏观管理。因此,所述CCRM 210以可扩展方式执行宏观管理,所述NLRM针对相应资源节点中的系统资源执行微观管理。如上所述,此类方案提供了微观管理和宏观管理的优点,而未提供相应的缺点。
图3是一种示例性NLRM 320的示意图300。所述NLRM 320是可用于实现图1中的NLRM 120的示例性资源监视器。所述NLRM 320耦合到至少一个节点331,所述节点331可以基本上类似于节点131。所述节点331可以是数据中心中的计算设备,例如服务器。因此,所述节点331包括硬件资源333。此类资源333包括可以分配给应用的高级别资源,例如计算核心、RAM空间、存储容量、磁盘配额、网络带宽和/或本文描述为粗粒度或高级别资源的任何其它项目。所述资源333还包括描述所述高级别资源的状态的低级别资源。此类低级别资源可以包括CPU管线争用、同时多线程引起的专用缓存争用、单芯片共享缓存污染、单芯片共享缓存容量争用、芯片内进程间一致性流量、芯片间进程间一致性流量、本地DRAM带宽争用、远程存储器带宽争用、芯片间互连争用、网络争用、I/O争用及其任意组合和/或在本文中称为细粒度资源或低级别资源的任何其它资源。
所述NLRM 320监测所述粗粒度或高级别资源333和所述细粒度或低级别资源333的利用率,检测利用率方面的任何饱和或性能瓶颈,推断应用特性,基于这些因素为每个框架生成节点本地指导。然后,将所述节点本地指导转发至CCRM(例如,CCRM 110和/或210)作为所述资源利用率信息341的一部分,所述资源利用率信息341基本上类似于资源利用率信息141和/或241。例如,所述NLRM 320用于当资源333在应用之间共享时在此类资源333之间执行干扰检测,并将此类信息作为节点本地指导提供给所述CCRM。这样,所述节点本地指导可以向所述CCRM指示特定应用的低级别资源利用率彼此干扰,同时指示应重新分配此类应用。
在一个实施例中,所述NLRM 320为所述资源333中的每个计算核心提供性能计数器设置、多路复用、读取和记帐。所述NLRM 320还处理信息整合,评估资源利用率、性能瓶颈和应用特性。具体地,所述NLRM 320通过使用相应的硬件计数器来监测每个资源333的低级别资源使用率。所述NLRM 320基于所述应用的过去低级别资源使用率和采用所述计数器确定的当前低级别资源使用率来为每个应用生成节点本地资源获取指导信息。在一些示例中,所述NLRM 320还可以滤除所述CCRM的高级别资源可用性。例如,当相应的低级别资源利用率高于阈值时,可以将可分配的高级别资源列为已分配。所述NLRM 320使用所述通信层中的通信器321与所述CCRM交互。
例如,所述NLRM 320可以使用FGRA,所述FGRA是一种微基准,用于通过压力测试和分析性能计数器和操作系统统计数据来确定低水平资源的硬件资源333容量和能力基线。因此,所述NLRM 320知道每个所述低级别粒度和高级别资源333的最高操作利用率。将所述适当的基线存储在所述NLRM 320存储器中以供运行时使用。所述NLRM 320使用性能计数器管理327模块来管理、读取和报告来自硬件计数器的数据,所述硬件计数器在应用使用期间测量所述低级别资源333。所述NLRM 320还使用从性能计数器管理327接收所述结果的瓶颈检测325模块。所述瓶颈检测325模块用于比较来自性能计数器管理327的所述数据与所述FGRA基线,以确定所述细粒度资源的利用率百分比。所述瓶颈检测325模块可以使用所述比较结果来检测细粒度资源瓶颈和资源333饱和。因此,所述瓶颈检测325模块能够确定何时向应用添加附加高级别资源333才不会因与所述低级别资源的冲突而提供益处。
所述NLRM 320还可以包括系统资源表征329模块。系统资源表征329可以从瓶颈检测325和/或性能计数器管理327接收数据。这允许所述系统资源表征329模块表征各种应用的所述典型资源333使用率。例如,所述系统资源表征329模块可以使用人工智能原理来观察应用并创建描述所述应用的典型低级别资源333使用率的配置文件。作为特定示例,所述系统资源表征329模块可以确定应用是重度I/O用户、重度缓冲用户等。因此,所述系统资源表征329模块可以确定典型低级别资源333使用模式。此类模式可以用于确定特定应用是否兼容以共享同一机器上的资源333。此类模式也可以用于为应用创建预测低级别资源333利用率,这可以与由所述资源上的所述系统计数器所测量的所述高级别资源相关联的当前低级别资源利用率进行比较。此类比较的结果可以用于确定因当前低级别资源使用率而与特定应用不兼容的高级别资源333。
所述NLRM 320还包括节点本地决策323模块。节点本地决策323从瓶颈检测325、系统资源表征329和/或性能计数器管理327接收数据。所述节点本地决策323模块使用此类信息来微观管理所述节点331的所述资源333。例如,节点本地决策323可以创建节点本地指导信息以供所述CCRM使用。所述节点本地指导信息可以指示特定细粒度资源饱和或支持更高利用率。所述节点本地指导信息还可以包括应用特性,因此可以指示特定应用的兼容性(或兼容性不足)。因此,所述节点本地指导信息可以由所述CCRM用于创建过滤器,以从特定框架/应用的系统资源视图中移除特定资源333。所述NLRM 320还管理粗粒度资源333分配,因此经由所述通信器321将节点本地指导信息、细粒度/粗粒度资源利用率和/或应用特性作为资源利用率信息341发送至所述CCRM。所述通信器321可以是能够在所述CCRM与所述NLRM320之间转发信息的任何通信设备(例如,网卡)。
因此,所述NLRM 320通过使用硬件计数器随时间测量应用的低级别资源来执行复杂资源记帐。这允许所述NLRM预测每个应用的低级别资源利用率,确定预期的和/或当前性能瓶颈,确定应用资源使用特性。资源利用率反映每种类型资源的实际使用率。资源利用率包括在获取期间使用的高级别资源(例如,CPU、存储器、磁盘、网络等)和对性能至关重要的较低级别资源(例如,管线占用率、缓存容量、缓存命中率、非均匀存储器访问等)。虽然应用仅获取高级别资源,但所述低级别资源决定实际性能。NLRM 320通过使用硬件性能计数器来监测所述低级别资源。硬件性能计数器在处理器上可用并且具有较低开销。然而,硬件性能计数器在数量上非常有限,可以仅监测特性的子集。
NLRM 320通过使用所述性能计数器管理327模块来使用硬件性能计数器的自定义设计时间多路复用。然后,使用附加系统来得出统计数据,例如缓存未命中率、最后一级缓存占用率、一致性流量等。这些得出的统计数据构成所述低级别资源,在每个应用的基础上显示所述系统中的实际资源利用率,显示低级别资源利用率的当前百分比。
如上所述,所述NLRM 320还使用专门的应力基准来离线表征硬件。通过使用这些离线测量,可以针对低级别资源333能力评估异构硬件。离线能力和在线测量用于检测瓶颈检测325处的性能瓶颈。由于所述NLRM 320知道资源利用率和性能瓶颈,因此所述NLRM 320可以提取在所述本地节点331上执行的每个应用的应用特性信息。所述应用特性包括所述应用最常使用的资源(高级别资源和低级别资源)的计数、所述应用的低效(例如,低缓存命中率、高远程存储器访问、高一致性流量等)、性能瓶颈(例如,饱和存储器带宽、高缓存占用率等)和干扰源(例如,竞争所述应用所需的相同类型资源的其它应用)。
应用特性用于生成资源获取指导。控制可用于获取的核心的数目是控制应用的最有力方式。更灵活的控制措施是控制可用RAM大小、可用磁盘空间等。通过限制每个套接字上的核心可用性,附加指导工作可以帮助在机器内的多个套接字上分布负载,具体取决于每个套接字上的资源利用率。如果需要,还可以促使严重干扰批处理应用减少在给定节点331上执行,以为面向服务的工作负载留出附加空间。NLRM 320针对每个应用将应用特性和资源获取指导发送至所述CCRM。然后,在所述CCRM中合并该信息并将该信息与所述GRV组合在一起,以生成FSGRV,所述FSGRV最终决定每个框架的资源可用性。
图4A是一实施例提供的由所述NLRM(例如,NLRM 120和/或320)实现的资源管理方法400。例如,方法400可以由NLRM用来基于关于节点131和/或331上的资源333的信息来生成CCRM 110和/或210的资源利用率信息141、241和/或341。
在方框402,所述NLRM处的资源监视器/管理器监测节点上的细粒度资源和粗粒度资源的利用率。如上所述,粗粒度资源包括可直接分配给应用的资源,例如多个计算核心、RAM空间、存储容量、磁盘配额及其组合和/或在本文中称为粗粒度资源或高级别资源的任何其它资源。同时,细粒度资源包括所述粗粒度资源和/或无法直接分配给过程的任何计算资源的状态信息,例如处理器管线利用率、处理器管线占用率、缓存带宽、缓存命中率、缓存污染、存储器带宽、非均匀存储器访问时延、一致性流量及其任意组合和/或在本文中称为细粒度资源或低级别资源的任何其它资源。
在方框404,所述NLRM处的所述资源监视器/管理器检测所述细粒度资源的利用率方面的任何饱和和/或关于所述细粒度资源的任何瓶颈。饱和包括细粒度资源的利用率超出阈值的情况。此类阈值可以在资源之间变化,可以由管理员设置和/或预定义。例如,当共享缓存(例如,三级缓存)的使用率超出表示为最大容量百分比(例如,百分之六十)的阈值时,可能发生饱和。饱和指示所述粗粒度资源(例如,另一CPU核心)的进一步分配不太可能提高附加处理能力,因为支持所述细粒度资源的可用性不足以充分利用所述粗粒度资源。瓶颈包括现有分配已过度使用细粒度资源并且处理速度减慢的情况,这是因为当前分配的应用由于与共享所述过度使用的细粒度资源相关联的等待时间而减速。瓶颈可以指示应将至少一个相关联的应用移至另一节点,以进一步缓解系统减速。
在方框406,所述NLRM处的所述资源监视器/管理器确定所述粗粒度资源和所述细粒度资源的应用使用特性。确定应用使用特性包括制定相应的应用随时间的细粒度资源使用率的配置文件。此类应用资源使用率可以包括平均细粒度资源使用率、特定时间的细粒度资源使用率和/或任何其它细粒度资源使用模式。可以根据硬件资源计数器来确定所述应用使用特性。在一些示例中,可以在确定应用使用特性期间检测细粒度资源饱和和/或瓶颈。因此,可以在一些示例中组合方框404和406。
在方框408,为在所述系统上操作的一个或多个所述框架(例如,框架101)生成节点本地指导。例如,所述NLRM处的所述资源监视器/管理器可以为每个框架生成节点本地指导,所述框架将在由所述NLRM管理的所述节点上使用分配的细粒度和/或粗粒度资源(例如,以供相应的应用使用)。基于在方框402中确定的所述细粒度资源的所述利用率、在方框404中确定的饱和和/或瓶颈、在方框406中确定的所述应用使用特性和/或其任意组合来生成所述节点本地指导。例如,所述节点本地指导可以包括以下指示,即特定应用因竞争公共细粒度资源而不兼容。又如,所述节点本地指导可以包括因所述相应的应用的细粒度资源使用率而从所述节点移除特定应用的指令。又如,所述节点本地指导信息可以包括在所述节点处测量的应用使用特性、细粒度资源利用率信息、粗粒度资源利用率信息和/或任何其它资源利用率信息。
在方框410,所述NLRM处的通信器将所述节点本地指导信息传送至整个系统的资源管理器。如上所述,所述NLRM微观管理所述节点上的资源,同时资源管理器(例如,CCRM)宏观管理跨所述系统中所有节点的资源。在一些示例中,所述CCRM可以基于所述节点本地指导信息对所述节点上的资源分配进行更改。例如,所述CCRM可以促使应用移至另一节点。在其它示例中,所述CCRM使用所述节点本地指导信息(例如,应用使用特性、细粒度资源利用率信息、粗粒度资源利用率信息、资源利用率信息等)来生成对每个框架的资源指导过滤器。因此,基于所述节点本地指导信息来生成此类过滤器,以指导所述框架的资源请求。如上所述,在一些情况下,所述CCRM将所述资源指导过滤器的计算卸载到所述框架,并因此基于所述节点本地指导信息生成资源指导过滤器信息。这样,当考虑对由所述NLRM管理的所述节点产生影响的应用时,由方法400生成并传送的所述节点本地指导信息用于通知系统范围内的资源分配。
图4B是一实施例提供的在CCRM(例如,CCRM 110和/或210)内实现的资源管理方法450。例如,方法450可以由CCRM用来从NLRM(例如,NLRM 120和/或320)接收资源利用率信息141、241和/或341,确定资源分配和/或提供每框架系统资源视图,例如系统资源视图143和/或243。这样,方法450可以结合方法400用于操作本文描述的系统。
在方框452,所述CCRM从NLRM接收资源利用率信息,例如资源利用率信息141、241和/或341。所述资源利用率信息包括节点本地指导信息、细粒度资源利用率信息、粗粒度资源利用率信息、应用使用特性或其组合。如上所述,所述节点本地指导信息基于所述细粒度资源的利用率,所述细粒度资源包括处理器管线利用率、缓存带宽、缓存命中率、存储器带宽、非均匀存储器访问时延和/或本文公开的任何其它细粒度资源/低级别资源中的至少一个。此外,所述粗粒度资源包括多个计算核心、RAM空间、存储容量、磁盘配额和/或本文公开的其它粗粒度资源/高级别资源中的至少一个。
在方框454,所述CCRM基于所述粗粒度资源维护资源可用性数据库。所述CCRM聚合来自所述NLRM的所述资源利用率信息以维护所述资源可用性数据库。所述资源可用性数据库维护各个节点上的系统范围内的资源分配视图。在一些示例中,应请求向操作应用的框架提供来自所述资源可用性数据库的信息,以支持资源分配。
在方框456,所述CCRM向所述框架提供所述应用使用特性。方框456是可选的。方框456用于允许所述框架确定其自身细粒度和粗粒度资源使用率。这可以允许所述框架操作优化过程和/或执行与所述应用有关的其它资源管理任务。
在方框458,所述CCRM基于所述本地指导信息为所述框架生成资源指导过滤器信息。如上所述,所述本地指导信息包括关于所述节点上的细粒度资源利用率的数据。在一些情况下,当细粒度资源饱和和/或当细粒度资源利用率已导致所述节点上出现瓶颈时,所述CCRM可以使用所述本地指导信息来移动应用。在其它示例中,所述CCRM可以使用所述本地指导信息、应用使用特性和/或细粒度/粗粒度资源利用率来确定哪些应用不应在相同节点上操作。在一些示例中,所述CCRM可以使用此类信息来为每个框架生成资源指导过滤器。然后,可以使用所述资源指导过滤器来屏蔽所述相应的应用/框架中的不兼容资源。在其它示例中,所述CCRM可以替代地编译所述相应框架可以用来生成所述资源指导过滤器的资源指导过滤器信息。该方法允许将与生成所述资源指导过滤器相关联的所述计算开销从所述CCRM卸载到所述框架,这会提高所述CCRM的操作速度并支持所述系统的可扩展性。
在方框460,所述CCRM将所述资源指导过滤器/资源指导过滤器信息以及来自所述资源可用性数据库的信息提供给所述框架。该方法支持在所述框架上生成资源指导过滤器。然后,可以将所述资源指导过滤器应用于所述资源可用性数据库信息,以在确定资源请求时在每框架基础上免于考虑资源节点。因此,所述框架可以生成所述资源可用性数据库信息中指示的资源的资源请求。来自所述框架的所述资源请求由对每个框架的资源指导过滤器指导。这样,所述资源指导过滤器和所述资源可用性数据库信息基于细粒度资源利用率和粗粒度资源利用率提供节点本地资源的每框架系统资源视图。如上所述,来自所述框架的资源请求可以利用惰性更新。在惰性更新场景中,仅在所述CCRM处的框架接收到资源请求时才会更新所述资源可用性数据库。该方法可降低更新次数并因此减少所述CCRM处的计算开销,从而提高所述系统的可扩展性。
图5是本发明一实施例提供的一种资源管理设备500的示意图。如本文所述,所述资源管理设备500适于实现所公开的实施例。例如,所述资源管理设备500可用于实现节点131、NLRM 120和/或320、CCRM 110和/或210和/或数据中心中的任何其它组件。此外,资源管理设备500可用于实现方法400和/或450。
所述资源管理设备500包括:上行端口510、下行端口550和收发单元(Tx/Rx)520,用于接收和发送数据;CPU、逻辑单元或处理器530,用于处理数据;存储器560,用于存储所述数据。所述资源管理设备500还可以包括耦合至所述上行端口510、所述Tx/Rx单元520和所述下行端口550的光电(optical-to-electrical,简称OE)组件和电光(electrical-to-optical,简称EO)组件,用于输出或输入光信号或电信号。
所述处理器530由硬件和软件实现。所述处理器530可用作一个或多个CPU芯片、核心(例如,多核处理器)、现场可编程门阵列(field-programmable gate array,简称FPGA)、专用集成电路(application specific integrated circuit,简称ASIC)和/或数字信号处理器(digital signal processor,简称DSP)予以实现。所述处理器530与所述上行端口510、Tx/Rx单元520、下行端口550和存储器560通信。所述处理器530包括管理模块570。所述管理模块570实现上述公开的实施例。例如,所述管理模块570实现、处理、准备或提供所述CCRM和/或所述NLRM的各种功能。因此,包括所述管理模块570提供对所述资源管理设备500的功能的实质性改进,同时实现所述资源管理设备500到不同状态的转换。可替代地,所述管理模块570实现为存储在所述存储器560中并由所述处理器530执行的指令。
所述存储器560包括一个或多个磁盘、磁带驱动器和固态驱动器,可用作溢出数据存储设备,以存储选择执行这些程序时所用的程序,并存储程序执行时所读取的指令与数据。所述存储器560可以是易失性的和/或非易失性的,可以是只读存储器(read-onlymemory,简称ROM)、RAM、三态内容寻址存储器(ternary content-addressable memory,简称TCAM)和/或静态随机访问存储器(static random-access memory,简称SRAM)。
根据上文应该理解的是,本发明提供了与极佳细粒度资源记帐相结合的粗粒度资源管理、以其它方式桥接不兼容方法的合并步骤以及动态资源分配,使得应用调度器能够最大限度地减小所请求服务级别目标与可用服务级别目标之间的差距。此外,本发明提供了使用硬件性能计数器实现的细粒度资源记帐。使用能够理解资源利用率的硬件感知算法来增强和解释所述细粒度资源记帐。本发明还检测性能瓶颈并推断应用特性。本发明提供了一种基于存在性能瓶颈且满足以下条件的应用特性的导向型资源获取略,所述应用特性能够优化异构硬件调度,同时最大限度地减小应用之间的干扰。
本发明还通过采用高度可扩展且允许透明资源获取机制的乐观共享状态资源视图来提供集群级别资源宏观管理。此外,在为每个应用设置的限制内,所有资源的获取都是免费的。
本发明通过使用导向型优化资源调度来桥接微观管理和宏观管理。微观管理基于每个应用的资源利用率、硬件容量、存在的瓶颈以及其它干扰应用为每个应用生成指导。宏观管理收集多个指导报告,为每个应用形成具有凝聚力的资源获取策略。在一个实施例中,宏观管理使用微观管理输入来限制应用获取损害性能的资源。本发明通过宏观管理提供惰性按需更新以确保可扩展性。导向型调度通过根据框架需求执行的惰性更新实现。这可提高系统的可扩展性,同时使得存在较少被动计算。
本发明还限制应用在资源获取会损害性能的情况下获取资源。在一个实施例中,影响性能的因素与获取/管理的资源(CPU、RAM空间、磁盘配额等)没有直接联系。此外,本发明检测应用特性,以便可以在适当机器中执行未来资源获取。为方便起见,向应用提供多个列表,这些列表基于低级别资源可用性对机器可用性进行分类。
本发明提供了一种独特的混合宏观微观管理系统,能够很好地扩展、保证性能以及最大限度地提高资源利用效率。本发明提供了根据节点本地低级别资源利用率生成的资源获取的指导,以最大限度地提高性能和效率。本发明提供了一种简单的框架-资源管理器接口,而不管非常复杂的低级别资源记帐。
本发明提供了消除资源分片化以及适应波动负载和计算阶段的动态资源分配。本发明提供了惰性按需资源指导以进一步改进缩放。本发明提供了对应用/框架的反馈,以帮助改进调度和代码开发/优化。
为了避免瓶颈和干扰,本发明使用FGRA基于每个应用的资源利用率、硬件容量、存在的瓶颈以及其它干扰应用来为每个应用生成指导。CCRM收集多个指导报告,为每个应用形成具有凝聚力的资源获取策略。CCRM还使用细粒度资源记帐输入来限制应用获取损害性能的资源。
为促进乐观决策,CCRM采用乐观共享状态资源视图来允许并发。每个框架可以利用透明资源获取来执行乐观决策。实际上,CCRM收集FGRA的多个指导报告,为每个应用形成具有凝聚力的资源获取策略。CCRM使用指导来限制应用获取损害性能的资源。优化决策应用过滤来控制资源的可见性,避免瓶颈,以及避免干扰。所述惰性按需更新减少了被动计算并确保了可扩展性。CCRM具有高度可扩展、高效特性,同时具有高吞吐量。本发明提供了对框架的反馈,以帮助改进调度和代码开发/优化。
还包括一种用于资源管理的计算机实现的方法,包括:一种方式,用于:监视细粒度资源的当前利用率,所述细粒度资源与粗粒度资源相关;一种方式,用于:确定随时间的推移,所述细粒度资源对一个应用的应用使用特性;一种方式,用于:基于所述应用使用特性,预测所述应用的预期细粒度资源利用率;一种方式,用于:生成用于请求粗粒度资源的多个框架中的至少一个框架的节点本地指导信息,该节点本地指导是通过将当前应用的细粒度资源与预期的细粒度资源利用率进行比较而生成的;一种方式,用于:将所述节点本地指导信息传送至资源管理器,以分配所述粗粒度资源。
还包括一种计算机实现的资源管理方法,包括:一种方式,用于:接收节点本地指导信息,所述节点本地指导信息包括多个应用的预期细粒度资源利用率、与粗粒度资源对应的当前细粒度资源利用率,以及粗粒度资源分配;一种方式,用于:基于所述粗粒度资源分配来维护资源可用性数据库;一种方式,用于:通过比较所述粗粒度资源的所述当前细粒度资源利用率与所述多个应用的预期细粒度资源利用率来生成与所述多个应用相关联的多个框架的资源指导过滤器信息;一种方式,用于:向所述框架提供所述资源指导过滤器信息和来自所述资源可用性数据库的资源,以支持在粗粒度资源的当前细粒度资源利用率与应用的预期细粒度资源利用率的和超出阈值时,生成资源指导过滤器以屏蔽所述粗粒度资源。
还提供一种用于资源管理的系统,包括:一种方式,用于:基于针对相应粗粒度资源的细粒度资源的当前利用率和基于过去应用细粒度资源使用特性的应用的预测细粒度资源利用率来生成节点本地指导信息;一种方式,用于:通过比较针对所述粗粒度资源的细粒度资源的所述当前利用率与所述应用的所述预测细粒度资源利用率来生成对每个框架的资源指导过滤器信息和维护可分配的粗粒度资源的数据库;一种方式,用于:使用所述对每个框架的资源指导过滤器信息来生成应用到所述可分配的粗粒度资源的资源指导过滤器,以指导对所述中央集群资源管理层的资源请求,以及响应于对所述中央集群资源管理层的所述资源请求,从所述节点本地资源管理层接收粗粒度资源。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文中所给出的细节。例如,各种元件或组件可以在另一系统中组合或整合,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或集成。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式经由某一接口、设备或中间组件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
Claims (20)
1.一种用于资源管理的计算机实现的方法,其特征在于,包括:
监视细粒度资源的当前利用率,所述细粒度资源与粗粒度资源相关;
确定随时间的推移,所述细粒度资源对一个应用的应用使用特性;
基于所述应用使用特性,预测所述应用的预期的细粒度资源利用率;
生成用于请求粗粒度资源的多个框架中的至少一个框架的节点本地指导信息,该节点本地指导是通过将当前应用的细粒度资源与预期的细粒度资源利用率进行比较而生成的;
将所述节点本地指导信息传送至资源管理器,以分配所述粗粒度资源。
2.根据权利要求1所述的计算机实现的方法,其特征在于,将当前应用的细粒度资源与预期的细粒度资源利用率进行比较包括:向所述应用分配所述粗粒度资源时,检测细粒度资源利用率的预期饱和。
3.根据权利要求1所述的计算机实现的方法,其特征在于,所述细粒度资源包括处理器管线利用率、处理器管线占用率、缓存带宽、缓存命中率、缓存污染、存储器带宽、非均匀存储器访问时延和一致性流量中的至少一个。
4.根据权利要求1所述的计算机实现的方法,其特征在于,细粒度资源包括描述任何所述粗粒度资源的运行状态的任何资源。
5.根据权利要求4所述的计算机实现的方法,其特征在于,所述粗粒度资源包括多个计算核心、随机存取存储器(RAM空间、存储容量和磁盘配额中的至少一个。
6.根据权利要求1所述的计算机实现的方法,其特征在于,监测细粒度资源的当前利用率包括:监测硬件计数器,所述硬件计数器用于计算所述粗粒度资源的细粒度资源利用率。
7.根据权利要求1所述的计算机实现的方法,其特征在于,所述资源管理器是中央集群资源管理器CCRM,所述节点本地指导信息被传送至所述CCRM,以支持基于所述节点本地指导信息生成对每个框架的资源指导过滤器,从而指导资源请求。
8.一种计算机实现的资源管理方法,其特征在于,包括:
接收节点本地指导信息,所述节点本地指导信息包括多个应用的预期细粒度资源利用率、与粗粒度资源对应的当前细粒度资源利用率,以及粗粒度资源分配;
基于所述粗粒度资源分配,维护资源可用性数据库;
通过比较所述粗粒度资源的所述当前细粒度资源利用率与所述多个应用的预期细粒度资源利用率,生成与所述多个应用相关联的多个框架的资源指导过滤器信息;
向所述多个框架提供所述资源指导过滤器信息和来自所述资源可用性数据库的资源,以支持在粗粒度资源的当前细粒度资源利用率与应用的预期细粒度资源利用率的和超出阈值时,生成资源指导过滤器以屏蔽所述粗粒度资源。
9.根据权利要求8所述的计算机实现的方法,其特征在于,所述细粒度资源利用率包括处理器管线利用率、缓存带宽、缓存命中率、存储器带宽和非均匀存储器访问时延中的至少一个。
10.根据权利要求8所述的计算机实现的方法,其特征在于,所述粗粒度资源包括多个计算核心、随机存取存储器RAM空间、存储容量和磁盘配额中的至少一个。
11.根据权利要求8所述的计算机实现的方法,其特征在于,对来自所述资源可用性数据库的信息采用所述资源指导过滤器,以提供网络中的多个计算节点的可用粗粒度资源的每个框架的视图。
12.根据权利要求11所述的计算机实现的方法,其特征在于,所述资源请求利用惰性更新,由此仅在从框架接收到资源请求时才会更新所述资源可用性数据库。
13.根据权利要求11所述的计算机实现的方法,其特征在于,所述资源指导过滤器由所述多个框架确定,用于屏蔽资源可用性数据库信息,以便在确定资源请求时不考虑资源节点。
14.根据权利要求11所述的计算机实现的方法,其特征在于,细粒度资源包括描述任何所述粗粒度资源的运行状态的任何资源。
15.一种用于资源管理的系统,其特征在于,包括:
节点本地资源管理器NLRM,用于基于针对相应粗粒度资源的细粒度资源的当前利用率和基于过去应用细粒度资源使用特性的应用的预测细粒度资源利用率来生成节点本地指导信息;中央集群资源管理器CCRM,用于:通过比较针对所述粗粒度资源的细粒度资源的所述当前利用率与所述应用的所述预测细粒度资源利用率来生成对每个框架的资源指导过滤器信息;维护可分配的粗粒度资源的数据库;
应用层,与中央集群资源管理层进行通信,其中所述应用层包括在一个或多个处理器上操作的多个框架,所述框架用于使用所述对每个框架的资源指导过滤器信息来生成应用到所述可分配的粗粒度资源的资源指导过滤器,以指导对所述中央集群资源管理层的资源请求,以及响应于对所述中央集群资源管理层的所述资源请求,从所述节点本地资源管理层接收粗粒度资源。
16.根据权利要求15所述的系统,其特征在于,所述节点本地指导信息还基于细粒度资源的利用率,所述细粒度资源包括由所述NLRM管理的硬件性能计数器测量的处理器管线利用率、缓存带宽、缓存命中率、存储器带宽和非均匀存储器访问时延中的至少一个。
17.根据权利要求15所述的系统,其特征在于,所述粗粒度资源包括多个计算核心、随机存取存储器RAM空间、存储容量和磁盘配额中的至少一个。
18.根据权利要求15所述的系统,其特征在于,所述中央集群资源管理层利用惰性更新,由此仅在从所述应用层接收到资源请求时才会更新资源可用性数据库。
19.根据权利要求15所述的系统,其特征在于,比较针对所述粗粒度资源的细粒度资源的所述当前利用率与所述应用的所述预测细粒度资源利用率包括:向所述应用分配所述粗粒度资源时,检测细粒度资源利用率的预期饱和。
20.根据权利要求15所述的系统,其特征在于,所述资源指导过滤器用于屏蔽来自所述中央集群资源管理层的资源可用性数据库信息,以便在确定资源请求时不考虑资源节点。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762491959P | 2017-04-28 | 2017-04-28 | |
US62/491,959 | 2017-04-28 | ||
US15/960,991 | 2018-04-24 | ||
US15/960,991 US20180316626A1 (en) | 2017-04-28 | 2018-04-24 | Guided Optimistic Resource Scheduling |
PCT/CN2018/084984 WO2018196865A1 (en) | 2017-04-28 | 2018-04-28 | Guided optimistic resource scheduling |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110546612A true CN110546612A (zh) | 2019-12-06 |
CN110546612B CN110546612B (zh) | 2022-04-22 |
Family
ID=63917589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880027007.9A Active CN110546612B (zh) | 2017-04-28 | 2018-04-28 | 一种用于资源管理的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20180316626A1 (zh) |
CN (1) | CN110546612B (zh) |
WO (1) | WO2018196865A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11689474B2 (en) | 2021-07-27 | 2023-06-27 | Beijing Tenafe Electronic Technology Co., Ltd. | Adjustable resource management system |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10736119B2 (en) * | 2017-02-21 | 2020-08-04 | Northwestern University | Radio resource management in large wireless networks |
US10965566B2 (en) * | 2017-11-03 | 2021-03-30 | International Business Machines Corporation | System and method for detecting changes in cloud service up-time |
WO2020103440A1 (en) * | 2018-11-20 | 2020-05-28 | Huawei Technologies Co., Ltd. | Distributed resource management by improving cluster diversity |
US20220222122A1 (en) * | 2021-01-08 | 2022-07-14 | Dell Products L.P. | Model-based resource allocation for an information handling system |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080279200A1 (en) * | 2007-05-10 | 2008-11-13 | Kevin Shatzkamer | User Sensitive Filtering of Network Application Layer Resources |
CN101697141A (zh) * | 2009-10-30 | 2010-04-21 | 清华大学 | 网格中基于历史数据建模的作业性能预测方法 |
CN102156665A (zh) * | 2011-04-13 | 2011-08-17 | 杭州电子科技大学 | 一种虚拟化系统竞争资源差异化服务方法 |
CN102195850A (zh) * | 2010-03-10 | 2011-09-21 | 中国移动通信集团公司 | 一种流媒体业务的处理方法和系统 |
CN102707951A (zh) * | 2012-04-28 | 2012-10-03 | 浪潮电子信息产业股份有限公司 | 一种异构平台上高可用系统的设计方法 |
US8386540B1 (en) * | 2008-03-31 | 2013-02-26 | Amazon Technologies, Inc. | Scalable relational database service |
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
CN103150215A (zh) * | 2013-02-04 | 2013-06-12 | 浙江大学 | 虚拟环境下细粒度的cpu资源使用预测方法 |
US20130185433A1 (en) * | 2012-01-13 | 2013-07-18 | Accenture Global Services Limited | Performance interference model for managing consolidated workloads in qos-aware clouds |
US20140137082A1 (en) * | 2012-11-09 | 2014-05-15 | Coherent Logix, Incorporated | Real Time Analysis and Control for a Multiprocessor System |
CN104468212A (zh) * | 2014-12-03 | 2015-03-25 | 中国科学院计算技术研究所 | 一种云计算数据中心网络智能联动配置方法及系统 |
US20150085663A1 (en) * | 2013-09-23 | 2015-03-26 | Oracle International Corporation | Methods, systems, and computer readable media for diameter load and overload information and virtualization |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102096461B (zh) * | 2011-01-13 | 2013-06-19 | 浙江大学 | 基于虚拟机迁移和负载感知整合的云数据中心节能方法 |
CN102654841A (zh) * | 2011-03-02 | 2012-09-05 | 中国电信股份有限公司 | 细粒度分配虚拟机计算资源的方法和设备 |
US8978030B2 (en) * | 2011-04-07 | 2015-03-10 | Infosys Limited | Elastic provisioning of resources via distributed virtualization |
-
2018
- 2018-04-24 US US15/960,991 patent/US20180316626A1/en not_active Abandoned
- 2018-04-28 CN CN201880027007.9A patent/CN110546612B/zh active Active
- 2018-04-28 WO PCT/CN2018/084984 patent/WO2018196865A1/en active Application Filing
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080279200A1 (en) * | 2007-05-10 | 2008-11-13 | Kevin Shatzkamer | User Sensitive Filtering of Network Application Layer Resources |
US8386540B1 (en) * | 2008-03-31 | 2013-02-26 | Amazon Technologies, Inc. | Scalable relational database service |
CN101697141A (zh) * | 2009-10-30 | 2010-04-21 | 清华大学 | 网格中基于历史数据建模的作业性能预测方法 |
CN102195850A (zh) * | 2010-03-10 | 2011-09-21 | 中国移动通信集团公司 | 一种流媒体业务的处理方法和系统 |
CN102156665A (zh) * | 2011-04-13 | 2011-08-17 | 杭州电子科技大学 | 一种虚拟化系统竞争资源差异化服务方法 |
US20130185433A1 (en) * | 2012-01-13 | 2013-07-18 | Accenture Global Services Limited | Performance interference model for managing consolidated workloads in qos-aware clouds |
CN102707951A (zh) * | 2012-04-28 | 2012-10-03 | 浪潮电子信息产业股份有限公司 | 一种异构平台上高可用系统的设计方法 |
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
US20140137082A1 (en) * | 2012-11-09 | 2014-05-15 | Coherent Logix, Incorporated | Real Time Analysis and Control for a Multiprocessor System |
CN103150215A (zh) * | 2013-02-04 | 2013-06-12 | 浙江大学 | 虚拟环境下细粒度的cpu资源使用预测方法 |
US20150085663A1 (en) * | 2013-09-23 | 2015-03-26 | Oracle International Corporation | Methods, systems, and computer readable media for diameter load and overload information and virtualization |
CN104468212A (zh) * | 2014-12-03 | 2015-03-25 | 中国科学院计算技术研究所 | 一种云计算数据中心网络智能联动配置方法及系统 |
Non-Patent Citations (3)
Title |
---|
ALAN MESSER等: "Towards a distributed platform for resource-constrained devices", 《PROCEEDINGS 22ND INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS》 * |
宋钰等: "基于网格计算的资源调度研究", 《电脑学习》 * |
陈为等: "面向粗粒度网格应用的分组调度算法", 《华中科技大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11689474B2 (en) | 2021-07-27 | 2023-06-27 | Beijing Tenafe Electronic Technology Co., Ltd. | Adjustable resource management system |
TWI809968B (zh) * | 2021-07-27 | 2023-07-21 | 北京特納飛電子技術有限公司 | 可調整資源管理系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018196865A1 (en) | 2018-11-01 |
CN110546612B (zh) | 2022-04-22 |
US20180316626A1 (en) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110546612B (zh) | 一种用于资源管理的方法和系统 | |
US9632836B2 (en) | Scheduling applications in a clustered computer system | |
Wang et al. | Efficient and fair multi-programming in GPUs via effective bandwidth management | |
US11206193B2 (en) | Method and system for provisioning resources in cloud computing | |
Zhang et al. | Laius: Towards latency awareness and improved utilization of spatial multitasking accelerators in datacenters | |
JP2006048680A (ja) | 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法 | |
US20220195434A1 (en) | Oversubscription scheduling | |
WO2014155200A2 (en) | Systems and methods for self-adaptive distributed systems | |
Song et al. | A two-stage approach for task and resource management in multimedia cloud environment | |
KR101553650B1 (ko) | 멀티코어 시스템에서의 로드 밸런싱 장치 및 방법 | |
JP5616523B2 (ja) | 情報処理システム | |
JP6252140B2 (ja) | タスク割り付けプログラム及びタスク割り付け方法 | |
KR101695013B1 (ko) | 적응형 자원 할당 및 관리 방법 | |
CN110914805A (zh) | 用于分层任务调度的计算系统 | |
Lin et al. | Coordinated CTA combination and bandwidth partitioning for GPU concurrent kernel execution | |
Hower et al. | Pabst: Proportionally allocated bandwidth at the source and target | |
Cheng et al. | Dynamic resource provisioning for iterative workloads on Apache Spark | |
Yao et al. | OpERA: opportunistic and efficient resource allocation in Hadoop YARN by harnessing idle resources | |
Yang et al. | Elastic executor provisioning for iterative workloads on apache spark | |
Yeung et al. | Horus: An interference-aware resource manager for deep learning systems | |
Liu et al. | Mind the gap: Broken promises of CPU reservations in containerized multi-tenant clouds | |
Muthuvelu et al. | An adaptive and parameterized job grouping algorithm for scheduling grid jobs | |
US11677681B1 (en) | Intelligent allocation of resources in a computing system | |
Kundan et al. | Priority-aware scheduling under shared-resource contention on chip multicore processors | |
Qouneh et al. | Optimization of resource allocation and energy efficiency in heterogeneous cloud data centers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |