资源的控制方法、装置和集群资源管理系统与流程

文档序号:13685605阅读:307来源:国知局
资源的控制方法、装置和集群资源管理系统与流程

本申请涉及云计算技术,尤其涉及一种资源的控制方法、装置和集群资源管理系统。



背景技术:

公有云平台是面向公网部署并且对外提供云计算服务的平台,而公有云环境下的大数据处理平台可以通过其中的计算集群为用户提供大数据处理,这里的用户可以被称为一个租户,用户可以创建多个项目(project)用于进行数据开发过程,每个用户均可以被分配一定的集群资源,从而该用户下的所有的project可以共享使用该集群资源。

现有技术在为租户分配集群资源时,首先是将整个集群资源划分为若干个不同大小的资源组(quota),每个quota独占整个集群一部分固定的资源,然后为不同类型的用户提供不同规格的资源组,将每个用户分配到各自指定的资源组(quota)中。

但是,现有技术中的集群资源分配方案,资源使用率不高。



技术实现要素:

本申请提供一种资源的控制方法、装置和集群资源管理系统,以解决现有技术中的集群资源分配方案,资源使用率不高的技术问题。

一个方面,本申请提供一种资源的控制方法,包括:

根据资源共享模式和所获取的集群资源,创建至少一个共享资源组;

将每个所述共享资源组的资源分配给多个用户。

上述提供的资源的控制方法,通过资源共享模式将集群资源创建成为至少一个共享资源组,并将每个共享资源组的资源分配给多个用户,使得多个用户可以共享该共享资源组中的资源,其可以规模化服务互联网场景下众多客户的使用,大大提高了资源利用率,同时也大大提高了计算效率。

作为一种可实现的方式,所述根据资源共享模式和所获取的集群资源,创建至少一个共享资源组,具体包括:

根据所述集群资源和预设的共享等级策略,创建不同共享等级的共享资源组,其中,任意两个共享资源组中,资源数量大的共享资源组的共享等级高于资源数量小的共享资源组的共享等级。

作为一种可实现的方式,所述根据所述集群资源和预设的共享等级策略,创建不同共享等级的共享资源组,具体包括:

根据所支持的用户的最大并发任务数和单任务最大占用的资源数,将所述集群资源划分为不同共享等级的共享资源组。

作为一种可实现的方式,所述将每个所述共享资源组的资源分配给多个用户,具体包括:

获取每个用户的共享等级需求;其中,所述共享等级需求中携带所述用户所需的资源数量;

根据每个用户的共享等级需求,将共享等级需求相同的用户确定为共享用户组,并确定所述共享等级需求对应的第一共享资源组;

将所述第一共享资源组中的资源分配给所述共享用户组中的多个用户。

作为一种可实现的方式,所述获取每个用户的共享等级需求,具体包括:

获取用户输入的共享等级需求;

或者;

根据用户的任务量确定用户的共享等级需求。

作为一种可实现的方式,所述方法还包括:

根据每个用户所创建的项目组,建立不同项目组与不同共享等级的共享资源组之间的对应关系;其中,所述项目组包括至少一个项目;

所述将所述第一共享资源组中的资源分配给所述共享用户组中的多个用户,具体包括:

根据所述对应关系,将所述第一共享资源组分配给所述共享用户组中多个用户的项目组。

上述各可能的实现方式通过资源共享模式将集群资源创建成为至少一个共享资源组,并将每个共享资源组的资源分配给多个用户,使得多个用户可以共享该共享资源组中的资源,其可以规模化服务互联网场景下众多客户的使用,大大提高了资源利用率;进一步地,根据用户的共享等级需求,将共享等级需求相同的用户确定为共享用户组,并确定该共享等级需求对应的第一共享资源组,从而将第一共享资源组分配给共享用户组中的多个用户,进而使得用户可以共享到匹配的共享资源组,避免造成资源的浪费。

作为一种可实现的方式,所述将所述第一共享资源组中的资源分配给所述共享用户组中的多个用户之后,所述方法还包括:

获取所述共享用户组中每个用户的资源实际使用量;

若任一用户的资源实际使用量小于预设的资源阈值,则为所述用户分配第二共享资源组,以使所述用户与共享所述第二共享资源组的其他用户共享所述第二共享资源组中的资源;其中,所述第二共享资源组的共享等级低于所述第一共享资源组。

作为一种可实现的方式,所述资源阈值与用户的并发任务数、单任务最大使用的计算单元cu数和任务运行时间三者正相关。

该方式通过监控共享用户组中的每个用户的资源实际使用量,并在任一用户的资源实际使用量小于预设的资源阈值,则为该用户分配第二共享资源组,以使该用户与共享第二共享资源组的其他用户共享该第二共享资源组中的资源,大大提高了该用户与共享资源组的契合度,避免了共享资源的浪费,保证了资源的利用率。

另一方面,本申请提供一种集群资源管理系统,包括:资源创建装置、与所述资源创建装置耦合的资源分配调度装置;

所述资源创建装置,用于根据资源共享模式和所获取的集群资源,创建至少一个共享资源组;

所述资源分配调度装置,用于将每个所述共享资源组的资源分配给多个用户。

上述所提供的集群资源管理系统,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源创建装置,包括:处理器;

所述处理器,用于根据资源共享模式和所获取的集群资源,创建至少一个共享资源组,每个共享资源组被多个用户共享。

该方面所提供的资源创建装置,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源分配调度装置,包括:处理器;

所述处理器,用于将资源创建装置创建的至少一个共享资源组中每个共享资源组分配给多个用户,所述共享资源组为所述资源创建装置根据资源共享模式和所获取的集群资源创建的。

该方面所提供的资源分配调度装置,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源的控制方法,包括:

根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n];其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关;

根据计算集群的空闲状态,将所述资源组分配给至少一个用户。

作为一种可实现的方式,每个资源组中的最小资源数量的和小于或等于所述集群资源的大小,每个资源组中的最大资源数量的和小于或等于所述集群资源的大小与所述超额分配比例正相关之后的值。

作为一种可实现的方式,所述根据计算集群的空闲状态,将所述资源组分配给至少一个用户,具体包括:

根据计算集群的空闲状态,为每个用户分配一个资源组。

作为一种可实现的方式,所述为每个用户分配一个资源组,具体包括:

将所述资源组与所述用户创建的项目组进行关联;

调度所述项目组下的所有项目共享所述资源组中的资源。

该方式通过超额分配比例的方式创建至少一个资源组,并根据计算集群的状态为每个用户分配一个资源组,从而可以控制用户在计算集群处于不同状态时,使用对应的资源组中不同的资源值,并且控制用户在计算集群处于较为空闲状态时,使用资源组的最大资源值执行相应的计算任务,大大提高了集群资源的利用率;同时,将用户创建的projectgroup与分配给用户的该资源组进行关联,使得集群管理设备只要通过配置projectgroup的属性就可以为该用户创建的多个project分配资源,很大程度上提高了资源分配效率。

另一方面,本申请提供一种集群资源管理系统,包括:资源创建装置、集群状态监测装置、与所述资源创建装置、所述集群状态监测装置分别耦合的资源分配调度装置;

所述资源创建装置,用于根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n];其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关;

所述集群状态监测装置,用于监测计算集群的空闲状态;

所述资源分配调度装置,用于根据所述集群状态监测装置所监测的计算集群的空闲状态,将所述资源组分配给至少一个用户。

该方面所提供的集群资源管理系统,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源创建装置,包括:处理器;

