掌桥专利:专业的专利平台
掌桥专利
首页

容器资源调度方法、装置及存储介质

文献发布时间:2024-04-18 19:58:53


容器资源调度方法、装置及存储介质

技术领域

本申请涉及数据中心技术领域,尤其涉及一种容器资源调度方法、装置及存储介质。

背景技术

目前,数据中心可以通过网络基础设施为用户提供计算和存储资源,由于多个用户共享集群资源,使得服务提供商可以为用户提供可拓展和弹性的资源使用方式。其中,虚拟化技术和资源隔离技术可以使得多个租户共享集群中的同一台机器,而又不相互干扰。

然而,在调度过程中,若两个用户都提交了多个任务,则会按照预定的“先来先服务”的调度策略,将先提交任务的一个用户的任务全部调度完,再调度另一个用户的任务。如此导致调度过程中资源分配的公平性较差。

发明内容

本申请提供一种容器资源调度方法、装置及存储介质,用于提升调度过程中资源分配的公平性。

为达到上述目的,本申请采用如下技术方案:

第一方面,提供了一种容器资源调度方法,应用于数据中心的管理设备,该方法包括:基于至少一个资源请求用户中每个资源请求用户对应的第一参数,从至少一个资源请求用户中确定目标资源请求用户,每个第一参数用于指示分配给所对应的资源请求用户的资源数量占比;在目标资源请求用户请求调度第一作业的情况下,基于至少一个候选节点中每个候选节点的可用资源数量及工作频率,从至少一个候选节点中确定目标节点;将第一作业调度至目标节点。

基于上述容器资源调度方法,管理设备在调度资源时,可以基于分配给每个资源请求用户的资源数量占比,确定优先调度的目标资源请求用户,并将该目标资源请求用户的作业调度至根据可用资源数量及工作频率确定的目标节点,而并非按照相关技术中的“先来先服务”的调度策略,从而可以提升调度过程中资源分配的公平性。

一种可能的实现方式中,上述“从至少一个资源请求用户中确定目标资源请求用户”的方法包括:将所有第一参数中参数值最小的第一参数所对应的资源请求用户,确定为目标资源请求用户。

一种可能的实现方式中,上述“从至少一个候选节点中确定目标节点”的方法包括:将该至少一个候选节点中第一占比与工作频率之和最大的候选节点,确定为目标节点;其中,第一占比为可用资源数量与资源总数量的比值。

一种可能的实现方式中,上述至少一个候选节点为:上述数据中心的集群的所有节点中,可用资源能够运行上述第一作业的节点。

一种可能的实现方式中,上述所有节点中的每个节点的功率状态是根据第一规则动态调节的;其中,该第一规则包括:若该所有节点中的一个节点上运行的作业数量为0,则将该一个节点置于休眠状态;若该所有节点中的一个节点上运行的作业数量不为0,且该一个节点的中央处理器(Central Processing Unit,CPU)利用率小于第一阈值,则降低该一个节点的CPU频率;若该所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率大于或等于第一阈值和第二阈值,则提高该一个节点的CPU频率,该第一阈值和该第二阈值不同。

一种可能的实现方式中,在上述“将第一作业调度至目标节点”之后,上述资源调度方法还包括:更新目标资源请求用户对应的第一参数。

第二方面,提供了一种容器资源调度装置,该容器资源调度装置应用于数据中心的管理设备,还可以为该管理设备中用于实现第一方面的方法或第一方面的任一可能的实现方式的功能模块。该容器资源调度装置可以实现上述各方面或者各可能的实现方式中管理设备所执行的功能,所述功能可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。如:该容器资源调度装置包括确定单元和调度单元。

确定单元,用于基于至少一个资源请求用户中每个资源请求用户对应的第一参数,从至少一个资源请求用户中确定目标资源请求用户,每个第一参数用于指示分配给所对应的资源请求用户的资源数量占比;

确定单元,还用于在目标资源请求用户请求调度第一作业的情况下,基于至少一个候选节点中每个候选节点的可用资源数量及工作频率,从至少一个候选节点中确定目标节点;

调度单元,用于将第一作业调度至目标节点。

其中,该容器资源调度装置的具体实现方式可以参考第一方面或第一方面的任一可能的设计提供的容器资源调度方法中管理设备的行为功能,在此不再重复赘述。因此,该容器资源调度装置可以达到与第一方面或者第一方面的任一可能的设计相同的有益效果。

