一种动态资源分区方法技术

技术编号:27684892 阅读:33 留言:0更新日期:2021-03-17 03:47
本发明专利技术公开了一种动态资源分区方法。该方法包括:利用样本数据集预训练分区数决策模型,该样本数据集表征多种场景数据特征与对应的并发性能最优进程分区数之间的关联关系;在满足设定触发条件的情况下,使用所述预训练的分区数决策模型预测当前场景的最优分区数;对于在线形式到达的进程,根据获得的当前场景的最优分区数和每个进程的资源使用特征通过无监督聚类算法对其进行聚类分区,获得进程聚类分区策略,该进程聚类分区策略用于指示进程所述的分区;根据获得的进程聚类分区策略对资源按需进行分区。本发明专利技术可以动态接收在线到来的进程,并对系统资源进行动态的分区,具有实时性且可以最大化系统的并发性能。

【技术实现步骤摘要】
一种动态资源分区方法
本专利技术涉及计算机
,更具体地,涉及一种动态资源分区方法。
技术介绍
随着云计算技术的快速发展及其在众多领域的广泛应用,对云计算系统中的各种资源的合理分区(Partitioning)利用,以达到最优的系统性能,变得愈发重要。在运行众多进程的云计算系统中,如果无法对资源进行合理的分区利用,则会因为资源抢占而造成进程的阻塞,甚至是死锁,这将严重影响到系统的性能与可靠性。而为了避免死锁出现,部分进程需要被停止执行并阻塞。所以,如何在避免死锁的前提下通过对系统中运行的进程进行分区,以达成对各项资源的合理分区,从而减少进程的阻塞并最优化系统的并发性(Concurrency)成为了需要解决的关键问题。现有技术对于资源的合理分区已进行了一些探索。例如,根据进程对单种资源需求的起止时间对进程进行分组并对资源进行分区。这种方法仅考虑对单种资源进行分区及分配,而无法处理对多种资源的分区与分配,这种局限性对于现今快速发展的云计算系统来说显然是不可接受的。又如,通过人为设定资源需求阈值,对应用进行分组,并将资源分区以满足不同资源需求的应用。这种人为设置的资源分区阈值缺少灵活性,限制了云计算系统对资源进行动态分区调整的能力。再如,首先通过训练人工神经网络这一机器学习模型来判断具有不同特征的进程的资源需求量,然后,训练随机登山算法,根据所得到的资源需求量预测值来寻找最优资源分区方式,并将进程分配到各个资源分区中。这种方法虽然可以对多种资源进行同时分区分配,但是所使用的人工神经网络算法模型较为复杂,参数众多,对训练数据需求量大,训练比较低效。此外,这种方法无法应对以在线形式(Onlinefashion)到来的进程,这些缺点给云计算系统带来局限性,限制了云计算系统的高效运行。
技术实现思路
本专利技术的目的是克服上述现有技术的缺陷,提供一种动态资源分区方法,能够以在线方式接收新到来的进程,在避免死锁的前提下,动态地将进程进行合理分区,并根据进程的分区进行合理的资源分配,具有最优的并发性能。本专利技术提供一种动态资源分区方法,该方法包括以下步骤:利用样本数据集预训练分区数决策模型,该样本数据集表征多种场景数据特征与对应的并发性能最优进程分区数之间的关联关系;在满足设定触发条件的情况下,使用所述预训练的分区数决策模型预测当前场景的最优分区数;对于在线形式到达的进程,根据获得的当前场景的最优分区数和每个进程的资源使用特征通过无监督聚类算法对其进行聚类分区,获得进程聚类分区策略,该进程聚类分区策略用于指示进程所述的分区;根据获得的进程聚类分区策略对资源按需进行分区。与现有技术相比,本专利技术的优点在于,不受资源种类的限制,可以对多种资源进行动态分区,而不是仅仅对单一种类资源进行分区,具有一般性;不需要依赖于人为设定的阈值,而是通过机器学习的手段动态地根据当前资源使用情况及各个进程的资源使用情况进行资源分区调整,灵活性好。此外,本专利技术训练更加高效,且通过多种方法的巧妙配合,所做决策可以最大化系统的并发性能;可以动态接收在线到来的进程,并对系统资源进行动态的分区,具有实时性。通过以下参照附图对本专利技术的示例性实施例的详细描述,本专利技术的其它特征及其优点将会变得清楚。附图说明被结合在说明书中并构成说明书的一部分的附图示出了本专利技术的实施例,并且连同其说明一起用于解释本专利技术的原理。图1是根据本专利技术一个实施例的动态资源分区方法的流程图;图2是根据本专利技术一个实施例的在线进程和资源分区的示意图;图3是根据本专利技术一个实施例的动态资源分区方法的过程示意图。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。本专利技术提供的动态资源分区方法包括预训练分区数决策模型(下文将以多元多项式回归模型为例)、在线进程聚类分区(以BIRCH聚类算法为例)和按需对资源进行分区三个阶段。首先,通过使用包含在各个场景与其对应的并发性能最优进程分区数的样本数据集对多元多项式回归模型进行预训练,使得所训练的回归模型具有根据当前场景特征判断并行性能最优的进程分区数的能力,从而保障最优性。当触发在线进程聚类分区时(例如当固定的时间间隔完成或是有新进程到来时),首先使用预训练好的多元多项式回归模型预测当前场景的最优分区数,如果预测的分区数较上次触发时的预测发生改变,则BIRCH算法会重新初始化之后进行聚类分区,而若预测出的最优分区数未改变,则无需重新初始化BIRCH算法。预测分区数预测完后,具有处理在线数据能力的聚类机器学习算法BIRCH会对系统中的进程根据进程的资源需求特征进行聚类分区。然后,算法将根据BIRCH算法所给出的进程分区策略对资源按照所需比例进行分区。具体地,结合图1和图3所示,本专利技术所提供的动态资源分区方法包括以下步骤:步骤S110,利用样本数据集预训练分区数决策模型,并使用该分区数决策模型预测当前场景的最优分区数。分区数决策模型可采用多元多项式回归模型、强化学习模型或神经网络模型等。下文将以优选的多元多项式回归模型为例进行说明。为了使所提模型在对进程与资源进行分区时能够做出可以使系统并发性能最优化的决策,首先利用具有相关知识的样本数据集预训练多元多项式回归模型用来判断给定场景的最优分区数,如下文算法1的数据输入及第1行所示。多元多项式回归模型相较于其他种类的回归模型而言,该模型的多元性使得其可以接受多维度的输入,在一个实施例中,对回归模型进行预训练时所使用的多维数据特征及其含义参见下表1,即样本数据集包含已知的多种场景数据特征与最优进程分区数的对应关系,其中各场景数据特征例如包括正在运行的进程数、各个资源的占用量和各个资源的可用量等。此外,多项式回归模型使得回归模型更具有一般性,多项式回归模型既可以拟合呈线性关系的数据,也可以拟合呈非线性关系的复杂数据。通过使用包含各个场景与其对应的性能最优进程分区数的样本数据集对多元多项式回归模型进行预训练,使得所训练的多元多项式回归模型具有根据当前场景数据特征判断并行性能最优的进程分区数的能力,从而保障了本专利技术的最优性。表1:多元多项式回归模型预训练数据集特征及其描述<本文档来自技高网
...