所述处理器,用于根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n];其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关;所述资源组[m,n]供至少一个用户使用。

该方面所提供的资源创建装置,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源分配调度装置,包括:处理器;

所述处理器,用于根据集群状态监测装置所监测的计算集群的空闲状态,将资源组[m,n]分配给至少一个用户;其中,所述资源组为资源创建装置根据超额分配信息和所获取的集群资源创建的,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关。

该方面所提供的资源分配调度装置,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源的控制方法,包括:

根据用户任务的时间信息和所获取的集群资源,创建与所述用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量;

根据所述用户任务的时间信息,将所述资源组分配给至少一个用户。

作为一种可实现的方式,所述根据所述用户任务的时间信息,将所述资源组分配给至少一个用户,具体包括:

根据所述用户任务的时间信息,为每个用户分配一个资源组。

作为一种可实现的方式,所述为每个用户分配一个资源组,具体包括:

将所述资源组与所述用户创建的项目组进行关联;

调度所述项目组下的所有项目共享所述资源组中的资源。

该方式通过根据用户任务的时间信息,创建至少一个资源组,使得所创建的资源组在不同的时间具有不同的资源数量,从而使得用户可以在某一时间段使用更多的资源(例如在当前执行任务的用户数量较少时),从而大大提高了用户的资源使用率;另外,将用户创建的projectgroup与分配给用户的该资源组进行关联,使得集群管理设备只要通过配置projectgroup的属性就可以为该用户创建的多个project分配资源,大大提高了资源分配效率。

另一方面,本申请提供一种集群资源管理系统,包括:资源创建装置、与所述资源创建装置耦合的资源分配调度装置;

所述资源创建装置,用于根据用户任务的时间信息和所获取的集群资源,创建与所述用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量;

所述资源分配调度装置,用于根据所述用户任务的时间信息,将所述资源组分配给至少一个用户。

该方面所提供的集群资源管理系统,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源创建装置,包括:处理器;

所述处理器,用于根据用户任务的时间信息和所获取的集群资源,创建与所述用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量,所述资源组被至少一个用户使用。

该方面所提供的资源创建装置,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源分配调度装置,包括:处理器;

所述处理器,用于根据用户任务的时间信息,将资源创建装置根据所述用户任务的时间信息和所获取的集群资源创建的资源组分配给至少一个用户;其中,所述资源组在不同的时间具有不同的资源数量。

该方面所提供的资源分配调度装置,其有益效果可以对应参照上述各可实现方式中的资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源的控制方法,包括:

根据预设的资源分配机制和所获取的集群资源,创建资源组;

将所述资源组分配给至少一个用户。

该方面提供的资源的控制方法,根据预设的资源分配机制和所获取的集群资源,创建资源组,从而将所创建的资源组分配给至少一个用户,不仅可以使得多个用户共享资源组,以提高资源利用率;而且在不同时间段用户可以使用资源大小符合当前时间段的资源组来执行计算任务,进一步地提高任务的计算效率以及资源利用率;并且,在计算集群处于不同状态时,用户可以使用大小符合当前状态的资源组来执行计算任务,更进一步提高了任务的计算效率以及资源利用率。也就是说,该方法可以将上述资源共享模式、超额分配信息和用户任务的时间信息中的两种或者三种方式进行结合,更加提升了资源利用率。

另一方面,本申请提供一种集群资源管理系统,包括:资源创建装置、与所述资源创建装置耦合的资源分配调度装置;

所述资源创建装置,用于根据预设的资源分配机制和所获取的集群资源,创建资源组;

所述资源分配调度装置,用于将所述资源组分配给至少一个用户。

该方面所提供的集群资源管理系统,其有益效果可以对应参照上述资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源创建装置,包括:处理器;

所述处理器,用于根据预设的资源分配机制和所获取的集群资源,创建资源组;所述资源组供至少一个用户使用。

该方面所提供的资源创建装置,其有益效果可以对应参照上述资源的控制方法所带来的有益效果,在此不再赘述。

另一方面,本申请提供一种资源分配调度装置,包括:处理器;

所述处理器,用于将资源创建装置根据预设的资源分配机制和所获取的集群资源创建的资源组分配给至少一个用户。

该方面所提供的资源分配调度装置,其有益效果可以对应参照上述资源的控制方法所带来的有益效果,在此不再赘述。

在本申请中,通过根据资源共享模式、超额分配信息、用户任务的时间信息中的任一个或者多个创建资源组,从而将所创建的资源组分配给至少一个用户,不仅可以使得多个用户共享资源组,以提高资源利用率;而且在不同时间段用户可以使用资源大小符合当前时间段的资源组来执行计算任务,进一步地提高任务的计算效率以及资源利用率;并且,在计算集群处于不同状态时,用户可以使用大小符合当前状态的资源组来执行计算任务,更进一步提高了任务的计算效率以及资源利用率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的集群管理系统架构示意图;

图1a为本申请一实施例提供的集群资源管理系统的结构示意图;

图2为本申请一实施例提供的资源的控制方法的流程示意图;

图3为本申请一实施例提供的资源的控制方法的流程示意图;

图4为本申请一实施例提供的资源的控制方法的流程示意图;

图5为本申请一实施例提供的资源的控制方法的流程示意图;

图6为本申请一实施例提供的资源的控制方法的流程示意图;

图7为本申请一实施例提供的资源的控制方法的流程示意图;

图8为本申请一实施例提供的集群资源管理系统结构示意图;

图9为本申请一实施例提供的集群资源管理系统结构示意图;

图10为本申请一实施例提供的集群资源管理系统结构示意图;

图11为本申请一实施例提供的集群资源管理系统结构示意图;

图12为本申请一实施例提供的资源创建装置结构示意图;

图13为本申请一实施例提供的资源分配调度装置结构示意图;

图14为本申请一实施例提供的资源创建装置结构示意图;

图15为本申请一实施例提供的资源分配调度装置结构示意图;

图16为本申请一实施例提供的资源创建装置结构示意图;

图17为本申请一实施例提供的资源分配调度装置结构示意图;

图18为本申请一实施例提供的资源创建装置结构示意图;

图19为本申请一实施例提供的资源分配调度装置结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

为了清楚起见,首先说明本发明使用的特定词或短语的定义。

公有云平台:面向公网部署并对外提供云计算服务的平台。

计算集群:大数据处理平台中必不可少的一部分,通过计算集群为用户提供大数据处理的能力,目前业界的计算集群系统有hadoop、spark、odps等。

多租户:每个用户被称为一个租户,租户可以创建多个project用于进行数据开发过程。另外,每个租户被分配一定的计算集群资源,分配给其下所有的project共享使用。

quota(资源组):通常来说包含一定数量的cpu和内存。

project(项目):集群中数据、代码等的基本组织单元,类似于传统数据库的database,例如用户可以为不同产品线分别创建独立的项目空间project。

projectgroup(项目组):本申请中指用于对project进行批量管理的基本单元。在projectgroup中可以设置每个project的基本属性达到对每个project所使用的计算资源的控制,如:通过设置project的最大并发任务数、单任务最大消耗cu数、quota的标识id等。

computeunit(计算单元cu):集群资源分配的一种方式,一个cu包含一定数量的cpu和内存资源,例如:1cu=2corecpu+8gb内存等。

