一种资源管理方法及装置的制造方法

xiaoxiao2021-3-1  213

一种资源管理方法及装置的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,具体涉及一种资源管理方法及装置。
【背景技术】
[0002]随着大数据和云计算时代的来临,数据中心等概念越来越被人所熟知。目前,最大的数据中心由超过十万台的物理节点组成,功耗超过20兆瓦已经非常普遍,预期不久的将来会达到200兆瓦,正在逼近数据中心供电的极限。然而,当前数据中心也同时面临着资源使用率不高的问题。例如,许多大的云计算基础设施提供商,其数据中心中CPU和内存资源使用率都低于40%,就单个节点(物理机)来说,大部分的物理机资源使用率都低于50%。因此,在硬件成本不断提高的背景下,如何有效的将数据中心中的应用进行整合,提高资源使用率,具有重要的现实意义。
[0003]在主流云计算提供商如亚马逊、Google的大力推动下,越来越多的应用提供商将他们的应用迁徙到数据中心云平台上,利用数据中心的规模效应降低应用部署成本。一般来说,数据中心应用可以分为两种类型:
[0004]服务类应用:此类应用如搜索引擎(Search Engine)、社交网络(Social Network)和电子商务(E-commerce)等往往提供在线服务,用户对请求延迟十分敏感,请求的执行时间稍有延迟就会造成大量的用户流失和经济损失。
[0005]分析类应用:此类应用如Hadoop上排序、kneans等对任务处理时间不敏感,其性能往往用吞吐量(单位时间处理的任务数)来衡量。
[0006]在当前的数据中心中,往往基于虚拟化技术将多个应用整合在同一个节点上。如图1所示,数据中心包含η个节点,每个节点上均运行有服务类应用和分析类应用,这种数据中心运行的服务类应用通常有如下特征:
[0007](1)大规模、高并发:现代数据中心中的每个服务类应用,往往部署在多个服务器上,而一个请求,也会被切分为多个子任务在这些服务器上并发执行。因此,请求的响应时间,取决于反应最慢的服务器,称为瓶颈服务器。
[0008](2)客户端用户请求变化:客户端用户请求量会周期性变化,例如搜索引擎,白天访问量大而晚上访问量小,工作日访问量大而周末访问量小;另外,客户端用户请求量也会因为一些事件而变化,例如电子商务,访问量会因为促销活动而在一段时间内突然变大,从而导致对节点资源的使用情况发生变化。
[0009](3)服务器端资源使用状况变化:服务器端会周期性的有一些更新和维护的活动,从而影响其资源使用状况。例如,搜索引擎会定期更新服务器端的索引文件,在更新的过程中需要占用较多的CPU资源。
[0010]另外,在这种数据中心运行的分析类应用通常有如下特征:
[0011](1)资源需求的多样性:例如Hadoop上的分析类应用,有高CPU计算资源需求的分析类应用如K-means,也有高1/0资源需求的分析类应用如排序算法。
[0012](2)资源间的共享、竞争、干扰:当将这些应用混合部署在同一个节点上时,不同的应用间会共享、竞争资源,导致应用性能下降。虽然当前的虚拟机技术如Xen、Rainforest可以通过不同的操作系统实例,将CPU和内存资源进行隔离,但是对于微体系结构层的资源例如Cache、TLB、网络带宽、磁盘带宽,应用仍然会竞争资源。进一步,根据应用特性的不同,会竞争不同的微体系结构层的资源。例如,CPU密集型的k-means应用主要竞争CPU相关微体系结构资源如Cache和TLB ;I/O密集型的排序应用主要竞争I/O相关微体系结构资源如网络和磁盘带宽。因此k-means和排序应用等分析类应用会对在同一个节点上并行运行的服务类应用造成不同的干扰。
[0013]综上所述,如何考虑不同应用的特征,以及它们在微体系结构层对不同资源的竞争,是进行合理的资源调度和管理的关键问题。
[0014]现有的基于干扰意识的资源管理,是在应用运行前,分析共存于同一个节点上的服务类应用和分析类应用之间的相互干扰,从而避免将干扰大的分析类应用与服务类应用放在同一个节点上。
[0015]例如文章“Bubble-Up:1ncreasing Utilizat1n in Modern Warehouse ScaleComputers via Sensible Co-locat1ns”,提出了一种性能干扰预测方法,具体如下:
[0016]首先,针对一个延迟敏感的服务类应用,从LLC和内存带宽的角度,来度量在不同的负载压力下应用的性能;然后,选取一个分析类应用,解析它在运行时对资源的竞争和干扰;通过前两步的分析,预测该分析类应用,对并行的服务类应用性能的影响。最后将对服务类应用性能干扰影响较小的分析类应用与服务类应用整合到同一个节点。
[0017]这种方法仅仅在应用运行前,通过静态资源管理的方式来避免对服务类应用造成严重的干扰,没有考虑服务类应用负载的动态性,无法保证运行过程中服务类应用的QoS,往往导致资源利用率低,用户体验差。因此,有必要提供一种新的资源管理方法解决上述问题。