一种可能的实现方式中,确定单元,具体用于将所有第一参数中参数值最小的第一参数所对应的资源请求用户,确定为目标资源请求用户。

一种可能的实现方式中,确定单元,具体用于将至少一个候选节点中第一占比与工作频率之和最大的候选节点,确定为目标节点;其中,第一占比为可用资源数量与资源总数量的比值。

一种可能的实现方式中,上述至少一个候选节点为:上述数据中心的集群的所有节点中,可用资源能够运行第一作业的节点。

一种可能的实现方式中,上述所有节点中的每个节点的功率状态是根据第一规则动态调节的;其中,该第一规则包括:若该所有节点中的一个节点上运行的作业数量为0,则将该一个节点置于休眠状态;若该所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率小于第一阈值,则降低该一个节点的CPU频率;若该所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率大于或等于第一阈值和第二阈值,则提高该一个节点的CPU频率,该第一阈值和该第二阈值不同。

一种可能的实现方式中,上述资源调度装置还包括更新单元;更新单元,用于在调度单元将第一作业调度至目标节点之后,更新目标资源请求用户对应的第一参数。

第三方面,提供了一种容器资源调度装置,该容器资源调度装置可以为数据中心的管理设备或者该管理设备中的芯片或者片上系统。该容器资源调度装置可以实现上述各方面或者各可能的设计中管理设备所执行的功能,所述功能可以通过硬件实现,如:一种可能的设计中,该容器资源调度装置可以包括:处理器和通信接口,处理器可以用于支持容器资源调度装置实现上述第一方面或者第一方面的任一种可能的设计中所涉及的功能。

在又一种可能的设计中,容器资源调度装置还可以包括存储器,存储器用于保存容器资源调度装置必要的计算机执行指令和数据。当该容器资源调度装置运行时,该处理器执行该存储器存储的该计算机执行指令,以使该容器资源调度装置执行上述第一方面或者第一方面的任一种可能的设计所述的容器资源调度方法。

第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质可以为可读的非易失性存储介质,该计算机可读存储介质存储有计算机指令或者程序,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的容器资源调度方法。

第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面或者上述方面的任一种可能的设计所述的容器资源调度方法。

第六方面,提供了一种容器资源调度装置,该容器资源调度装置可以为容器资源调度装置或者容器资源调度装置中的芯片或者片上系统,该容器资源调度装置包括一个或者多个处理器以及和一个或多个存储器。所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,使得所述容器资源调度装置执行如上述第一方面或者第一方面的任一可能的设计所述的容器资源调度方法。

第七方面,提供了一种芯片系统,该芯片系统包括处理器以及通信接口,该芯片系统可以用于实现上述第一方面或第一方面的任一可能的设计中容器资源调度装置所执行的功能。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存程序指令和/或数据。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件,不予限制。

其中,第二方面至第七方面中任一种设计方式所带来的技术效果可参见上述第一方面所带来的技术效果,不再赘述。

附图说明

图1为本申请实施例提供的一种容器资源调度方法的流程示意图之一;

图2为本申请实施例提供的一种容器资源调度方法的流程示意图之二;

图3为本申请实施例提供的一种容器资源调度方法的流程示意图之三;

图4为本申请实施例提供的一种容器资源调度方法的流程示意图之四;

图5为本申请实施例提供的一种容器资源调度装置的结构示意图之一;

图6为本申请实施例提供的一种容器资源调度装置的结构示意图之二。

具体实施方式

为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请实施例的一些方面相一致的装置和方法的例子。

还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。

Kubernetes(简称K8s)是一个容器编排工具,在公开之初它的架构和技术就较为成熟,受到云计算行业内的普遍关注,并且快速成为编排工具市场的主流。通过使用以K8s为基础的分布式云计算集群平台,可以加快数据的处理速度,相较于个人计算机或传统集群,云集群在很大程度上提高了任务的部署和执行效率。

在服务器能耗优化领域,目前有多种技术方式。研究结果表明,服务器的功率和CPU利用率呈正相关,从而可以通过CPU利用率来估计服务器的功率;例如,第m个节点的实际功率

其中,

目前,通常可以通过动态电压频率调节(Dynamic Voltage and FrequencyScaling,DVFS)、功率封顶等多种技术降低服务器功耗。