本申请实施例提供的资源的控制方法,可以适用于公有云环境下大数据处理平台,该大数据平台包括为多个用户提供大数据处理的能力的计算集群,该大数据平台可以服务多个用户(或者租户)进行数据开发。本申请实施例所涉及的方法可以适用于图1所示的集群管理系统架构示意图,如图1所示,该集群管理系统包括公有云平台,公有云平台上可以包括一个或者多个管理计算资源和用户的集群管理设备,该公有云平台下可以挂载多个租户,每个租户可以创建多个project用于进行数据开发过程,并且每个租户通过在projectgroup中设置project的基本属性达到对集群资源的控制。另外,每个租户可以被分配一定的集群资源,然后租户分配给其下所有的project共享使用。

可选的,上述图1中的公有云平台上所包括的集群管理设备可以为多个,这多个集群管理设备构成了图1a所示的集群资源管理系统,该集群资源管理系统可以包括资源创建装置100和资源分配调度装置200,可选的,还可以包括资源监测装置300,可选的,还可以包括集群状态监测装置400,也就是说上述图1中位于公有云平台上的一些集群管理设备实际上为资源创建装置100,另一些集群管理设备实际上为资源分配调度装置200,还有一些集群管理设备实际上为资源监测装置300,剩余一些集群管理设备实际上为集群状态监测装置400。需要说明的是,图1a中所示的集群资源管理系统,在下述采用资源共享模式创建资源的场景下,该集群资源管理系统可以包括资源创建装置100和资源分配调度装置200,可选的,还可以包括资源监测装置300;在下述采用超额分配信息创建资源的场景下,该集群资源管理系统可以包括资源创建装置100、集群状态监测装置400和资源分配调度装置200;在下述采用用户任务的时间信息创建资源的场景下,该集群资源管理系统可以包括资源创建装置100和资源分配调度装置200。

通常,大数据处理平台下的计算集群资源却是有限的,不同的用户对资源的需求也不尽相同,例如,对于大型客户,其企业规模较大,将平台作为自己企业的云数据仓库,希望任意时刻都能得到最低资源保证,即使某些时段不能完全使用这些资源;对于中小型客户,其企业规模较小,对集群资源的需求往往不大,一般只需要确保在某些时间段内集中为其提供资源,对资源的独占性要求不高,而且对计算任务的完成时间敏感度不高。现有技术中为不同类型的用户单独提供不同规格的资源组的资源独占的分配方案,具有如下的技术问题:

(1)对于中小型企业客户来说,中小型企业只需要在某些时间段使用资源(或者突发性的),但现有技术中的资源独占方案,导致资源使用成本高,且资源利用率低;

(2)上述计算集群中所能支持的资源组(quota)数量有限,导致无法规模化服务互联网场景下众多客户的使用,资源利用率不高;

(3)现有技术只能按照固定的资源组(quota)为用户分配集群资源,所分配的资源通常无法很好的满足用户的使用。

基于上述技术问题,本申请提供的多个实施例分别从不同的方面来解决上述技术问题。

可选的,本申请实施例的执行主体可以是上述集群管理设备或者具有资源管理和控制功能的集群资源管理系统,该设备运行在公有云环境下的大数据处理平台上,为大数据处理平台的计算集群中的各个用户分配相应的资源。可选的,本申请实施例的执行主体还可以是集成在集群管理设备上的资源的控制装置,该控制装置可以通过软件、硬件或者软硬结合的方式实现,例如该装置可以是资源创建装置、还可以是资源分配调度装置等。下述实施例以执行主体为集群资源管理系统为例。

下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为本申请一实施例提供的资源的控制方法的流程示意图。本实施例涉及的是集群资源管理系统根据超额分配信息中携带的超额分配比例,创建至少一个资源组,并将资源组分配给用户的具体过程。本实施例中,所创建的资源组是一个范围值,集群资源管理系统可以根据计算集群的不同状态,为用户分配该资源组,该资源组的值可以是该范围值内的任意值,该值与计算集群的当前状态有关。如图2所示,该方法可以包括:

s201:根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n]。

其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关。

s202:根据计算集群的空闲状态,将所述资源组分配给至少一个用户。

具体的,本实施例中的集群资源可以是计算集群中cpu,还可以是计算集群中内存,还可以是cpu和内存的结合,即计算单元cu,一个cu包含一定数量的cpu和内存资源,该集群资源可以为计算集群的总资源,还可以为计算集群的部分资源,本申请实施例对集群资源的大小并不做限制。

集群资源管理系统在获取到集群资源之后,可以根据超额分配信息划分该集群资源,从而创建至少一个资源组(quota),该资源组为[m,n]。该m为用于使所述用户得到任务结果的最小资源数量,n为计算集群空闲时用户能够使用的最大资源数量,该最大资源数量与最小资源数量、以及上述超额分配比例正相关。可选的,该最大资源数量可以等于该最小资源数量和上述超额分配比例的乘积。可选的,在划分集群资源得到资源组时,可以进行单位的换算,例如,假设当前为用户分配一定数量的集群资源,例如:分配了200cu,每个cu为2corecpu和8gb内存,因此,可以将为用户分配的cu换算成为cpu和内存资源,其中cpu为2core*200=400core,内存为8gb*200=1600gb,然后基于400core和1600gb,得到资源组。

现有技术中对集群资源进行划分所得到的资源组(quota)的值是固定的,无论计算集群处理何种状态,资源组的值是固定不变的。例如,假设当前资源为1000台机器,分给100个用户,每个用户10台,资源组的值为10,但是在凌晨计算集群处理较为空闲的状态时,只有10个用户在用,也就是说当前只有100台在运转,资源利用率不高。但是,基于本申请的实施例,在进行资源分配时,例如可以按照2000台来分配(该例子中超额分配比例假设为2),即在分配时,如果计算集群中100个用户都在运行任务,可以按照最小值1000台来为用户分配资源,每个用户依然是10台机器,但是,当计算集群处于较为空闲状态时(只有10个用户在用),可以按照最大值2000台为用户分配资源,每个用户20台,这样在凌晨计算集群处理较为空闲的状态时就有200台机器在运转,即资源组的值为[10,20],从而提高了资源利用率。

因此,本实施例中,集群资源管理系统可以根据超额分配比例和所获取的集群资源得到至少一个资源组[m,n],m为用于使用户得到任务结果的最小资源数量(即上述的10台),所述n为计算集群空闲时用户能够使用的最大资源数量(即上述的20台);所述最大资源数量可以等于所述最小资源数量与所述超额分配比例的乘积。

以资源独占为例(即集群资源管理系统为每个用户分配一定数量的集群资源),具体为:

以一个用户为例,集群资源管理系统为该用户分配一定数量的集群资源,例如:分配了200cu,每个cu为2corecpu,8gb内存。然后集群资源管理系统根据为用户分配的cu换算为cpu和内存资源,其中cpu为2core*200=400core,内存为8gb*200=1600gb,基于此,集群资源管理系统可以为该用户创建quota,超额分配比例为2,则创建的资源组为[m,n],其中,m=400core,1600gb,n=800core,3200gb。