【发明内容】

[0018]有鉴于此,本发明提供了一种资源管理方法及装置,能够保证服务类应用的QoS,提高资源的利用率。
[0019]第一方面,本发明实施例提供的资源管理方法应用于资源管理系统,所述资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用,所述方法包括:
[0020]检测所述服务类应用的服务质量QoS是否满足QoS阈值;
[0021]若不满足,则在所述资源管理系统中检测所述服务类应用的瓶颈节点,所述瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点;
[0022]确定所述服务类应用的待补充资源;
[0023]在所述瓶颈节点中查找对所述服务类应用在所述待补充资源上干扰度最大的分析类应用,将查找到的对所述服务类应用在所述待补充资源上干扰度最大的分析类应用占用的所述待补充资源分配给所述服务类应用,以使得所述服务类应用的QoS满足所述QoS阈值。
[0024]结合第一方面,在第一方面的第一种实施方式中,所述方法还包括:
[0025]检测运行在各个物理节点上的所述服务类应用是否有空闲资源;
[0026]若任意一个物理节点上运行的所述服务类应用有空闲资源,则在所述物理节点上查找对所述服务类应用在所述空闲资源上干扰度最小的分析类应用,在保证所述服务类应用的QoS满足所述QoS阈值的前提下,将所述空闲资源分配给对所述服务类应用在所述空闲资源上干扰度最小的分析类应用。
[0027]结合第一方面的第一种实施方式,在第一方面的第二种实施方式中,在检测所述服务类应用的服务质量QoS是否满足QoS阈值之前,所述方法还包括:
[0028]检测每个物理节点上的每个分析类应用对所述服务类应用在每类资源上的干扰度,每个分析类应用对所述服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的所述服务类应用的响应时间变化值。
[0029]结合第一方面的第二种实施方式,在第一方面的第三种实施方式中,所述每类资源包括中央处理器CPU资源和输入/输出I/O资源;
[0030]所述确定所述服务类应用的待补充资源具体为:
[0031]检测所述服务类应用的CPU资源和I/O资源的利用率是否大于预设阈值,若所述服务类应用的CPU资源和/或I/O资源的利用率大于所述预设阈值,则确定所述CPU资源和/或I/o资源为所述待补充资源。
[0032]结合第一方面的第二种实施方式,在第一方面的第四种实施方式中,所述每类资源包括中央处理器CPU资源和输入/输出I/O资源;
[0033]所述检测运行在各个物理节点上的所述服务类应用是否有空闲资源具体为:
[0034]检测各个物理节点上的所述服务类应用的CPU资源和I/O资源的利用率是否小于或等于所述预设阈值,若所述服务类应用的CPU资源和/或I/O资源的利用率小于或等于所述预设阈值,则确定所述CPU资源和/或I/O资源为所述空闲资源。
[0035]第二方面,本发明实施例提供了一种源管理装置,所述资源管理装置应用于资源管理系统,所述资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用,所述装置包括:
[0036]第一检测单元,用于检测所述服务类应用的服务质量QoS是否满足QoS阈值;
[0037]第二检测单元,用于在所述服务类应用的QoS不满足所述QoS阈值时,在所述资源管理系统中检测所述服务类应用的瓶颈节点,所述瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点;
[0038]确定单元,用于确定所述服务类应用的待补充资源;
[0039]第一调整单元,用于在所述瓶颈节点中查找对所述服务类应用在所述待补充资源上干扰度最大的分析类应用,将查找到的对所述服务类应用在所述待补充资源上干扰度最大的分析类应用占用的所述待补充资源分配给所述服务类应用,以使得所述服务类应用的QoS满足所述QoS阈值。
[0040]结合第二方面,在第二方面的第一种实施方式中,所述装置还包括:
[0041]第三检测单元,用于检测运行在各个物理节点上的所述服务类应用是否有空闲资源;
[0042]第二调整单元,用于在任意一个物理节点上运行的所述服务类应用有空闲资源时,在所述物理节点上查找对所述服务类应用在所述空闲资源上干扰度最小的分析类应用,在保证所述服务类应用的QoS满足所述QoS阈值的前提下,将所述空闲资源分配给对所述服务类应用在所述空闲资源上干扰度最小的分析类应用。
[0043]结合第二方面的第一种实施方式,在第二方面的第二种实施方式中,所述装置还包括:
[0044]第四检测单元,用于在所述第一检测单元检测所述服务类应用的QoS是否满足QoS阈值之前,检测每个物理节点上的每个分析类应用 对所述服务类应用在每类资源上的干扰度,每个分析类应用对所述服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的所述服务类应用的响应时间变化值。
[0045]结合第二方面的第二种实施方式,在第二方面的第三种实施方式中,所述每类资源包括中央处理器CPU资源和输入/输出I/O资源;
[0046]所述确定单元包括:
[0047]第一检测子单元,用于检测所述服务类应用的CPU资源和I/O资源的利用率是否大于预设阈值;
[0048]第一确定子单元,用于当所述服务类应用的CPU资源和/或I/O资源的利用率大于所述预设阈值时,确定所述CPU资源和/或I/O资源为所述待补充资源。
[0049]结合第二方面的第二种实施方式,在第二方面的第四种实施方式中,所述每类资源包括中央处理器CPU资源和输入/输出I/O资源;
[0050]所述第三检测单元包括:
[0051]第二检测子元,用于检测各个物理节点上的所述服务类应用的CPU资源和I/O资源的利用率是否小于或等于所述预设阈值;
[0052]第二确定子单元,用于当所述服务类应用的CPU资源和/或I/O资源的利用率小于或等于所述预设阈值时,确定所述CPU资源和/或I/O资源为所述空闲资源。
[0053]从以上技术方案可以看出,本发明实施例具有以下优点:
[0054]本发明实施例中,在应用运行的过程中,会检测服务类应用的QoS是否满足QoS阈值,若不满足,则在确定瓶颈节点及待补充资源后,在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。本发明实施例中,在应用运行的过程中,基于干扰度对资源进行调整,能够保证服务类应用的QoS,提高资源的利用率,提升用户体验。
【附图说明】
[0055]为了更清楚地说明现有技术及本发明实施例的技术方案,下面将对现有技术及本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
[0056]图1是现有技术中数据中心的一个示意图;
[0057]图2是本发明资源管理方法的一个实施例示意图;
[0058]图3是本发明资源管理方法的另一实施例示意图;
[0059]图4是本发明资源管理装置一个实施例示意图;
[0060]图5是本发明资源管理装置的另一实施例示意图;
[0061]图6是本发明资源管理装置的另一实施例示意图。
【具体实施方式】
[0062]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0063]本发明公开的资源管理方法应用于资源管理系统,资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用。
[0064]如图2所示,本发明提供的资源管理方法的一个实施例包括:
[0065]201、检测服务类应用的服务质量QoS是否满足QoS阈值;
[0066]具体实现中,QoS阈值可根据实际需要预先设定,服务类应用分别运行在多个物理节点上,在服务类应用运行的过程中,可实时检测每个物理节点上运行的服务类应用的QoS是否满足QoS阈值。
[0067]202、在服务类应用的服务质量QoS不满足QoS阈值时,在资源管理系统中检测服务类应用的瓶颈节点;
[0068]瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点。例如,物理节点A、B、C上分别运行有服务类应用,现针对物理节点A、B、C上运行的服务类应用分别发送相同的请求,统计每个物理节点上的服务类应用的针对该请求的响应时间,响应时间最长的服务类应用所在的物理节点即为瓶颈节点。
[0069]203、确定服务类应用的待补充资源;
[0070]具体实现中,待补充资源包括CPU资源和/或1/0资源,由于待补充资源的缺乏,导致了服务类应用的QoS不满足QoS阈值。
[0071]204、在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。
[0072]本实施例中,在应用运行的过程中,会检测服务类应用的QoS是否满足QoS阈值,若不满足,则在确定瓶颈节点及待补充资源后,在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。本发明实施例中,在应用运行的过程中,基于干扰度对资源进行调整,能够保证服务类应用的QoS,提高资源的利用率,提升用户体验。
[0073]为便于理解,下面以一具体实施例对本发明的资源管理方法进行描述,请参阅图3,本发明资源管理方法另一实施例包括:
[0074]301、检测每个物理节点上的每个分析类应用对服务类应用在每类资源上的干扰度;
[0075]具体实现中,上述每类资源包括CPU资源和1/0资源,CPU资源例如缓存Cache、旁路转换缓冲(Translat1n Lookaside Buffer, TLB)等,CPU资源可用每一时钟脉冲周期可执行的指令(Instruct1n Per Cycle, IPC)来衡量;I/0资源例如网络、磁盘带宽等,1/0资源可用读/写速率来衡量。
[0076]每个分析类应用对服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的服务类应用的响应时间变化值。例如,针对分析类应用,减少或增加其1个CPU核数或减少其1GB内存,所造成服务类应用的响应时间变化值,该响应时间变化值越大,说明该分析类应用对服务类应用在该类资源的干扰度越大。
[0077]每个分析类应用对服务类应用在每类资源上的干扰度可在应用运行前统一检测,然后在应用运行的过程中,根据收集的分析类应用的各类资源的变化情况及对应的服务类应用的响应时间变化值来重新计算,然后根据重新计算所得的干扰度对原始计算得到的干扰度进行更新。为了减小计算更新干扰度产生的开销,计算更新活动可以选择物理节点空闲时间进行,同时使用增量式的更新方法。
[0078]302、检测服务类应用的服务质量QoS是否满足QoS阈值;
[0079]具体实现中,QoS阈值可根据实际需要预先设定,服务类应用分别运行在多个物理节点上,在服务类应用运行的过程中,可实时检测每个物理节点上运行的服务类应用的QoS是否满足QoS阈值。
[0080]303、在服务类应用的服务质量QoS不满足QoS阈值时,在资源管理系统中检测服务类应用的瓶颈节点;
[0081]瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点。
[0082]304、确定服务类应用的待补充资源;
[0083]具体实现中,可检测服务类应用的CPU资源和1/0资源的利用率是否大于预设阈值,若服务类应用的CPU资源和/或1/0资源的利用率大于预设阈值,则确定CPU资源和/或I/o资源为待补充资源。
[0084]305、在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值;
[0085]306、检测运行在各个物理节点上的服务类应用是否有空闲资源;
[0086]具体实现中,可检测各个物理节点上的服务类应用的CPU资源和1/0资源的利用率是否小于或等于预设阈值,若服务类应用的CPU资源和/或1/0资源的利用率小于或等于预设阈值,则确定CPU资源和/或1/0资源为空闲资源。
[0087]307、当任意一个物理节点上运行的服务类应用有空闲资源,则在物理节点上查找对服务类应用在空闲资源上干扰度最小的分析类应用,在保证服务类应用的QoS满足QoS阈值的前提下,将空闲资源分配给对服务类应用在空闲资源上干扰度最小的分析类应用。
[0088]为进一步理解本实施例的资源管理方法,下面举例进行说明。
[0089]例如,在一个资源管理系统中有100个物理节点,每个物理节点上运行有一类服务类应用,例如搜索引擎;以及三类分析类应用,例如k-means、排序、查询,其中k-means属于CPU密集型应用,排序属于1/0密集型应用,而查询的资源需求介于k-means和排序之间。
[0090]利用本实施例提供的方法,即可先计算每个物理节点上的k-means、排序、查询这三类分析类应用对搜索引擎这类服务类应用分别在CPU资源及1/0资源上的干扰度。计算结果应该是k-means对搜索引擎在CPU资源上的干扰度最大,排序对搜索引擎在1/0资源上的干扰度最大。
[0091]在应用运行的过程中,检测搜索引擎的QoS是否满足QoS阈值,若检测到搜索引擎的QoS不满足QoS阈值,则检测搜索引擎的瓶颈节点,假设检测到物理节点1为搜索引擎的瓶颈节点,且检测到搜索引擎的I/O资源及CPU资源的利用率均大于预设阈值,则确定I/O资源及CPU资源为物理节点1上的搜索引擎的待补充资源;而物理节点1上的排序应用属于I/O密集型应用,对搜索引擎在I/O资源上的干扰度最大,因此,可先减少排序应用所占用的1个单位的I/O资源并调整至搜索引擎,然后再减少k-means所占用的1个单位的CPU资源并调整至搜索引擎,如此循环,直至搜索引 擎的QoS满足QoS阈值。
[0092]当搜索引擎的QoS满足QoS阈值之后,随着应用运行过程中搜索引擎负载的变化,搜索引擎可能会出现一些空闲资源。因此,可在搜索引擎的QoS满足QoS阈值之后,检测运行在各个物理节点上的搜索引擎是否有空闲资源,假如检测到物理节点2上运行的搜索引擎上有空闲资源,且根据资源利用率的检测发现空闲资源为I/O资源,则减少物理节点2上的搜索引擎所占用的1个单位的I/O资源,并将此I/O资源调整至物理节点2上对搜索引擎在I/O资源上的干扰度最小的分析类应用k-means应用,如此循环,直至再调整将导致搜索引擎的QoS不满足QoS阈值。这样充分利用了服务类应用的空闲资源,提高了分析类应用的性能,从而提高了系统的整体性能。另外,本实施例中,每次对CPU和/或I/O资源的调整都是以1个单位为粒度逐步调整的,调整粒度较细,能够进一步减小资源的开销,提高系统资源利用率。
[0093]另外,需要说明的是,本实施例中,在应用部署时,可以依据本实施例提到的干扰度计算方法计算分析类应用对服务类应用在每类资源上的干扰度,从而避免将对服务类应用干扰大的分析类应用与服务类应用部署在同一物理节点上;同时在虚拟机迁移的过程中,还可以依据前面计算得到的干扰度,将对服务类应用干扰小的分析类应用的虚拟机迁移过来,从而优化整个系统的资源整合。
[0094]本实施例中,在应用运行的过程中,会检测服务类应用的QoS是否满足QoS阈值,若不满足,则在确定瓶颈节点及待补充资源后,在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值,然后会继续检测服务类应用是否有空闲资源,如有,则将服务类应用的空闲资源调整至对服务类应用在空闲资源上的干扰度最小的分析类应用。本实施例中,在应用运行的过程中,基于干扰度对资源进行调整,能够保证服务类应用的QoS,且能提升分析类应用的性能,提高了系统资源利用率,从而提高了系统的整体性能。
[0095]下面介绍本发明实施例提供的资源管理装置,本发明实施例提供的资源管理装置应用于资源管理系统,资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用,请参阅图4,本实施例的资源管理装置400包括:
[0096]第一检测单元401,用于检测服务类应用的服务质量QoS是否满足QoS阈值;
[0097]第二检测单元402,用于在服务类应用的QoS不满足QoS阈值时,在资源管理系统中检测服务类应用的瓶颈节点,瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点;
[0098]确定单元403,用于确定服务类应用的待补充资源;
[0099]第一调整单元404,用于在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。
[0100]本实施例中,在应用运行的过程中,第一检测单元会检测服务类应用的QoS是否满足QoS阈值,若不满足,则在第二检测单元检测到瓶颈节点及确定单元确定待补充资源后,第一调整单元在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。本发明实施例中,在应用运行的过程中,第一调整单元基于干扰度对资源进行调整,能够保证服务类应用的QoS,提高资源的利用率。
[0101]为便于理解,下面以一具体实施例对本发明的资源管理装置进行描述,请参阅图5,本发明资源管理装置500包括:
[0102]第四检测单元501,用于在检测每个物理节点上的每个分析类应用对服务类应用在每类资源上的干扰度,每个分析类应用对服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的服务类应用的响应时间变化值;
[0103]第一检测单元502,用于检测服务类应用的服务质量QoS是否满足QoS阈值;
[0104]第二检测单元503,用于在服务类应用的QoS不满足QoS阈值时,在资源管理系统中检测服务类应用的瓶颈节点,瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点;
[0105]确定单元504,用于确定服务类应用的待补充资源;
[0106]第一调整单元505,用于在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值;
[0107]第三检测单元506,用于检测运行在各个物理节点上的服务类应用是否有空闲资源;
[0108]第二调整单元507,用于在任意一个物理节点上运行的服务类应用有空闲资源时,在所述物理节点上查找对服务类应用在空闲资源上干扰度最小的分析类应用,在保证服务类应用的QoS满足QoS阈值的前提下,将空闲资源分配给对服务类应用在空闲资源上干扰度最小的分析类应用。
[0109]其中,所述每类资源包括CPU资源和1/0资源,确定单元504包括第一检测子单元5041及第一确定子单元5042,具体地:
[0110]第一检测子单元5041用于,检测服务类应用的CPU资源和1/0资源的利用率是否大于预设阈值;
[0111]第一确定子单元5042用于,当服务类应用的CPU资源和/或1/0资源的利用率大于预设阈值时,确定CPU资源和/或1/0资源为待补充资源。
[0112]其中,第三检测单元506包括第二检测子元5061及第二确定子单元5062,具体地:
[0113]第二检测子元5061用于,检测各个物理节点上的服务类应用的CPU资源和1/0资源的利用率是否小于或等于预设阈值;
[0114]第二确定子单元5062用于,当服务类应用的CPU资源和/或1/0资源的利用率小于或等于预设阈值时,确定CPU资源和/或1/0资源为空闲资源。
[0115]为便于理解,下面以一具体实施例说明资源管理装置500内的各个单元之间的交互过程,具体如下:
[0116]首先,第四检测单元501检测每个物理节点上的每个分析类应用对服务类应用在每类资源上的干扰度。具体实现中,上述每类资源包括CPU资源和I/O资源,CPU资源例如缓存Cache、旁路转换缓冲(Translat1n Lookaside Buffer, TLB)等,CPU资源可用每一时钟脉冲周期可执行的指令(Instruct1n Per Cycle, IPC)来衡量;I/0资源例如网络、磁盘带宽等,I/O资源可用读/写速率来衡量。
[0117]每个分析类应用对服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的服务类应用的响应时间变化值。例如,针对分析类应用,减少或增加其1个CPU核数或减少其1GB内存,所造成服务类应用的响应时间变化值,该响应时间变化值越大,说明该分析类应用对服务类应用在该类资源的干扰度越大。
[0118]每个分析类应用对服务类应用在每类资源上的干扰度可由第四检测单元501在应用运行前统一检测,然后在应用运行的过程中,根据收集的分析类应用的各类资源的变化情况及对应的服务类应用的响应时间变化值来重新计算,然后根据重新计算所得的干扰度对原始计算得到的干扰度进行更新。为了减小计算更新干扰度产生的开销,计算更新活动可以选择物理节点空闲时间进行,同时使用增量式的更新方法。
[0119]接下来,在应用运行的过程中,第一检测单元502检测服务类应用的服务质量QoS是否满足QoS阈值。具体实现中,QoS阈值可根据实际需要预先设定,服务类应用分别运行在多个物理节点上,在服务类应用运行的过程中,第一检测单元502可实时检测每个物理节点上运行的服务类应用的QoS是否满足QoS阈值。
[0120]当第一检测单元502的检测结果为服务类应用的服务质量QoS不满足QoS阈值时,第二检测单元503在资源管理系统中检测服务类应用的瓶颈节点,瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点。
[0121]接下来确定单元504确定服务类应用的待补充资源。具体地,可由第一检测子单元5041检测服务类应用的CPU资源和1/0资源的利用率是否大于预设阈值,若服务类应用的CPU资源和/或1/0资源的利用率大于预设阈值,则第一确定子单元5042确定CPU资源和/或1/0资源为待补充资源。
[0122]在确定单元504确定待补充资源后,第一调整单元505在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。
[0123]经过第一调整单元505调整后,服务类应用的QoS满足了 QoS阈值,随着应用运行过程中服务类应用负载的变化,服务类应用可能会出现一些空闲资源,此时可由第三检测单元506检测运行在各个物理节点上的服务类应用是否有空闲资源,具体地,可由第二检测子单元5061检测各个物理节点上的服务类应用的CPU资源和1/0资源的利用率是否小于或等于预设阈值,若服务类应用的CPU资源和/或1/0资源的利用率小于或等于预设阈值,则第二确定子单元5062确定CPU资源和/或1/0资源为空闲资源。
[0124]当第三检测单元506检测到任意一个物理节点上运行的服务类应用有空闲资源时,第二调整单元507在物理节点上查找对服务类应用在空闲资源上干扰度最小的分析类应用,在保证服务类应用的QoS满足QoS阈值的前提下,将空闲资源分配给对服务类应用在空闲资源上干扰度最小的分析类应用。 [0125]本实施例中,在应用运行的过程中,第二检测单元会检测服务类应用的QoS是否满足QoS阈值,若不满足,则在第三检测单元检测到瓶颈节点及确定单元确定待补充资源后,第一调整单元在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值,然后第三检测单元会继续检测服务类应用是否有空闲资源,如有,则由第二调整单元将服务类应用的空闲资源调整至对服务类应用在空闲资源上的干扰度最小的分析类应用。本实施例中,在应用运行的过程中,第一调整单元及第二调整单元会基于干扰度对资源进行调整,能够保证服务类应用的QoS,且能提升分析类应用的性能,提高了系统资源利用率,从而提高了系统的整体性能。
[0126]在一个具体实施例中:资源管理装置可如图6所示,包括处理器601及存储器602,存储器602用于存放计算机操作指令,处理器601用于执行存储器602中存放的计算机操作指令,处理器601执行存储器602中存放的计算机操作指令使得资源管理装置600实现如下操作:
[0127]检测服务类应用的服务质量QoS是否满足QoS阈值;
[0128]若不满足,则在资源管理系统中检测服务类应用的瓶颈节点,瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点;
[0129]确定服务类应用的待补充资源;
[0130]在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给所述服务类应用,以使得服务类应用的QoS满足QoS阈值。
[0131]需要说明的是,资源管理装置600还可以用于实施例前述装置实施例中的其他功能,此处不再赘述,具体可参阅前述装置实施例。
[0132]另外,需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0133]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,u盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0134]以上对本发明实施例所提供的一种资源管理方法及装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在【具体实施方式】及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种资源管理方法,其特征在于,所述资源管理方法应用于资源管理系统,所述资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用,所述方法包括: 检测所述服务类应用的服务质量QoS是否满足QoS阈值; 若不满足,则在所述资源管理系统中检测所述服务类应用的瓶颈节点,所述瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点; 确定所述服务类应用的待补充资源; 在所述瓶颈节点中查找对所述服务类应用在所述待补充资源上干扰度最大的分析类应用,将查找到的对所述服务类应用在所述待补充资源上干扰度最大的分析类应用占用的所述待补充资源分配给所述服务类应用,以使得所述服务类应用的QoS满足所述QoS阈值。2.如权利要求1所述的方法,其特征在于,所述方法还包括: 检测运行在各个物理节点上的所述服务类应用是否有空闲资源; 若任意一个物理节点上运行的所述服务类应用有空闲资源,则在所述物理节点上查找对所述服务类应用在所述空闲资源上干扰度最小的分析类应用,在保证所述服务类应用的QoS满足所述QoS阈值的前提下,将所述空闲资源分配给对所述服务类应用在所述空闲资源上干扰度最小的分析类应用。3.如权利要求2所述的方法,其特征在于,在检测所述服务类应用的服务质量QoS是否满足QoS阈值之前,所述方法还包括: 检测每个物理节点上的每个分析类应用对所述服务类应用在每类资源上的干扰度,每个分析类应用对所述服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的所述服务类应用的响应时间变化值。4.如权利要求3所述的方法,其特征在于,所述每类资源包括中央处理器CPU资源和输入/输出I/O资源; 所述确定所述服务类应用的待补充资源具体为: 检测所述服务类应用的CPU资源和I/O资源的利用率是否大于预设阈值,若所述服务类应用的CPU资源和/或I/O资源的利用率大于所述预设阈值,则确定所述CPU资源和/或I/O资源为所述待补充资源。5.如权利要求3所述的方法,其特征在于,所述每类资源包括中央处理器CPU资源和输入/输出I/o资源; 所述检测运行在各个物理节点上的所述服务类应用是否有空闲资源具体为: 检测各个物理节点上的所述服务类应用的CPU资源和I/O资源的利用率是否小于或等于所述预设阈值,若所述服务类应用的CPU资源和/或I/O资源的利用率小于或等于所述预设阈值,则确定所述CPU资源和/或I/O资源为所述空闲资源。6.一种资源管理装置,其特征在于,所述资源管理装置应用于资源管理系统,所述资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用,所述装置包括: 第一检测单元,用于检测所述服务类应用的服务质量QoS是否满足QoS阈值; 第二检测单元,用于在所述服务类应用的QoS不满足所述QoS阈值时,在所述资源管理系统中检测所述服务类应用的瓶颈节点,所述瓶颈节点指的是针对请求响应时间最长的服务类应用所在的物理节点; 确定单元,用于确定所述服务类应用的待补充资源; 第一调整单元,用于在所述瓶颈节点中查找对所述服务类应用在所述待补充资源上干扰度最大的分析类应用,将查找到的对所述服务类应用在所述待补充资源上干扰度最大的分析类应用占用的所述待补充资源分配给所述服务类应用,以使得所述服务类应用的QoS满足所述QoS阈值。7.如权利要求6所述的装置,其特征在于,所述装置还包括: 第三检测单元,用于检测运行在各个物理节点上的所述服务类应用是否有空闲资源; 第二调整单元,用于在任意一个物理节点上运行的所述服务类应用有空闲资源时,在所述物理节点上查找对所述服务类应用在所述空闲资源上干扰度最小的分析类应用,在保证所述服务类应用的QoS满足所述QoS阈值的前提下,将所述空闲资源分配给对所述服务类应用在所述空闲资源上干扰度最小的分析类应用。8.如权利要求7所述的装置,其特征在于,所述装置还包括: 第四检测单元,用于在所述第一检测单元检测所述服务类应用的QoS是否满足QoS阈值之前,检测每个物理节点上的每个分析类应用对所述服务类应用在每类资源上的干扰度,每个分析类应用对所述服务类应用在每类资源上的干扰度指的是:调整每个分析类应用单位数量的每类资源所造成的所述服务类应用的响应时间变化值。9.如权利要求8所述的装置,其特征在于,所述每类资源包括中央处理器CPU资源和输入/输出I/o资源; 所述确定单元包括: 第一检测子单元,用于检测所述服务类应用的CPU资源和I/O资源的利用率是否大于预设阈值; 第一确定子单元,用于当所述服务类应用的CPU资源和/或I/O资源的利用率大于所述预设阈值时,确定所述CPU资源和/或I/O资源为所述待补充资源。10.如权利要求8所述的装置,其特征在于,所述每类资源包括中央处理器CPU资源和输入/输出I/O资源; 所述第三检测单元包括: 第二检测子元,用于检测各个物理节点上的所述服务类应用的CPU资源和I/O资源的利用率是否小于或等于所述预设阈值; 第二确定子单元,用于当所述服务类应用的CPU资源和/或I/O资源的利用率小于或等于所述预设阈值时,确定所述CPU资源和/或I/O资源为所述空闲资源。
【专利摘要】本发明实施例公开了一种资源管理方法及装置,资源管理方法应用于资源管理系统,资源管理系统中分布有至少两个物理节点,每个物理节点上运行有服务类应用及分析类应用,资源管理方法包括:检测服务类应用的QoS是否满足QoS阈值;若不满足,则检测服务类应用的瓶颈节点;确定服务类应用的待补充资源;在瓶颈节点中查找对服务类应用在待补充资源上干扰度最大的分析类应用,将查找到的对服务类应用在待补充资源上干扰度最大的分析类应用占用的待补充资源分配给服务类应用,以使得服务类应用的QoS满足QoS阈值。本发明实施例能够保证服务类应用的QoS,提高资源利用率。
【IPC分类】H04L29/08, G06F9/50
【公开号】CN105487927
【申请号】CN201410468426
【发明人】韩锐, 张文强, 詹树林
【申请人】华为技术有限公司, 中国科学院计算技术研究所
【公开日】2016年4月13日
【申请日】2014年9月15日

最新回复(0)