其中,DVFS技术可以根据芯片运行的应用程序的计算需求,动态调整电压和频率,从而达到节能的目的。DVFS技术是一项需要软硬件结合的技术,例如,硬件方面的技术包括SpeedStep(即双模式移动切换)技术以及由此衍生的增强的SpeedStep(Enhanced IntelSpeedStep Technology,EIST)技术,综合生态系统管理(Integrated EcosystemManagement,IEM)技术和自适应电压调整(Adaptive Voltage Scaling,AVS)技术等;软件方面的技术包括CPUfreq(即CPU频率)技术。对于CPUfreq技术,互补金属氧化物半导体(Complementary Metal Oxide Semiconductor,CMOS)电路中分为动态功耗和静态功耗,其中,动态功耗与系数α(用于表示活动电路所占比例)、电容的值C、芯片的工作电压V以及芯片的工作频率f相关;静态功耗表示CPU没有负载时的功耗,是一个固定值。可以看出,要想降低动态功耗,需要从C、α、V或f入手,而对于软件而言,通常可以调节的只有V和f。

功率封顶技术主要通过给服务器功耗值设定限额,将电力消耗控制在一定水平内。在大多数数据中心里,当一个机器安装好之后,就会给该机器配送一定的电力,通常来说,这是一个比较“安全”的电量,会有一定的富余,也许永远不会用到额外多出来的电力。这些多出来的电力叫作边际功耗(即margined power)。功率封顶功能允许管理员对当前系统的电能进行重新分配,把现有机器的边际功耗降下来,分配给新的系统。也就是说,在总电力一定的情况下,功率封顶允许用户向数据中心里继续添加新的机器进去。

数据中心可以通过网络基础设施为用户提供计算和存储资源,由于多个用户共享集群资源,使得服务提供商可以为用户提供可拓展和弹性的资源使用方式。其中,虚拟化技术和资源隔离技术可以使得多个租户共享集群中的同一台机器,而又不相互干扰。然而在多租户共享集群资源的场景中,在调度过程中,时刻确保用户之间的公平性尤为重要。目前,当两个用户均提交了多个任务时,是先将一个用户的任务全部调度完之后,再调度另一个用户的任务。虽然该两个用户的任务都被调度了,但在调度过程中,用户资源分配的公平性并没有得到保证,用户任务的响应时间和完成时间也会有较大差异,这通常是不被允许的。

鉴于此,本申请实施例提供了一种容器资源调度方法,用于提升调度过程中资源分配的公平性。该方法包括:数据中心的管理设备可以基于至少一个资源请求用户中每个资源请求用户对应的第一参数,从至少一个资源请求用户中确定目标资源请求用户,每个第一参数用于指示分配给所对应的资源请求用户的资源数量占比;且在目标资源请求用户请求调度第一作业的情况下,基于至少一个候选节点中每个候选节点的可用资源数量及工作频率,从至少一个候选节点中确定目标节点;并将第一作业调度至目标节点。

基于上述方案,管理设备在调度资源时,可以基于分配给每个资源请求用户的资源数量占比,确定优先调度的目标资源请求用户,并将该目标资源请求用户的作业调度至根据可用资源数量及工作频率确定的目标节点,而并非按照相关技术中的“先来先服务”的调度策略,从而可以提升调度过程中资源分配的公平性。

下面结合说明书附图对本申请实施例提供的容器资源调度方法进行详细说明。

本申请实施例提供了一种容器资源调度方法,该方法可以应用于数据中心的管理设备。如图1所示,该方法可以包括步骤101至步骤103。

步骤101、管理设备基于至少一个资源请求用户中每个资源请求用户对应的第一参数,从至少一个资源请求用户中确定目标资源请求用户。

其中,每个第一参数用于指示分配给所对应的资源请求用户的资源数量占比。

可选地,本申请实施例中,上述每个资源请求用户为向上述数据中心请求分配资源的用户。

可选地,本申请实施例中,上述每个资源请求用户均可以向上述数据中心提交至少一个任务。

可选地,本申请实施例中,管理设备在基于上述每个资源请求用户对应的第一参数,确定上述目标资源请求用户之前,可以先确定该每个资源请求用户对应的第一参数。