需要说明的是,由于集群资源管理系统为每个用户分配了一个资源组,因此,每个资源组中的最小资源数量相加得到的和应该小于或等于集群资源的大小,每个资源组中的最大资源数量相加所得到的和应该小于或等于所述集群资源的大小与所述超额分配比例正相关之后的值。可选的,这里的集群资源的大小与超额分配比例正相关可以是二者直接相乘,还可以是二者采用加权相乘的方式,本申请实施例对此不并做限定。可选的,以正相关为二者直接相乘为例,具体可以为公式来表示:设集群资源的cpu总量为c,单位core,集群资源的内存总量为p,单位gb,设根据集群资源所创建的资源组为[m1,n1]、[m2,n2]、[m3,n3]、…、[mn,nn],超额分配比例为k,其中m包括mc和mp,n包括nc和np,mc为当前资源组中的最小的cpu数量,mp为当前资源组中的最小内存数量,nc为当前资源组中的最大的cpu数量,np为当前资源组中的最大内存数量。那么所创建的资源组应该满足以下条件:

(1)

(2)

(3)

(4)

基于此,集群资源管理系统就创建了多个资源组,可选的,集群资源管理系统可以根据计算集群的空闲状态,将一个资源组分配给多个用户,也可以为每个用户单独分配一个资源组,按照上述资源独占的例子,每个用户可以独占一个资源组。例如,集群资源管理系统可以在集群空闲时控制用户使用最大的资源n或者大于m的任一资源值来执行计算任务,在集群非空闲时控制用户使用最小的资源m来执行计算任务。

可选的,在资源独占模式下,上述集群资源管理系统会根据计算集群的空闲状态,为每个用户分配一个资源组,从而可以控制用户在计算集群非空闲时,使用最小的资源m来执行计算任务,并控制用户在计算集群较为空闲时,可以使用最大的资源n或者大于m的任一资源值来执行计算任务,从而提高了用户使用集群资源的效率,并且大大节省了用户获得计算结果的时间,提高了用户的计算效率。

本申请实施例提供的资源的控制方法,通过超额分配比例的方式创建至少一个资源组,并根据计算集群的状态将一个资源组分配给至少一个用户,从而可以控制用户在计算集群处于不同状态时,使用对应的资源组中不同的资源值,并且控制用户在计算集群处于较为空闲状态时,使用资源组的最大资源值执行相应的计算任务,大大提高了集群资源的利用率,并且满足了用户对资源的使用要求。

可选的,在本申请实施例中的一种可能的实施方式中,由于每个用户分别可以创建一个对应的项目组(projectgroup),该projectgroup可以管理用户创建的多个项目(project),因此,集群资源管理系统可以将该资源组与所述用户创建的projectgroup进行关联,从而可以调度该用户的projectgroup下的所有project共享该资源组中的资源。需要说明的是,该用户下的所有project在共享在资源组中的资源时,可以采用竞争共享的方式共享,本申请实施例对此并不做限定。

该可能的实施方式,通过将用户创建的projectgroup与分配给用户的该资源组进行关联,使得集群资源管理系统只要通过配置projectgroup的属性就可以为该用户创建的多个project分配资源,很大程度上提高了资源分配效率。

图3为本申请一实施例提供的资源的控制方法的流程示意图。本实施例涉及的是集群资源管理系统根据用户任务的时间信息,创建至少一个资源组,并将资源组分配给用户的具体过程。本实施例中所创建的资源组,具有相应的时间属性,即资源组在不同时间具有不同的资源数量。如图3所示,该方法可以包括:

s301:根据用户任务的时间信息和所获取的集群资源,创建与用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量。

s302:根据所述用户任务的时间信息,将所述资源组分配给至少一个用户。

具体的,在实际使用中,不同用户对集群资源的使用具有明显的时段性,因此本实施例基于用户任务的时间信息进行资源分配,该用户任务的时间信息可以表明该用户执行任务的开始时间、结束时间等。例如,有的用户的任务集中在0~9点之间,有的用户的任务集中在9~24点,有的任务集中在0~24点之间等。因此,集群资源管理系统基于用户任务的时间信息,创建当前时间对应的至少一个资源组。需要说明的是,集群资源分布每个时间点或者每个时间段,即对于任一个时间点或者时间段,集群资源都是一样多,即不同的时间段均可以对应至少一个资源组;在分配时,按照用户任务的时间信息为所有的用户基于总集群资源进行分配。例如,设总集群资源为1000个cu,当前平台下有100个用户在执行任务,在0-9点,假设为其中的用户a分配了10个cu,则用户a的资源组在0-9点的值设为x;当9-24点时,当前执行任务的用户为50个,集群资源管理系统为用户a分配了20个cu,则用户a的资源组在0-9点的值设为y,即0-9点和9-24点,分配给用户a的资源组的值不同,通过资源组在不同时间属性下可以具有不同的资源值的方式,可以使得用户a能够利用更多的资源。

上述例子中介绍的一个用户对应一个资源组,当然,本实施例中,集群资源管理系统也可以根据用户任务的时间信息,为同一任务时间的多个用户分配一个资源组,例如,仍然设总集群资源为1000个cu,当前平台下有100个用户在执行任务,在0-9点,假设为其中的a类型分配了10个cu(a类用户的任务时间信息相同),a类用户可以在0-9点共享该10个cu,则a类用户的资源组在0-9点的值设为x;当9-24点时,当前执行任务的用户为50个,集群资源管理系统可以为a类用户分配了20个cu,a类用户可以在9-24点共享该20个cu,则a类用户的资源组在9-24点的值设为y,即在0-9点和9-24点,分配给a类用户的资源组的值不同,通过资源组在不同时间属性下可以具有不同的资源值的方式,可以使得a类用户能够利用更多的资源。

本申请实施例提供的资源的控制方法,通过根据用户任务的时间信息,创建至少一个资源组,使得所创建的资源组在不同的时间具有不同的资源数量,从而使得用户可以在某一时间段使用更多的资源(例如在当前执行任务的用户数量较少时),从而大大提高了用户的资源使用率,并且,对于中小型客户来说,避免了中小型客户的资源独占,只在其需要的时候为其分配资源,大大降低了资源使用成本。

可选的,在资源独占模式下,集群资源管理系统可以根据用户任务的时间信息,为每个用户分配一个资源组。可选的,由于每个用户分别可以创建一个对应的项目组(projectgroup),该projectgroup可以管理用户创建的多个项目(project),因此,集群资源管理系统可以将该分配给用户的资源组与所述用户创建的projectgroup进行关联,从而可以调度该用户的projectgroup下的所有project共享该资源组中的资源。需要说明的是,该用户下的所有project在共享在资源组中的资源时,可以采用竞争共享的方式共享,本申请实施例对此并不做限定。

本申请实施例提供的资源的控制方法,通过根据用户任务的时间信息,创建至少一个资源组,使得所创建的资源组在不同的时间具有不同的资源数量,从而使得用户可以在某一时间段使用更多的资源(例如在当前执行任务的用户数量较少时),从而大大提高了用户的资源使用率;另外,将用户创建的projectgroup与分配给用户的该资源组进行关联,使得集群资源管理系统只要通过配置projectgroup的属性就可以为该用户创建的多个project分配资源,大大提高了资源分配效率。

上述图2和图3的实施例主要介绍了集群资源管理系统通过超额分配方式或者按时间分配资源的方式提高资源利用率的具体过程,下述实施例主要介绍集群资源管理系统如何通过资源共享模式提高资源利用率的具体过程。可选的,下述实施例中,集群资源管理系统可以通过单独的资源共享模式创建共享资源组,还可以通过将资源共享模式和上述的超额分配方式进行结合来创建共享资源组,还可以通过将资源共享模式和上述的按时间分配资源的方式进行结合来创建共享资源组。具体参见下述实施例的介绍:

图4为本申请一实施例提供的资源的控制方法的流程示意图。本实施例涉及的是当资源分配机制包括资源共享模式时,集群资源管理系统创建共享资源组并分配给用户的具体过程。在上述实施例的基础上,该方法可以包括:

s401:根据资源共享模式和所获取的集群资源,确定至少一个共享资源组。

s402:将每个所述共享资源组的资源分配给多个用户。

具体的,集群资源管理系统可以根据资源共享模式和所获取的集群资源,可以将集群资源划分为多个共享资源,例如首先从集群资源中获取部分资源作为共享cu资源,然后将该共享cu资源进行换算,进而根据资源共享模式将该换算后的资源进行划分得到多个共享资源组。可选的,集群资源管理系统还可以将资源共享模式结合用户任务的时间信息,对于不同的时间段,分配不同的共享cu资源,进而在不同的时间段内,对当前的共享cu资源进行换算,得到该时间段对应的多个共享资源组,从而使得当前时间段的内的共享资源组更加符合用户的使用需求,并且在某一个时间段(例如在执行任务的用户较少的时间段),用户可以共享更多的cu资源。可选的,集群资源管理系统还可以将资源共享模式和上述超额分配信息结合起来创建资源组,对于空闲状态或者非空闲状态下的计算集群,使用户使用不同大小的集群资源,具体可以参见下述可能的实施方式。

当集群资源管理系统得到所创建的至少一个共享资源组之后,可以将每个共享资源组分配给多个用户。

本申请实施例提供的资源的控制方法,集群资源管理系统通过资源共享模式将集群资源创建成为至少一个共享资源组,并将每个共享资源组的资源分配给多个用户,使得多个用户可以共享该共享资源组中的资源,其可以规模化服务互联网场景下众多客户的使用,大大提高了资源利用率。

作为本申请实施例一种可能的实施方式,可选的,集群资源管理系统在创建共享资源组时,可以创建不同共享等级的共享资源组,具体可以为:

集群资源管理系统根据所获取的集群资源和预设的共享等级策略,创建不同共享等级的共享资源组,其中,任意两个共享资源组中,资源数量大的共享资源组的共享等级高于资源数量小的共享资源组的共享等级,即共享资源组中的资源数量越大,其共享等级越高。上述预设的共享等级策略可以是共享资源组中的资源数量的大小和共享等级的对应关系,还可以是共享资源组所能支持的用户的任务数与共享等级的对应关系,其中,共享资源组所支持的用户的任务数越多,共享资源组的共享等级越高。

可选的,作为一种创建不同共享等级的共享资源组的可能的实施方式,集群资源管理系统可以根据所支持的用户的最大并发任务数和单任务最大占用的资源数,将所述集群资源划分为不同共享等级的共享资源组。

具体的,本实施方式中的用户的最发并发任务数指的是用户可以并行执行的任务的数量,单任务最大占用的资源数可以是cu的数量,还可以是单独的cpu数量或者单独的内存数量,另外,不同的用户,其最大并发任务数可能不同,可能相同。集群资源管理系统在创建共享资源组时,根据当前平台下的所有用户的最大并发任务数和单任务最大占用的资源数,将集群资源划分为不同共享等级的共享资源组。例如,假设共享cu资源为24000core、96000gb,参见下述不同共享等级的共享资源组与用户的最大并发任务数和单任务最大占用的资源数的对应关系,将该共享cu资源创建为四个不同共享等级的共享资源组;

迷你型共享资源组:用户的最大并发任务数=5,单任务最大cpu数=10,该共享资源组中的资源数量:1600core、6400gb;

普及型共享资源组:用户的最大并发任务数=10,单任务最大cpu数=20,该共享资源组中的资源数量:3200core、12800gb;

标准型共享资源组:用户的最大并发任务数=20,单任务最大cpu数=40,该共享资源组中的资源数量:6400core、25600gb;

旗舰型共享资源组:用户的最大并发任务数=40,单任务最大cpu数=80,该共享资源组中的资源数量:12800core、51200gb;

其中,旗舰型共享资源组的共享等级大于标准型共享资源组的共享等级,标准型共享资源组的共享等级大于普及型共享资源组的共享等级,普及型共享资源组的共享等级大于迷你型共享资源组的共享等级。基于此,集群资源管理系统就可以得到不同共享等级的共享资源组。

在集群资源管理系统得到不同共享等级的共享资源组后,需要将每个共享资源组分配给多个用户。可选的,可以参见图5所示的资源的控制方法的流程示意图。图5具体描述了将不同共享等级的共享资源组分配给多个用户的具体过程。如图5所示,上述s402具体可以包括:

s501:获取每个用户的共享等级需求;其中,所述共享等级需求中携带所述用户所需的资源数量。

可选的,集群资源管理系统可以获取用户输入的共享等级需求,还可以根据用户的任务量确定用户的共享等级需求,每个用户的共享等级需求中可以携带当前用户所需的资源数量。其中,所需的资源数量越多,表明用户的共享等级需求越高。

s502:根据每个用户的共享等级需求,将共享等级需求相同的用户确定为共享用户组,并确定所述共享等级需求对应的第一共享资源组。

s503:将所述第一共享资源组中的资源分配给所述共享用户组中的多个用户。

具体的,当集群资源管理系统获得每个用户的共享等级需求之后,将每个用户的共享等级需求进行分类,并将共享等级需求相同的用户确定为共享用户组;同时,根据当前共享用户组的共享等级需求中携带的用户所需的资源数量和每个共享资源组中的资源数量进行匹配,从而将与共享等级需求中的资源组数量相等的共享资源组确定为第一共享资源组,进而将该第一共享资源组中的资源共享给共享用户组中的多个用户,大大提高了集群资源的利用率。

作为本申请实施例另一种可能的实施方式,可选的,上述集群资源管理系统采用单独的资源共享模式所创建的共享资源组中的值为固定的,参见上述旗舰型共享资源组、标准型共享资源组、普及型共享资源组和迷你型共享资源组的值。为了进一步提高计算集群的资源利用率,集群资源管理系统将资源共享模式和超额分配信息(设超额分配比例为2)进行结合,所得到的共享资源组的值可以为一范围值[m,n],用户可以在计算集群较为空闲时能够共享更多的资源,进一步提高了集群资源的利用率。继续参照上述的例子,集群资源管理系统采用资源共享模式和超额分配信息结合,所得到的不同共享等级的共享资源组具体可以为:

迷你型共享资源组:用户的最大并发任务数=5,单任务最大cpu数=10,该共享资源组[m1,n1]中的最小资源数量m1:1600core、6400gb,最大资源数量n1为3200core、12800gb;

普及型共享资源组:用户的最大并发任务数=10,单任务最大cpu数=20,该共享资源组[m2,n2]中的最小资源数量m2:3200core、12800gb,最大资源数量n2为6400core、25600gb

标准型共享资源组:用户的最大并发任务数=20,单任务最大cpu数=40,该共享资源组[m3,n3]中的最小资源数量m3:6400core、25600gb,最大资源数量n3为12800core、51200gb

旗舰型共享资源组:用户的最大并发任务数=40,单任务最大cpu数=80,该共享资源组[m4,n4]中的最小资源数量m4:12800core、51200gb,最大资源数量n4为25600core、102400gb。

进而,集群资源管理系统就可以将上述共享资源组按照计算集群的空闲状态,将每个共享资源组分配给多个用户,更加提高了资源的利用率。