【技术保护点】
1.一种动态资源分区方法,包括以下步骤:/n利用样本数据集预训练分区数决策模型,该样本数据集表征多种场景数据特征与对应的并发性能最优进程分区数之间的关联关系;/n在满足设定触发条件的情况下,使用所述预训练的分区数决策模型预测当前场景的最优分区数;/n对于在线形式到达的进程,根据获得的当前场景的最优分区数和每个进程的资源使用特征通过无监督聚类算法对其进行聚类分区,获得进程聚类分区策略,该进程聚类分区策略用于指示进程所述的分区;/n根据获得的进程聚类分区策略对资源按需进行分区。/n

【技术特征摘要】
1.一种动态资源分区方法,包括以下步骤:
利用样本数据集预训练分区数决策模型,该样本数据集表征多种场景数据特征与对应的并发性能最优进程分区数之间的关联关系;
在满足设定触发条件的情况下,使用所述预训练的分区数决策模型预测当前场景的最优分区数;
对于在线形式到达的进程,根据获得的当前场景的最优分区数和每个进程的资源使用特征通过无监督聚类算法对其进行聚类分区,获得进程聚类分区策略,该进程聚类分区策略用于指示进程所述的分区;
根据获得的进程聚类分区策略对资源按需进行分区。


2.根据权利要求1所述的动态资源分区方法,其中,在满足设定触发条件的情况下,使用所述预训练的分区数决策模型预测当前场景的最优分区数包括:
当固定的时间间隔完成或是有新进程到达时,触发预测当前场景的最优分区数;
如果本次预测的最优分区数较上次的预测发生改变,则聚类算法重新初始化。


3.根据权利要求1所述的动态资源分区方法,其中,所述聚类算法是BIRCH并输出每个进程所属的分区号。


4.根据权利要求1所述的动态资源分区方法,其中,所述分区数决策模型是多元多项式回归模型。
<...

【专利技术属性】
技术研发人员:吴嘉澍王洋李敏张锦霞须成忠
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1