可选地,本申请实施例中,上述第一参数可以为资源请求用户的主资源共享值,管理设备可以通过下述过程确定上述每个资源请求用户对应的主资源共享值:

首先,定义M={M

然后,通过映射关系矩阵T_U

上述调度器的本质是参考机器上的资源剩余量以及每个任务的资源需求,将任务调度到合适的机器上,以保证任务运行需要的每一种资源能够得到满足。假设该调度器在调度时考虑num_d种资源,与资源维度相对应,每一个任务都有一个资源需求向量,表示任务对资源的需求,定义第t个任务的资源需求向量为

调度器需要做的就是将任务调度到集群合适的机器上,可以使用调度矩阵T_M

然而,每个资源请求用户被分配到的资源各不相同,要尽量保证资源请求用户之间的公平性,为此定义资源请求用户的主资源为用户被分配的资源中处理能力占比集群总处理能力比重最大的资源。每个资源请求用户都有唯一的一个主资源,定义第u个资源请求用户的主资源向量为

如此,可以确定第u个资源请求用户的主资源共享值为S

其中,A={A

可选地,本申请实施例中,管理设备在确定上述每个资源请求用户的主资源和主资源共享值之后,可以将其保存在一个Map中。

可选地,本申请实施例中,结合图1,如图2所示,上述步骤101具体可以通过下述的步骤101a实现。

步骤101a、管理设备将所有第一参数中参数值最小的第一参数所对应的资源请求用户,确定为目标资源请求用户。

本申请实施例中,若一个第一参数的参数值越小,则分配给该第一参数所对应的资源请求用户的资源数量占比越小,从而将该资源请求用户确定为优先分配资源的目标资源请求用户,以提升资源分配的公平性。

本申请实施例中,由于管理设备可以将分配的资源数量占比最小的资源请求用户确定为目标资源请求用户,以优先选择其任务进行资源分配,因此可以提升资源分配的公平性。

可选地,本申请实施例中,管理设备还可以先基于第一参数,通过下述的公式(5)为上述每个资源请求用户进行打分,然后将得分最小的资源请求用户确定为上述目标资源请求用户,公式(5)如下所示:

其中,上述公式(5)中的前一项为资源请求用户主资源共享值的方差,用于衡量资源请求用户之间资源分配的公平性;该公式(5)中的后一项表示资源分配的多少,为了防止该后一项的分母为0,设置一个小的加数ε。同样设置一个权重β,表示在资源分配数量和用户公平性之间的权衡。

步骤102、在目标资源请求用户请求调度第一作业的情况下,管理设备基于至少一个候选节点中每个候选节点的可用资源数量及工作频率,从至少一个候选节点中确定目标节点。

可选地,本申请实施例中,上述第一作业可以为上述目标资源请求用户请求调度的多个作业中的一个作业。

可选地,本申请实施例中,管理设备可以按照“先来先服务”的策略,从上述多个作业中确定上述第一作业。

可选地,本申请实施例中,若目标资源请求用户没有需要调度的作业,则管理设备可以根据上述公式(5)确定一个新的目标资源请求用户。

可选地,本申请实施例中,结合图1,如图3所示,上述步骤102具体可以通过下述的步骤102a实现。

步骤102a、在目标资源请求用户请求调度第一作业的情况下,管理设备将至少一个候选节点中第一占比与工作频率之和最大的候选节点,确定为目标节点。

其中,上述第一占比为可用资源数量与资源总数量的比值。

可选地,本申请实施例中,可用资源可以包括节点中的CPU和内存等。

可选地,本申请实施例中,管理设备可以通过下述的公式(6),将上述至少一个候选节点在公式(6)中的得分最高的候选节点,确定为上述目标节点:

其中,cpuCap为CPU的数量,cpuReq为CPU的请求数量,memCap为内存的数量,memReq为内存的请求数量,indvfsqueue(q)为CPU的工作频率(即节点的工作频率),α为权重参数。

可选地,本申请实施例中,管理设备确定上述目标节点的思路是:在可用资源满足上述第一作业需求的前提下,首先选择未经过频率调节的候选节点,以达到集群能耗优化的目的;而在没有未经过频率调节的候选节点时,启用经过频率调节的候选节点(节点的功耗会降低),并将经过频率调节的候选节点的工作频率恢复正常,以保证该第一作业的执行性能。

本申请实施例中,由于管理设备可以将上述至少一个候选节点中第一占比与工作频率之和最大的候选节点,确定为上述目标节点,因此可以在调度上述第一作业时,考虑调度节点的可用资源数量和功率状态,从而可以将该第一作业调度至性能最佳的节点。

可选地,本申请实施例中,上述至少一个候选节点可以为:上述数据中心的集群的所有节点中,可用资源能够运行上述第一作业的节点。

可选地,本申请实施例中,管理设备在确定上述第一作业之后,可以遍历集群中的所有节点,并在一个节点的可用资源能够运行该第一作业时,将该节点加入候选节点队列,从而确定上述至少一个候选节点。

本申请实施例中,由于上述至少一个候选节点为:上述数据中心的集群的所有节点中,可用资源能够运行上述第一作业的节点,因此可以无需考虑无法运行第一作业的节点,从而可以降低设备功耗。

可选地,本申请实施例中,上述所有节点中的每个节点的功率状态可以是根据第一规则动态调节的。

其中,上述第一规则包括:

若上述所有节点中的一个节点上运行的作业数量为0,则将该一个节点置于休眠状态;

若上述所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率小于第一阈值,则降低该一个节点的CPU频率;

若上述所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率大于或等于第一阈值和第二阈值,则提高该一个节点的CPU频率;

其中,上述第一阈值和上述第二阈值不同。

可选地,本申请实施例中,根据上述第一规则动态调节上述每个节点的功率状态,以实现节能的目的。

需要说明的是,集群的高能效运行,在需求和技术进步的双重推动下,数据中心的规模和机器数量增长迅速,与之俱来的是极高的用电量。而由于我国电量供应以火力发电为主,因此会排放较多的二氧化硫、氮氧化物和二氧化碳等,给生态环境带来了显著影响。高能耗不仅增加了与服务器供应商的运营成本,而且还造成了很大的环境污染,而导致高能耗的原因是资源使用量大以及资源使用率低。

下面对管理设备根据上述第一规则动态调节上述每个节点的功率状态的具体方法进行示例性地说明。

示例性地,管理设备根据上述第一规则动态调节上述每个节点的功率状态的具体过程如下:

步骤1、遍历集群中的所有运行节点,判断每个节点上运行的作业数量是否为0;若一个节点上运行的作业数量不为0,则执行步骤2;若一个节点上运行的作业数量为0,则将该一个节点置于休眠状态,并从运行节点队列移除,加入休眠节点队列;

步骤2:判断上述一个节点的CPU利用率是否小于预设的阈值threshold(即上述第一阈值);若该一个节点的CPU利用率小于阈值threshold,则通过DVFS接口降低CPU的工作频率,然后将该一个节点加入低频节点队列;若该一个节点的CPU利用率大于或等于阈值threshold,则执行步骤3;

步骤3;判断上述一个节点的CPU利用率是否大于或等于预设的阈值threshold1(即上述第二阈值);若该一个节点的CPU利用率大于或等于阈值threshold1,则通过DVFS接口提高CPU的工作频率,然后将该一个节点从低频节点队列移除;若该一个节点的CPU利用率小于阈值threshold1,则跳回步骤1,选择下一个节点。

本申请实施例中,由于上述每个节点的功率状态可以是根据第一规则动态调节的,因此可以根据每个节点的负载情况,动态调节节点的CPU工作频率,从而实现节能降耗的目的。

步骤103、管理设备将第一作业调度至目标节点。

本申请实施例中,将上述第一作业调度至上述目标节点,即在该目标节点上运行该第一作业。

在本申请实施例提供的容器资源调度方法中,管理设备在调度资源时,可以基于分配给每个资源请求用户的资源数量占比,确定优先调度的目标资源请求用户,并将该目标资源请求用户的作业调度至根据可用资源数量及工作频率确定的目标节点,而并非按照相关技术中的“先来先服务”的调度策略,从而可以提升调度过程中资源分配的公平性。

可选地,本申请实施例中,结合图1,如图4所示,在上述步骤103之后,本申请实施例提供的容器资源调度方法还可以包括下述的步骤104。

步骤104、管理设备更新目标资源请求用户对应的第一参数。

可选地,本申请实施例中,管理设备可以通过上述公式(4),更新上述目标资源请求用户对应的第一参数。

可选地,本申请实施例中,管理设备在更新上述目标资源请求用户对应的第一参数之后,可以返回上述步骤101确定新的目标资源请求用户进行资源分配。

本申请实施例中,由于管理设备在将上述第一作业调度至上述目标节点之后,可以更新上述目标资源请求用户对应的第一参数,因此可以提升后续资源调度的准确性。

本申请上述实施例中的各个方案在不矛盾的前提下,均可以进行结合。

本申请实施例可以根据上述方法示例对容器资源调度装置进行功能模块或者功能单元的划分,例如,可以对应各个功能划分各个功能模块或者功能单元,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块或者功能单元的形式实现。其中,本申请实施例中对模块或者单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

在采用对应各个功能划分各个功能模块的情况下,图5示出了一种容器资源调度装置50的结构示意图,该容器资源调度装置50可以为数据中心的管理设备,也可以为应用于该管理设备的芯片,该容器资源调度装置50可以用于执行上述实施例中涉及的对管理设备的功能。图5所示的容器资源调度装置50可以包括:确定单元51和调度单元52。

其中,上述确定单元51,可以用于基于至少一个资源请求用户中每个资源请求用户对应的第一参数,从该至少一个资源请求用户中确定目标资源请求用户,每个第一参数用于指示分配给所对应的资源请求用户的资源数量占比;

上述确定单元51,还可以用于在上述目标资源请求用户请求调度第一作业的情况下,基于至少一个候选节点中每个候选节点的可用资源数量及工作频率,从该至少一个候选节点中确定目标节点;

上述调度单元52,可以用于将上述第一作业调度至上述目标节点。

一种可能的实现方式中,上述确定单元51,具体可以用于将所有第一参数中参数值最小的第一参数所对应的资源请求用户,确定为上述目标资源请求用户。

一种可能的实现方式中,上述确定单元51,具体可以用于将上述至少一个候选节点中第一占比与工作频率之和最大的候选节点,确定为上述目标节点;其中,该第一占比为可用资源数量与资源总数量的比值。

一种可能的实现方式中,上述至少一个候选节点为:上述数据中心的集群的所有节点中,可用资源能够运行第一作业的节点。

一种可能的实现方式中,上述所有节点中的每个节点的功率状态是根据第一规则动态调节的;其中,该第一规则包括:若该所有节点中的一个节点上运行的作业数量为0,则将该一个节点置于休眠状态;若该所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率小于第一阈值,则降低该一个节点的CPU频率;若该所有节点中的一个节点上运行的作业数量不为0,且该一个节点的CPU利用率大于或等于第一阈值和第二阈值,则提高该一个节点的CPU频率,该第一阈值和该第二阈值不同。

一种可能的实现方式中,结合图5,如图6所示,容器资源调度装置50还可以包括更新单元53。更新单元53,可以用于在上述调度单元52将上述第一作业调度至上述目标节点之后,更新上述目标资源请求用户对应的第一参数。

作为又一种可实现方式,图5和图6中的单元,例如确定单元51、调度单元52和更新单元53,可以由处理器代替,该处理器可以集成图5和图6中的单元的功能。

本申请实施例还提供了一种计算机可读存储介质。上述方法实施例中的全部或者部分流程可以由计算机程序来指令相关的硬件完成,该程序可存储于上述计算机可读存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。计算机可读存储介质可以是前述任一实施例的容器资源调度装置的内部存储单元,例如容器资源调度装置的硬盘或内存。上述计算机可读存储介质也可以是上述终端装置的外部存储设备,例如上述终端装置上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,上述计算机可读存储介质还可以既包括上述容器资源调度装置的内部存储单元也包括外部存储设备。上述计算机可读存储介质用于存储上述计算机程序以及上述容器资源调度装置所需的其他程序和数据。上述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

需要说明的是,本申请的说明书、权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上,“至少两个(项)”是指两个或三个及三个以上,“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 资源调度方法、系统及电子设备和存储介质
  • 一种资源调度方法及其装置和具有存储功能的装置
  • 分层存储方法、分层存储装置及计算机可读存储介质
  • 文件获取方法及装置、文件传送方法及装置、存储介质
  • 图像生成方法、装置,图像显示方法、装置和存储介质
  • 容器CPU资源调度与隔离方法和装置、存储介质及电子设备
  • 资源调度方法、装置、容器集群、计算机设备和存储介质
技术分类

06120116512905