可选的,集群资源管理系统还可以根据每个用户所创建的项目组projectgroup,建立不同的projectgroup与不同共享等级的共享资源组之间的对应关系;其中,所述projectgroup包括至少一个project。因此,集群资源管理系统可以根据该对应关系,将共享用户组指定到该第一共享资源组上,从而使得共享用户组中多个用户的projectgroup可以共享该第一共享资源组,进而使得集群资源管理系统可以通过配置每个projectgroup的project的属性就可以使得该projectgroup下的所有project共享该第一共享资源组,方便了集群资源管理系统对每个用户的project的资源的控制管理。

本申请实施例提供的资源的控制方法,集群资源管理系统通过资源共享模式将集群资源创建成为至少一个共享资源组,并将每个共享资源组的资源分配给多个用户,使得多个用户可以共享该共享资源组中的资源,其可以规模化服务互联网场景下众多客户的使用,大大提高了资源利用率;进一步地,根据用户的共享等级需求,将共享等级需求相同的用户确定为共享用户组,并确定该共享等级需求对应的第一共享资源组,从而将第一共享资源组分配给共享用户组中的多个用户,进而使得用户可以共享到匹配的共享资源组,避免造成资源的浪费;同时,将资源共享模式和超额分配信息、或者用户任务的时间信息进行结合创建共享资源组,从多个维度进一步地提高了集群资源的使用效率。

图6为本申请一实施例提供的资源的控制方法的流程示意图。本实施例涉及的是集群资源管理系统通过统计共享用户组中用户的资源实际使用量,根据用该实际使用量和预设的资源阈值进行比较,从而为资源实际使用量小于预设的资源阈值的用户分配更合适的共享资源组,提高用户与共享资源组的契合度的具体过程。在上述实施例的基础上,进一步地,在s503之后,该方法还可以包括:

s601:获取所述共享用户组中每个用户的资源实际使用量。

s602:若任一用户的资源实际使用量小于预设的资源阈值,则为所述用户分配第二共享资源组,以使所述用户与共享所述第二共享资源组的其他用户共享所述第二共享资源组中的资源。

其中,所述第二共享资源组的共享等级低于所述第一共享资源组。

具体的,当集群资源管理系统将第一共享资源组分配给对应共享等级需求的共享用户组之后,集群资源管理系统监控共享用户组中的每个用户的资源实际使用量。可选的,集群资源管理系统可以预设一资源阈值,当集群资源管理系统确定共享资源组中的某一个用户的资源实际使用量小于该资源阈值时,表明当前共享资源组供该用户使用的资源远远大于该用户的当前任务所需要的资源数量,造成资源浪费。因此,集群资源管理系统在检测到该用户的资源实际使用量小于该资源阈值时,就为该用户分配低于第一共享资源组的共享等级的第二共享资源组(即第二共享资源组中的资源数量小于第一共享资源组中的资源数量),从而为用户分配更适合于该用户使用的共享资源组,使得该用户与之前共享该第二共享资源组的其他用户一起使用该第二共享资源组中的资源,大大提高了用户与共享资源组的契合度。

可选的,上述资源阈值与用户的并发任务数、单任务最大使用的计算单元cu数和任务运行时间三者正相关,可选的,该资源阈值可以是平台管理员根据经验预设的,还可以是集群资源管理系统将用户的并发任务数、单任务最大使用的cu数和任务运行时间三者相乘得到的。

本申请实施例提供的资源的控制方法,通过监控共享用户组中的每个用户的资源实际使用量,并在任一用户的资源实际使用量小于预设的资源阈值,则为该用户分配第二共享资源组,以使该用户与共享第二共享资源组的其他用户共享该第二共享资源组中的资源,大大提高了该用户与共享资源组的契合度,避免了共享资源的浪费,保证了资源的利用率。

图7为本申请一实施例提供的资源的控制方法的流程示意图。本实施例涉及的是集群资源管理系统通过预设的资源分配机制创建资源组,并将资源组分配给至少一个用户,以提升资源利用率的具体过程。如图7所示,该方法包括:

s101:根据预设的资源分配机制和所获取的集群资源,创建资源组。

具体的,本实施例中的集群资源可以是计算集群中cpu,还可以是计算集群中内存,还可以是cpu和内存的结合,即计算单元cu,一个cu包含一定数量的cpu和内存资源,该集群资源可以为计算集群的总资源,还可以为计算集群的部分资源,本申请实施例对集群资源的大小并不做限制。

集群资源管理系统在获取到集群资源之后,可以根据预设的资源分配机制划分该集群资源,得到资源组(quota),可选的,该资源组可以是一个,还可以是多个。可选的,在划分集群资源得到资源组时,需要进行单位的换算,例如,假设当前为用户分配一定数量的集群资源,例如:分配了200cu,每个cu为2corecpu和8gb内存,因此,可以将为用户分配的cu换算成为cpu和内存资源,其中cpu为2core*200=400core,内存为8gb*200=1600gb,然后基于400core和1600gb,得到资源组。

可选的,上述资源分配机制可以是资源共享模式,旨在让多个用户可以共享一部分集群资源,以提高资源利用率;也就是说,采用资源共享模式可以将集群资源划分为至少一个共享资源组,然后将每个共享资源组分配给多个用户,这样多个用户就可以共享一个共享资源组,提高资源利用率。

可选的,上述资源分配机制可以是按照用户任务的时间信息创建资源组,该用户任务的时间信息用于表征用户当前的计算任务所在的时间,即表征用户什么时候执行计算任务,其旨在根据用户运行任务的时间,将集群资源按时间分配给不同的用户,使得集群资源能够更加符合用户的使用需求,从而提高资源利用率;也就是说,集群资源管理系统所获取的集群资源分布整个时间段(例如一天的24个小时),按照不同的用户任务的时间信息,可以将集群资源按照时间段进行分配,这样可以确保在不同的时间段,资源组能够更好的为当前时间段内的用户服务,例如,在凌晨等运行任务的用户较少的时间段,资源组的资源数量较多,这样保证当前少数的用户可以利用更多的资源,相较于现有技术中每个用户在不同的时间段使用固定的资源数量,本实施例大大提高了用户得到计算结果的效率以及资源利用率。

可选的,上述资源分配机制还可以是超额分配信息,旨在根据计算集群的空闲情况,将初始的集群资源乘以预设的资源倍数,按照超额的方式分配给用户,从而使得用户可以在计算集群处于不同状态时使用不同的资源进行数据的开发或者其他工作,从而提高资源利用率。例如,在计算集群处于较为空闲的状态时(即只有少数的用户在运行任务),集群资源管理系统就可以按照将初始的集群资源乘以预设的资源倍数进行资源分配(即分配给该少数的用户),使得少数运行任务的用户可以使用更多的资源,相较于现有技术中每个用户在计算集群处于不同的状态时所使用的资源数量固定,本实施例大大提高了用户得到计算结果的效率,同时也提高了资源利用率。

可选的,上述预设的资源分配机制还可以是其他能够提高集群资源利用率的机制,可选的,该资源分配机制还可以是资源共享模式、用户任务的时间、超额分配信息的任意两种方式的结合。可选的,集群资源管理系统根据用户的选择决定采用哪一种资源分配机制,还可以是根据用户的任务量大小决定采用哪一种资源分配机制。但是,无论是采用哪种方式创建资源组,本实施例中所创建的资源组均可以很好的提高资源利用率。

s102:将所述资源组分配给至少一个用户。

可选的,当上述集群资源管理系统创建的资源组为一个时,可以将该资源组分配给多个用户。可选的,当上述集群资源管理系统创建的资源组为多个时,可以将每个资源组分配给多个用户,还可以为每个用户分配一个资源组。

可选的,当集群资源管理系统采用资源独占的方式为每个用户分配一个资源组时,集群资源管理系统可以利用上述资源分配机制中的用户任务的时间信息或者超额分配信息的方式创建资源组,所创建的资源组也可以很好的提高资源利用率,具体原因参见上述s101的描述。

可选的,当集群资源管理系统采用资源共享的方式为多个用户分配一个共享资源组时,集群资源管理系统可以单独采用上述资源分配机制中的资源共享模式进行资源组的创建,还可以将资源共享模式、用户任务的时间信息进行结合创建资源组,还可以将资源共享模式、超额分配信息进行结合创建资源组。

本申请实施例提供的资源的控制方法,通过根据预设的资源分配机制和所获取的集群资源,创建资源组,从而将所创建的资源组分配给至少一个用户,不仅可以使得多个用户共享资源组,以提高资源利用率;而且在不同时间段用户可以使用资源大小符合当前时间段的资源组来执行计算任务,进一步地提高任务的计算效率以及资源利用率;并且,在计算集群处于不同状态时,用户可以使用大小符合当前状态的资源组来执行计算任务,更进一步提高了任务的计算效率以及资源利用率。

以下将详细描述本申请的一个或多个实施例的集群资源管理系统。本领域技术人员可以理解,该集群资源管理系统均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。例如,下述实施例中的涉及控制功能、创建功能的装置可以使用单片机、微控制器、微处理器等组件实现。

下述为本申请系统实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图8为本申请一实施例提供的集群资源管理系统结构示意图,图8是基于上述图1a的基础上示出的。如图8所示,该集群资源管理系统包括资源创建装置10、与所述资源创建装置10耦合的资源分配调度装置11;

所述资源创建装置10,用于根据资源共享模式和所获取的集群资源,创建至少一个共享资源组;

所述资源分配调度装置11,用于将每个所述共享资源组的资源分配给多个用户。

可选的,该资源创建装置10可以为独立的集群管理设备,还可以为集成在集群管理设备中的装置,该资源分配调度装置11可以为独立的集群管理设备,还可以为集成在集群管理设备中的装置。

可选的,上述集群资源管理系统还可以包括资源监测装置12。

可选的,上述资源创建装置10,具体用于根据所述集群资源和预设的共享等级策略,创建不同共享等级的共享资源组,其中,任意两个共享资源组中,资源数量大的共享资源组的共享等级高于资源数量小的共享资源组的共享等级。

可选的,上述资源分配调度装置11,具体用于获取每个用户的共享等级需求,并根据每个用户的共享等级需求,将共享等级需求相同的用户确定为共享用户组,并确定所述共享等级需求对应的第一共享资源组,然后将所述第一共享资源组中的资源分配给所述共享用户组中的多个用户;其中,所述共享等级需求中携带所述用户所需的资源数量。

可选的,上述资源监测装置12,用于获取所述共享用户组中每个用户的资源实际使用量,并当所述共享用户组中任一用户的资源实际使用量小于预设的资源阈值时,指示所述资源分配调度装置11为所述用户分配第二共享资源组,以使所述用户与共享所述第二共享资源组的其他用户共享所述第二共享资源组中的资源;其中,所述第二共享资源组的共享等级低于所述第一共享资源组。

需要说明的是,图8所示的集群管理系统可以适用于上述采用资源共享模式创建资源和分配资源的方法实施例,其执行过程和有益效果与该方法实施例的工作原理和有益效果类似,在此不再赘述。

图9为本申请一实施例提供的集群资源管理系统结构示意图,图9是基于上述图1a的基础上示出的。如图9所示,该集群资源管理系统包括资源创建装置20资源创建装置20、集群状态监测装置21、与所述资源创建装置20、所述集群状态监测装置21分别耦合的资源分配调度装置22;

所述资源创建装置20,用于根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n];其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关;

所述集群状态监测装置21,用于监测计算集群的空闲状态;

所述资源分配调度装置22,用于根据所述集群状态监测装置21所监测的计算集群的空闲状态,将所述资源组分配给至少一个用户。

可选的,上述资源分配调度装置22,具体用于根据集群状态监测装置21监测到的计算集群的空闲状态,将所述资源组分配给至少一个用户。

进一步地的,上述资源分配调度装置22,具体用于将所述资源组与所述用户创建的项目组进行关联,并调度所述项目组下的所有项目共享所述资源组中的资源。

需要说明的是,图9所示的集群管理系统可以适用于上述超额分配信息创建资源和分配资源的方法实施例,其执行过程和有益效果与该方法实施例的工作原理和有益效果类似,在此不再赘述。

图10为本申请一实施例提供的集群资源管理系统结构示意图,图10是基于上述图1a的基础上示出的。如图10所示,该集群资源管理系统包括资源创建装置30、与所述资源创建装置30耦合的资源分配调度装置31;

所述资源创建装置30,用于根据用户任务的时间信息和所获取的集群资源,创建与所述用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量;

所述资源分配调度装置31,用于根据所述用户任务的时间信息,将所述资源组分配给至少一个用户。

可选的,上述资源分配调度装置31,具体用于根据所述用户任务的时间信息,为每个用户分配一个资源组。

进一步地,上述资源分配调度装置31,具体用于将所述资源组与所述用户创建的项目组进行关联,并调度所述项目组下的所有项目共享所述资源组中的资源。

需要说明的是,图10所示的集群管理系统可以适用于上述采用用户任务的时间信息创建资源和分配资源的方法实施例,其执行过程和有益效果与该方法实施例的工作原理和有益效果类似,在此不再赘述。

图11为本申请一实施例提供的集群资源管理系统结构示意图,图11是基于上述图1a的基础上示出的。如图11所示,该集群资源管理系统包括资源创建装置40、与所述资源创建装置40耦合的资源分配调度装置41;

所述资源创建装置40,用于根据预设的资源分配机制和所获取的集群资源,创建资源组;

所述资源分配调度装置41,用于将所述资源组分配给至少一个用户。

需要说明的是,图11所示的集群管理系统可以适用于采用资源共享模式、超额分配信息、用户任务的时间信息中的一个或者多个创建资源和分配资源的方法实施例,其执行过程和有益效果与该方法实施例的工作原理和有益效果类似,在此不再赘述。

以下将详细描述本申请的一个或多个实施例的资源创建装置和资源分配调度装置。本领域技术人员可以理解,该资源创建装置和资源分配调度装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。例如,下述实施例中的涉及控制功能、创建功能的装置可以使用单片机、微控制器、微处理器等组件实现。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图12为本申请一实施例提供的资源创建装置结构示意图。如图12所示,该资源创建装置可以包括处理器50、存储器51和至少一个通信总线52。通信总线52用于实现元件之间的通信连接。存储器51可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器51中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器50例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器50,用于根据资源共享模式和所获取的集群资源,创建至少一个共享资源组,每个共享资源组被多个用户共享。

进一步地,所述处理器50,具体用于根据所述集群资源和预设的共享等级策略,创建不同共享等级的共享资源组,其中,任意两个共享资源组中,资源数量大的共享资源组的共享等级高于资源数量小的共享资源组的共享等级。

更进一步地,所述处理器50,具体用于根据所支持的用户的最大并发任务数和单任务最大占用的资源数,将所述集群资源划分为不同共享等级的共享资源组。

需要说明的是,图12所示的资源创建装置可以适用于上述采用资源共享模式创建资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图13为本申请一实施例提供的资源分配调度装置结构示意图。如图13所示,该资源分配调度装置可以包括处理器60、存储器61和至少一个通信总线62。通信总线62用于实现元件之间的通信连接。存储器61可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器61中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。可选的,该资源创建装置还可以包括输入设备63,该输入设备63,用于获取用户输入的资源获取请求、或者其他的请求。

可选的,上述处理器60例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器60,用于将上述图12所示的资源创建装置创建的至少一个共享资源组中每个共享资源组分配给多个用户,所述共享资源组为上述资源创建装置根据资源共享模式和所获取的集群资源创建的。

进一步地,所述处理器60,具体用于获取每个用户的共享等级需求,并根据每个用户的共享等级需求,将共享等级需求相同的用户确定为共享用户组,并确定所述共享等级需求对应的第一共享资源组,然后将所述第一共享资源组中的资源分配给所述共享用户组中的多个用户;

其中,任意两个共享资源组中,资源数量大的共享资源组的共享等级高于资源数量小的共享资源组的共享等级;所述共享等级需求中携带所述用户所需的资源数量。

可选的,所述处理器60,还用于获取上述资源监测装置所监测到的所述共享用户组中每个用户的资源实际使用量,并在任一用户的资源实际使用量小于预设的资源阈值时,为所述用户分配第二共享资源组,以使所述用户与共享所述第二共享资源组的其他用户共享所述第二共享资源组中的资源;其中,所述第二共享资源组的共享等级低于所述第一共享资源组。

需要说明的是,图13所示的资源分配调度装置可以适用于上述采用资源共享模式分配资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图14为本申请一实施例提供的资源创建装置结构示意图。如图14所示,该资源创建装置可以包括处理器70、存储器71和至少一个通信总线72。通信总线72用于实现元件之间的通信连接。存储器71可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器71中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器70例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器70,用于根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n];其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关;所述资源组[m,n]供至少一个用户使用。

需要说明的是,图14所示的资源创建装置可以适用于上述采用超额分配信息创建资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图15为本申请一实施例提供的资源分配调度装置结构示意图。如图15所示,该资源分配调度装置可以包括处理器80、存储器81和至少一个通信总线82。通信总线82用于实现元件之间的通信连接。存储器81可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器81中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器80例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器80,用于根据上述集群状态监测装置所监测的计算集群的空闲状态,将资源组[m,n]分配给至少一个用户;其中,所述资源组为上述资源创建装置根据超额分配信息和所获取的集群资源创建的,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关。

进一步地,每个资源组中的最小资源数量的和小于或等于所述集群资源的大小,每个资源组中的最大资源数量的和小于或等于所述集群资源的大小与所述超额分配比例正相关之后的值。

进一步地,上述处理器80,具体用于根据计算集群的空闲状态,为每个用户分配一个资源组。

更进一步地,上述处理器80,具体用于将所述资源组与所述用户创建的项目组进行关联,并调度所述项目组下的所有项目共享所述资源组中的资源。

需要说明的是,图15所示的资源分配调度装置可以适用于上述采用计算集群的空闲状态分配资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图16为本申请一实施例提供的资源创建装置结构示意图。如图16所示,该资源创建装置可以包括处理器90、存储器91和至少一个通信总线92。通信总线92用于实现元件之间的通信连接。存储器91可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器91中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器90例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器90,用于根据用户任务的时间信息和所获取的集群资源,创建与所述用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量,所述资源组被至少一个用户使用。

需要说明的是,图16所示的资源创建装置可以适用于上述采用用户任务的时间信息创建资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图17为本申请一实施例提供的资源分配调度装置结构示意图。如图17所示,该资源分配调度装置可以包括处理器1001、存储器1002和至少一个通信总线1003。通信总线1003用于实现元件之间的通信连接。存储器1002可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器1002中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器1001例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器1001,用于根据用户任务的时间信息,将上述图16所示的资源创建装置根据所述用户任务的时间信息和所获取的集群资源创建的资源组分配给至少一个用户;其中,所述资源组在不同的时间具有不同的资源数量。

进一步地,该处理器1001,具体用于根据所述用户任务的时间信息,为每个用户分配一个资源组。

更进一步地,该处理器1001,具体用于将所述资源组与所述用户创建的项目组进行关联,并调度所述项目组下的所有项目共享所述资源组中的资源。

需要说明的是,图17所示的资源分配调度装置可以适用于上述采用用户任务的时间信息分配资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图18为本申请一实施例提供的资源创建装置结构示意图。如图18所示,该资源创建装置可以包括处理器1101、存储器1102和至少一个通信总线1103。通信总线1103用于实现元件之间的通信连接。存储器1102可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器1102中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器1101例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器1101,用于根据预设的资源分配机制和所获取的集群资源,创建资源组;所述资源组供至少一个用户使用。

需要说明的是,图18所示的资源创建装置可以适用于上述采用资源共享模式、超额分配信息、用户任务的时间信息中的一个或者多个创建资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

图19为本申请一实施例提供的资源分配调度装置结构示意图。如图19所示,该资源分配调度装置可以包括处理器1201、存储器1202和至少一个通信总线1203。通信总线1203用于实现元件之间的通信连接。存储器1202可能包含高速ram存储器,也可能还包括非易失性存储nvm,例如至少一个磁盘存储器,存储器1202中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。

可选的,上述处理器1201例如可以为中央处理器(centralprocessingunit,简称cpu)、应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现。

本实施例中,上述处理器1201,用于将上述图18所示的资源创建装置根据预设的资源分配机制和所获取的集群资源创建的资源组分配给至少一个用户。

需要说明的是,图19所示的资源分配调度装置可以适用于上述采用资源共享模式、超额分配信息、用户任务的时间信息中的一个或者多个分配资源的方法实施例,其可以执行该方法实施例的方法步骤,二者的工作原理和有益效果类似,在此不再赘述。

一种计算机/处理器可读存储介质,所述存储介质中存储有程序指令,所述程序指令用于使所述计算机/处理器执行:

根据资源共享模式和所获取的集群资源,创建至少一个共享资源组;

将每个所述共享资源组的资源分配给多个用户。

一种计算机/处理器可读存储介质,所述存储介质中存储有程序指令,所述程序指令用于使所述计算机/处理器执行:

根据超额分配信息和所获取的集群资源,创建至少一个资源组[m,n];其中,所述超额分配信息中携带超额分配比例;所述m为用于使所述用户得到任务结果的最小资源数量,所述n为计算集群空闲时用户能够使用的最大资源数量;所述最大资源数量与所述最小资源数量、所述超额分配比例正相关;

根据计算集群的空闲状态,将所述资源组分配给至少一个用户。

一种计算机/处理器可读存储介质,所述存储介质中存储有程序指令,所述程序指令用于使所述计算机/处理器执行:

根据用户任务的时间信息和所获取的集群资源,创建与所述用户任务的时间信息对应的至少一个资源组;其中,所述资源组在不同的时间具有不同的资源数量;

根据所述用户任务的时间信息,将所述资源组分配给至少一个用户。

一种计算机/处理器可读存储介质,所述存储介质中存储有程序指令,所述程序指令用于使所述计算机/处理器执行:

根据预设的资源分配机制和所获取的集群资源,创建资源组;

将所述资源组分配给至少一个用户。

上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1