CN109684065B - 一种资源调度方法、装置及系统 - Google Patents

一种资源调度方法、装置及系统 Download PDF

Info

Publication number
CN109684065B
CN109684065B CN201811604076.XA CN201811604076A CN109684065B CN 109684065 B CN109684065 B CN 109684065B CN 201811604076 A CN201811604076 A CN 201811604076A CN 109684065 B CN109684065 B CN 109684065B
Authority
CN
China
Prior art keywords
scheduling
target
label
resource
computing
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.)
Active
Application number
CN201811604076.XA
Other languages
English (en)
Other versions
CN109684065A (zh
Inventor
李泽玺
邱剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yunlian Yiyun Technology Co.,Ltd.
Original Assignee
Beijing Yunlian Wanvi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Yunlian Wanvi Technology Co ltd filed Critical Beijing Yunlian Wanvi Technology Co ltd
Priority to CN201811604076.XA priority Critical patent/CN109684065B/zh
Publication of CN109684065A publication Critical patent/CN109684065A/zh
Application granted granted Critical
Publication of CN109684065B publication Critical patent/CN109684065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Abstract

本发明实施例公开了一种资源调度方法、装置及系统。其中,该方法包括:依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及所述目标调度策略中的标签,确定候选计算节点;依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,以供资源分配系统依据所述调度请求分配计算资源。通过本发明实施例的技术方案,能够灵活调度相关调度策略,进而满足用户的个性化调度需求。

Description

一种资源调度方法、装置及系统
技术领域
本发明实施例涉及云计算技术领域,尤其涉及一种资源调度方法、装置及系统。
背景技术
云计算(Cloud Computing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。调度系统是云计算平台的一个重要组成部分。云计算平台由海量的计算节点(计算设备如物理机)构成,用户向云计算平台提出计算资源(可以是虚拟机,容器或计算任务)申请后,由调度系统确定这些计算资源将在哪些计算节点上运行。调度系统的决策决定了整个云计算平台的资源使用效率,能影响整个平台的性能和稳定性,是云计算平台的核心。因此如何在尽可能统一通用的调度框架下,选择出最合理的计算节点,用于放置用户申请的计算资源,满足用户个性化的需求,是目前云计算平台调度系统所面临的主要问题。
目前,主流的调度系统的计算框架一般分为3个阶段,过滤:根据计算资源需求过滤掉不符合要求的计算节点;排序:根据调度需求,对剩余的计算节点进行打分和排序;选择:按照排序结果,选择适合的计算节点。在这个3阶段的调度框架下,为了满足用户对调度的个性化需求,通常采取如下手段,允许用户在调度时指定个性化的需求:
(1)插件机制,调度器提供多种调度的过滤和排序算法插件,用户可以根据自身需求选择用哪些插件,从而满足自身的个性化调度需求。例如OpenStack Nova的调度器提供了数十种插件,云平台管理员根据用户需求,配置好采用哪些调度器插件,调度器启动后就采用这些插件进行调度计算。由于不同的调度插件对应不同的配置信息及功能,当用户的调度需求改变时,需要修改调度的插件配置或下载安装用户所需的调度插件,甚至需要开发新的调度插件,因此这种机制不够灵活。
(2)标签机制:对计算节点进行标签,用户提交调度请求时,显式地指定计算资源必须调度到具备或者不具备指定标签的计算节点集合,从而实现按照需求精确地过滤计算节点。例如,Kubernetes的调度器提供了Node Selector的机制,通过制定计算节点的标签(label)来达到影响调度结果的目的。然而这种机制要求标签和节点静态绑定,也就是说管理员必须提给节点打上标签,因此存在标签不准确的问题,同时只能基于标签匹配的硬性条件过滤计算节点。
(3)多调度器机制:云计算平台配置了多个不同策略的调度器并行工作,用户提供调度申请时,可以指定采用那个调度器进行资源调度,从而满足个性化的调度需求。例如,Kubernetes在最近的版本中提供了这种多调度器的支持。然而这种机制类似插件机制,也存在不够灵活的问题。
(4)其他一些特殊定制化的措施。例如,在调度器内部实现一些比较共性的调度逻辑。例如,Kubernetes实现了affinity和antiaffinity的调度逻辑,用来指定和特定容器共享或不共享共同的计算节点或网络的策略。这种机制开发成本高,也存在不够灵活的问题。
因此,提供一种灵活的调度方法,以满足用户的个性化调度需求是十分必要的。
发明内容
本发明实施例提供一种资源调度方法、装置及系统,能够灵活调度相关调度策略,进而满足用户的个性化调度需求。
第一方面,本发明实施例还提供了一种资源调度方法,包括:
依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;
依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及所述目标调度策略中的标签,确定候选计算节点;
依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,以供资源分配系统依据所述资源调度请求分配计算资源。
第二方面,本发明实施例还提供了一种资源调度装置,该装置包括:
调度策略确定模块,用于依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;
候选节点确定模块,用于依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及所述目标调度策略中的标签,确定候选计算节点;
资源调度模块,用于依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,以供资源分配系统依据所述资源调度请求分配计算资源。
第三方面,本发明实施例还提供了一种资源调度系统,该系统包括:策略调度系统和资源分配系统,其中,
所述策略调度系统,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;依据预先构建的标签与标签条件关联关系,计算节点属性信息,所述资源描述信息以及所述目标调度策略中的标签,确定候选计算节点;依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,并将所述目标计算节点提供给所述资源分配系统;
所述资源分配系统,依据所述资源调度请求为所述目标计算节点分配计算资源。
本发明实施例提供的资源调度方法、装置及系统,策略调度系统在获取到用户提交的资源调度请求后,可以根据预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;并依据预先构建的标签与标签条件关联关系,计算节点属性信息,资源描述信息以及目标调度策略中的标签,确定候选计算节点;而后依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,并将该目标计算节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。相比于现有的资源调度方案,本方案通过结合预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略,使得所确定的目标调度策略更加准确,进而使依据目标调度策略所选择的目标计算节点更加符合用户个性化的需求。此外,若用户的需求改变即资源调度请求中的资源描述信息和/或用户调度策略改变,本方案也可根据改变的需求及预先定义的平台调度策略,自动灵活确定目标调度策略,不需要重修修改插件配置或额外下载新的调度插件等。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例一中提供的一种资源调度方法的流程图;
图2是本发明实施例二中提供的一种资源调度方法的流程图;
图3是本发明实施例三中提供的一种资源调度方法的流程图;
图4是本发明实施例四中提供的一种资源调度装置的结构示意图;
图5是本发明实施例五中提供的一种资源调度系统的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种资源调度方法的流程图,本实施例可适用于如何灵活调度,以便满足用户的个性化调度需求情况。整套方法可以由云计算平台上的策略调度系统和资源分配系统配合来执行,本实施例中该方法可以由策略调度系统执行。该方法可以由本发明实施例提供的资源调度装置来执行,该装置可采用软件和/或硬件的方式实现,并可集成于配置策略调度系统或调度器的计算设备中,或独立的策略调度系统或调度器中。参见图1,该方法具体包括:
S110,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略。
本实施例中,资源调度请求是指用户在需要调度某一计算资源(可以是虚拟机,容器或计算任务等)时,向云计算平台所提交的请求,该请求中可以包括资源描述信息以及用户调度策略。资源描述信息用于表达用户对计算资源的需求,可以包括但不限于所需的计算资源的规格(例如多少核CPU,多少G内存,多少G磁盘)、数量、归属项目标识如项目ID、类型(例如虚拟机、容器或Hadoop计算任务等)、其他属性(例如虚拟机的操作系统、虚拟化技术、要求的软件版本等等)以及发起者等。例如,用户所提交的资源描述信息可以是需要多少台几核几G多少磁盘空间的虚拟机或容器。调度策略是指调用计算节点(计算设备如物理机)执行计算资源如计算任务所用的策略,一个调度策略由一个标签及该标签对应的标签偏好需求所构成,也就是说,标签以及对标签的偏好需求构成了一次调度的调度策略。标签偏好需求用于表征用户对具有指定标签的计算节点的偏好程度,可以包括必须具备(require)、最好具备(prefer)、最好不具备(avoid)和必须不具备(exclude),其中必须具备和必须不具备属于刚性需求,最好具备和最好不具备属于柔性需求;用户调度策略是指用户在向云计算平台提交资源调度请求时,显式指定的调度策略。
平台调度策略是指云计算平台管理员根据实际需求、计算节点属性信息以及统计历史资源调度请求等预先定义的调度策略,且在使用的过程中可动态的增加、删除或修改等。可选的,一个平台调度策略由一个调度策略(即标签以及对标签的偏好需求)和应用该调度策略的调度条件所构成,其中,调度条件用于表达在什么条件下自动应用该调度策略。例如,预先定义了hadoop(计算节点只分配给hadoop应用),ssd(计算节点部署了ssd磁盘),sameproject(具有和当前资源调度请求相同项目标识的计算资源的计算节点),memory_enough(内存足够)和storage_enough(存储足够)等标签,以及相对应的标签偏好需求,且上述节点均未静态绑定到任一计算节点上。参见表1示出了预先定义的4个平台调度策略:
表1预定义的平台调度策略
Figure BDA0001923190210000071
本实施例中,目标调度策略可以包括至少一个调度策略。为了使所确定的目标调度策略更加细化、更加准确,以便后续基于目标策略所选择的目标计算节点更能符合用户的个性化需求,可以结合平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略。
示例性的,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略可以包括下述步骤:
A、依据资源描述信息及平台调度策略的调度条件,确定待添加平台调度策略;
本实施例中,待添加平台调度策略是平台调度策略中的一个或多个调度策略。以表1所示的平台调度策略为例进行说明,若用户所提交的资源调度请求中的用户调度策略为:require:hadoop,资源描述信息包括所需计算资源规格为4核CPU32G内存32G磁盘的虚拟机10台、计算资源的归属项目ID以及计算节点具备hadoop标签。
由于平台调度策略中avoid:sameproject、require:memory_enough以及require:storage_enough这三个调度策略的调度条件均为“任意情况下都应用该策略”,因此,可将avoid:sameproject,require:memory_enough以及require:storage_enough确定为待添加平台调度策略;资源描述信息指定计算资源所需内存为32G,且require:high_memory的调度条件为计算资源的内存大于或等于32G,因此也可将require:high_memory确定为待添加平台调度策略;对于require:windows调度策略,由于用户所提交的资源描述信息中未给定虚拟机的操作系统类型,因此不将require:windows确定为待添加平台调度策略。此外,由于用户调度策略为:require:hadoop,还可以依据用户调度策略及平台调度策略的调度条件将prefer:ssd也确定为待添加平台调度策略。因此,最终所确定的待添加平台调度策略为:prefer:ssd,avoid:sameproject,require:memory_enough,require:storage_enough,require:high_memory。
B、将待添加平台调度策略及用户调度策略,作为目标调度策略。
具体的,策略调度系统在获取到用户提交到云计算平台的资源调度请求后,可以检查用户提交的资源描述信息是否满足某个平台调度策略的调度条件,如果满足,则可将该平台调度策略中的调度策略确定为待添加平台调度策略;而后可将待添加平台调度策略添加至用户调度策略之后,作为目标调度策略。例如目标调度策略为:require:hadoop,prefer:ssd,avoid:sameproject,require:memory_enough,require:storage_enough,require:high_memory,包括了6个调度策略。
需要说明的是,相比于现有的资源调度方案,本实施例中云计算平台管理员可以根据实际需求灵活修改预先定义的平台调度策略,因此即使用户的需求改变即资源调度请求中的资源描述信息和/或用户调度策略改变,本实施例也可根据改变的需求及预先定义的平台调度策略,自动灵活且准确确定目标调度策略,不需要重修修改插件配置或额外下载安装新的调度插件等。
S120,依据预先构建的标签与标签条件关联关系,计算节点属性信息,资源描述信息以及目标调度策略中的标签,确定候选计算节点。
本实施例中,计算节点属性信息可以包括但不限于计算节点规格(例如计算节点是多少核CPU,多少G内存,多少G磁盘的物理机)、计算节点上部署的项目标识如项目ID、当前剩余内存及存储空间、操作系统类型如windows、当前所部署的标签以及与该标签的关系(动态绑定还是静态绑定)等。
标签与标签条件关联关系是指云计算平台管理员在预先定义平台调度策略的同时,预先定义的动态标签策略,可用于为满足标签条件的计算节点动态添加对应的标签。例如,表2所示的几组关联关系:
表2预先构建的标签与标签条件关联关系
Figure BDA0001923190210000091
Figure BDA0001923190210000101
具体的,可以将目标调度策略中的标签输入至预先构建的标签与标签条件关联关系中,在匹配成功的情况下,将该标签作为目标标签;获取目标标签对应的标签条件,可以依据目标标签对应的标签条件、资源描述信息以及计算节点属性信息,从计算节点中选择候选计算节点。
S130,依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,以供资源分配系统依据资源调度请求分配计算资源。
本实施例中,标签偏好需求可以包括刚性需求和柔性需求;刚性需求对应于绝对条件,可以包括必须具备和必须不具备;柔性需求对应于可选条件,也就是说可以具备,也可以不具备,可以最好具备和最好不具备。资源分配系统是组成云计算平台的一部分,主要用于对计算资源进行分配。
具体的,可以依据资源描述需求中计算资源的规格确定本次所需计算节点的个数,而后依据目标调度策略中的标签偏好需求,对候选节点进行过滤、排序,而后依据排序结果确定目标计算节点,并将该目标节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。
本发明实施例提供的技术方案,策略调度系统在获取到用户提交的资源调度请求后,可以根据预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;并依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及目标调度策略中的标签,确定候选计算节点;而后依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,并将该目标计算节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。相比于现有的资源调度方案,本方案通过结合预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略,使得所确定的目标调度策略更加准确,进而使依据目标调度策略所选择的目标计算节点更加符合用户个性化的需求。此外,若用户的需求改变即资源调度请求中的资源描述信息和/或用户调度策略改变,本方案也可根据改变的需求及预先定义的平台调度策略,自动灵活确定目标调度策略,不需要重修修改插件配置或额外下载新的调度插件等。
实施例二
图2为本发明实施例二提供的一种资源调度方法的流程图,本发明实施例在上述实施例的基础上,进一步的依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及目标调度策略中的标签,确定候选计算节点进行解释说明。参见图2,该方法具体包括:
S210,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略。
以表1所示的平台调度策略、表2所示的预先构建的标签与标签条件关联关系为例进行说明,若用户所提交的资源调度请求中的用户调度策略为:require:hadoop,资源描述信息包括所需计算资源规格为4核CPU32G内存32G磁盘的虚拟机10台、计算资源的归属项目ID以及计算节点需要具备hadoop标签;计算节点均为8核CPU384G内存2T磁盘的物理机100,且一些计算节点如50个上部署有hadoop应用等;目标调度策略为:require:hadoop,prefer:ssd,avoid:sameproject,require:memory_enough,require:storage_enough,require:high_memory。
S220,依据预先构建的标签与标签条件关联关系,以及目标调度策略中的标签,确定目标标签及目标标签对应的标签条件。
具体的,针对每一目标调度策略,获取该目标调度策略的标签,而后将获取的标签与预先构建的标签与标签条件关联关系进行匹配,若匹配成功,则将该标签确定为目标标签;在确定目标标签后,依据预先构建的标签与标签条件关联关系即可确定目标标签对应的标签条件。
以目标调度策略为require:hadoop,prefer:ssd,avoid:sameproject,require:memory_enough,require:storage_enough,require:high_memory,预先构建的标签与标签条件关联关系如表2所示为例进行说明。依据预先构建的标签与标签条件关联关系,以及目标调度策略中的标签,所确定的目标标签分别为:hadoop、ssd、sameproject、memory_enough、storage_enough以及high_memory标签。
若hadoop标签预先绑定到分配给hadoop应用的计算节点上,也就是说hadoop标签已静态绑定到对应的计算节点上,表2中预先构建的标签与标签条件关联关系中不包括hadoop标签及其标签条件,则目标标签分别为:ssd、sameproject、memory_enough、storage_enough以及high_memory。
S230,依据目标标签对应的标签条件,资源描述信息,以及计算节点属性信息,从计算节点中选择待添加计算节点。
具体的,可依据资源描述信息及计算节点属性,从计算节点中筛选出满足用户所提交的资源描述信息的计算节点;而后依据目标标签对应的标签条件及所筛选出的计算节点的计算节点属性,从筛选出的计算节点中选择至少满足一个标签条件的计算节点作为待添加计算节点。
例如,目标标签分别为:hadoop、ssd、sameproject、memory_enough、storage_enough以及high_memory标签,由于资源描述信息中指定计算节点需要具备hadoop标签,且hadoop标签对应的标签偏好需求为require,而当前计算节点上均未绑定hadoop标签,因此可依据计算节点属性,从计算节点中选择满足hadoop标签对应的标签条件的计算节点,并为其动态添加hadoop标签;而后依据资源描述信息中的其余描述信息及具备hadoop标签的计算节点的计算节点属性信息,从具备hadoop标签的计算节点中选择满足其余描述信息的计算节点;进而依据目标标签ssd、sameproject、memory_enough、storage_enough以及high_memory各自对应的标签条件,及所筛选出的计算节点的计算节点属性,从筛选出的计算节点中选择至少满足一个标签条件的计算节点作为待添加计算节点。
若hadoop标签预先绑定到分配给hadoop应用的计算节点上,也就是说hadoop标签已静态绑定到对应的计算节点上,则可先依据资源描述信息中的计算节点需具备hadoop标签,目标调度策略中hadoop标签对应的标签偏好需求require,及计算节点属性,从计算节点中筛选出具备hadoop标签的计算节点;而后操作过程与上述过程类似,不再赘述。
S240,为待添加计算节点添加对应的目标标签,作为候选计算节点。
具体的,为待添加计算节点动态绑定上其满足相应标签条件的目标标签,并将其作为候选计算节点。
例如,给具有和当前请求计算资源相同项目ID的待添加计算节点动态添加上sameproject标签,给内存足够和存储足够的待添加计算节点分别添加上memory_enough和storage_enough的标签,给具备ssd介质的待添加计算节点添加上ssd的标签等。将添加相应目标标签的待添加计算节点作为候选计算节点。
需要说明的是,一个候选计算节点上至少添加了一个目标标签。
S250,依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,以供资源分配系统依据资源调度请求分配计算资源。
示例性的,在依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,以供资源分配系统依据资源调度请求分配计算资源之后还可以包括:
若检测到目标计算节点已执行完所分配的计算资源,则可以解除该目标计算节点动态绑定的目标标签。
本发明实施例提供的技术方案,策略调度系统在获取到用户提交的资源调度请求后,通过结合预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略,使得所确定的目标调度策略更加准确;而后依据预先构建的标签与标签条件关联关系,计算节点属性信息,资源描述信息以及目标调度策略中的标签,为满足需求的计算节点动态绑定标签,作为候选计算节点,通过动态添加标签进一步增加了方案的灵活度;使得最终依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,更加符合用户个性化的需求。
实施例三
图3为本发明实施例三提供的一种资源调度方法的流程图,本实施例在上述实施例的基础上,进一步的优化。参见图3,该方法具体包括:
S310,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略。
S320,依据用户调度策略中的刚性需求,对计算节点进行初步筛选;或者,依据目标调度策略中的刚性需求,对计算节点进行初步筛选。
例如,预先定义了hadoop(计算节点只分配给hadoop应用),ssd(计算节点部署了ssd磁盘),sameproject(具有和当前资源调度请求相同项目标识的计算资源的计算节点),memory_enough(内存足够)和storage_enough(存储足够)等标签,以及相对应的标签偏好需求,且hadoop标签预先绑定到分配给hadoop应用的计算节点上,也就是说hadoop标签已静态绑定到对应的计算节点上。同时,预先定义的平台调度策略如表1所示,预先构建的标签与标签条件关联关系不包括表2中的不包括hadoop标签及其标签条件。用户调度策略为:require:hadoop;目标调度策略为:require:hadoop,prefer:ssd,avoid:sameproject,require:memory_enough,require:storage_enough,require:high_memory。
本实施例中,刚性需求对应的标签包括hadoop,或者hadoop、memory_enough、storage_enoug以及high_memory,由于只有hadoop标签被绑定到计算节点,因此,依据刚性需求过滤剩下的计算节点为具备hadoop标签的计算节点。
需要说明的是,在计算节点中存在静态绑定标签的情况下,可依据刚性需求对计算节点进行初步筛选的操作,若计算节点中不存在静态绑定标签,则无需执行本操作。
S330,依据预先构建的标签与标签条件关联关系,以及目标调度策略中的标签,确定目标标签及目标标签对应的标签条件。
S340,依据目标标签对应的标签条件,资源描述信息以及计算节点属性信息,从初步筛选后的计算节点中选择待添加计算节点。
S350,为待添加计算节点添加对应的目标标签,作为候选计算节点。
S360,依据目标调度策略中的刚性需求,从候选计算节点中选择待选目标计算节点。
需要说明的是,由于动态添加目标标签的操作,候选计算节点中添加了新的标签,且这些标签可能被应用了require/exclude的调度策略,所以需要重新进行筛选或过滤,即选择具备require的标签的计算节点,排除具备exclude的标签的计算节点。
具体的,可以依据目标调度策略中的刚性需求,从候选计算节点中选择具备require的标签的计算节点,作为待选目标计算节点。例如,在执行步骤S320的情况下,此处的刚性需求对应的标签包括memory_enough、storage_enoug以及high_memory,因此,依据刚性需求从候选计算节点中选择具备memory_enough、storage_enoug以及high_memory的计算节点。
S370,依据目标调度策略中的柔性需求,对待选目标计算节点进行排序。
具体的,依据目标调度策略中的柔性需求即prefer和avoid,对待选目标计算节点执行预定操作,例如,基于分值排序的策略调度系统中,针对绑定了prefer的标签的计算节点加分,对绑定了avoid标签的计算节点减分;而后对待选计算节点按分值从高到低进行排序。
例如,对具备sameproject标签的待选目标计算节点减分如减1,对具备ssd标签的待选目标计算节点加分如加1,若均不具备sameproject标签和ssd标签的待选目标计算节点设置固定分值,如为0;而后对待选计算节点按分值从高到低进行排序。
S380,依据排序结果,确定目标计算节点,以供资源分配系统依据资源调度请求分配计算资源。
具体的,依据资源描述需求中计算资源的规格确定本次所需计算节点的个数;而后依据排序结果,从分值最高处开始选择所需的待选目标计算节点作为目标计算节点;并将该目标节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。
本发明实施例提供的技术方案,策略调度系统在获取到用户提交的资源调度请求后,可以根据预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;并依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及目标调度策略中的标签,确定候选计算节点;而后依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,并将该目标计算节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。相比于现有的资源调度方案,本方案通过结合预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略,使得所确定的目标调度策略更加准确,进而使依据目标调度策略所选择的目标计算节点更加符合用户个性化的需求。此外,若用户的需求改变即资源调度请求中的资源描述信息和/或用户调度策略改变,本方案也可根据改变的需求及预先定义的平台调度策略,自动灵活确定目标调度策略,不需要重修修改插件配置或额外下载新的调度插件等。
实施例四
图4为本发明实施例四提供的一种资源调度装置的结构示意图,该装置可执行本发明任意实施例所提供的资源调度方法,具备执行方法相应的功能模块和有益效果。如图4所示,该装置可以包括:
调度策略确定模块410,用于依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;
候选节点确定模块420,用于依据预先构建的标签与标签条件关联关系,计算节点属性信息,资源描述信息以及目标调度策略中的标签,确定候选计算节点;
资源调度模块430,用于依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,以供资源分配系统依据资源调度请求分配计算资源。
本发明实施例提供的技术方案,策略调度系统在获取到用户提交的资源调度请求后,可以根据预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;并依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及目标调度策略中的标签,确定候选计算节点;而后依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,并将该目标计算节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。相比于现有的资源调度方案,本方案通过结合预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略,使得所确定的目标调度策略更加准确,进而使依据目标调度策略所选择的目标计算节点更加符合用户个性化的需求。此外,若用户的需求改变即资源调度请求中的资源描述信息和/或用户调度策略改变,本方案也可根据改变的需求及预先定义的平台调度策略,自动灵活确定目标调度策略,不需要重修修改插件配置或额外下载新的调度插件等。
示例性的,调度策略确定模块410可以具体用于:
依据资源描述信息及平台调度策略的调度条件,确定待添加平台调度策略;
将待添加平台调度策略及用户调度策略,作为目标调度策略。
示例性的,候选节点确定模块420可以具体用于:
依据预先构建的标签与标签条件关联关系,以及目标调度策略中的标签,确定目标标签及目标标签对应的标签条件;
依据目标标签对应的标签条件,资源描述信息,以及计算节点属性信息,从计算节点中选择待添加计算节点;
为待添加计算节点添加对应的目标标签,作为候选计算节点。
示例性的,标签偏好需求可以包括:刚性需求和柔性需求。
示例性的,资源调度模块430可以具体用于:
依据目标调度策略中的刚性需求,从候选计算节点中选择待选目标计算节点;
依据目标调度策略中的柔性需求,对待选目标计算节点进行排序;
依据排序结果,确定目标计算节点。
示例性的,上述装置还可以包括:
节点初筛模块,用于在依据预先构建的标签与标签条件关联关系,计算节点属性信息,资源描述信息以及所述目标调度策略中的标签,确定候选计算节点之前,依据用户调度策略中的刚性需求,对计算节点进行初步筛选;或者,依据目标调度策略中的刚性需求,对计算节点进行初步筛选。
实施例五
图5为本发明实施例五提供的一种资源调度系统的结构框图,如图5所示,该系统500可以包括:策略调度系统510和资源分配系统520,其中,策略调度系统510可执行本发明任意实施例所提供的资源调度方法,具备执行方法相应的功能模块和有益效果。具体的,
策略调度系统510,可以依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;依据预先构建的标签与标签条件关联关系,计算节点属性信息,资源描述信息以及目标调度策略中的标签,确定候选计算节点;依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,并将目标计算节点提供给资源分配系统;
资源分配系统520,可以依据资源调度请求为目标计算节点分配计算资源。
本发明实施例提供的技术方案,策略调度系统在获取到用户提交的资源调度请求后,可以根据预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;并依据预先构建的标签与标签条件关联关系,计算节点属性信息,以及目标调度策略中的标签,确定候选计算节点;而后依据目标调度策略中的标签偏好需求,从候选计算节点中选择目标计算节点,并将该目标计算节点提供给资源分配系统,以便资源分配系统依据资源调度请求为各目标计算节点分配计算资源,进而完成计算资源的分配。相比于现有的资源调度方案,本方案通过结合预先定义的平台调度策略,以及资源调度请求中的资源描述信息和用户调度策略三个维度,确定目标调度策略,使得所确定的目标调度策略更加准确,进而使依据目标调度策略所选择的目标计算节点更加符合用户个性化的需求。此外,若用户的需求改变即资源调度请求中的资源描述信息和/或用户调度策略改变,本方案也可根据改变的需求及预先定义的平台调度策略,自动灵活确定目标调度策略,不需要重修修改插件配置或额外下载新的调度插件等。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (8)

1.一种资源调度方法,其特征在于,包括:
依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;
依据预先构建的标签与标签条件关联关系,计算节点属性信息,所述资源描述信息以及所述目标调度策略中的标签,确定候选计算节点;
所述依据预先构建的标签与标签条件关联关系,计算节点属性信息,所述资源描述信息以及所述目标调度策略中的标签,确定候选计算节点,包括:
依据预先构建的标签与标签条件关联关系,以及所述目标调度策略中的标签,确定目标标签及所述目标标签对应的标签条件;
依据所述目标标签对应的标签条件,所述资源描述信息,以及计算节点属性信息,从计算节点中选择待添加计算节点;
为所述待添加计算节点添加对应的目标标签,作为候选计算节点;
依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,以供资源分配系统依据所述资源调度请求分配计算资源。
2.根据权利要求1所述的方法,其特征在于,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略,包括:
依据所述资源描述信息及所述平台调度策略的调度条件,确定待添加平台调度策略;
将所述待添加平台调度策略及所述用户调度策略,作为所述目标调度策略。
3.根据权利要求1所述的方法,其特征在于,所述标签偏好需求包括:刚性需求和柔性需求。
4.根据权利要求3所述的方法,其特征在于,依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,包括:
依据所述目标调度策略中的刚性需求,从所述候选计算节点中选择待选目标计算节点;
依据所述目标调度策略中的柔性需求,对所述待选目标计算节点进行排序;
依据排序结果,确定所述目标计算节点。
5.根据权利要求3所述的方法,其特征在于,依据预先构建的标签与标签条件关联关系,计算节点属性信息,所述资源描述信息以及所述目标调度策略中的标签,确定候选计算节点之前,还包括:
依据用户调度策略中的刚性需求,对计算节点进行初步筛选;或者,依据所述目标调度策略中的刚性需求,对计算节点进行初步筛选。
6.一种资源调度装置,其特征在于,包括:
调度策略确定模块,用于依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;
候选节点确定模块,用于依据预先构建的标签与标签条件关联关系,计算节点属性信息,所述资源描述信息以及所述目标调度策略中的标签,确定候选计算节点;
所述候选节点确定模块具体用于:
依据预先构建的标签与标签条件关联关系,以及所述目标调度策略中的标签,确定目标标签及所述目标标签对应的标签条件;
依据所述目标标签对应的标签条件,所述资源描述信息,以及计算节点属性信息,从计算节点中选择待添加计算节点;
为所述待添加计算节点添加对应的目标标签,作为候选计算节点;
资源调度模块,用于依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,以供资源分配系统依据所述资源调度请求分配计算资源。
7.根据权利要求6所述的装置,其特征在于,所述调度策略确定模块具体用于:
依据所述资源描述信息及所述平台调度策略的调度条件,确定待添加平台调度策略;
将所述待添加平台调度策略及所述用户调度策略,作为所述目标调度策略。
8.一种资源调度系统,其特征在于,包括:策略调度系统和资源分配系统,其中,
所述策略调度系统,依据预先定义的平台调度策略、以及资源调度请求中的资源描述信息和用户调度策略,确定目标调度策略;依据预先构建的标签与标签条件关联关系,计算节点属性信息,所述资源描述信息以及所述目标调度策略中的标签,确定候选计算节点;依据预先构建的标签与标签条件关联关系,以及所述目标调度策略中的标签,确定目标标签及所述目标标签对应的标签条件;依据所述目标标签对应的标签条件,所述资源描述信息,以及计算节点属性信息,从计算节点中选择待添加计算节点;为所述待添加计算节点添加对应的目标标签,作为候选计算节点;依据所述目标调度策略中的标签偏好需求,从所述候选计算节点中选择目标计算节点,并将所述目标计算节点提供给所述资源分配系统;所述资源分配系统,依据所述资源调度请求为所述目标计算节点分配计算资源。
CN201811604076.XA 2018-12-26 2018-12-26 一种资源调度方法、装置及系统 Active CN109684065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811604076.XA CN109684065B (zh) 2018-12-26 2018-12-26 一种资源调度方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811604076.XA CN109684065B (zh) 2018-12-26 2018-12-26 一种资源调度方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109684065A CN109684065A (zh) 2019-04-26
CN109684065B true CN109684065B (zh) 2020-11-03

Family

ID=66189787

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811604076.XA Active CN109684065B (zh) 2018-12-26 2018-12-26 一种资源调度方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109684065B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110838939B (zh) * 2019-10-11 2022-04-08 许继集团有限公司 一种基于轻量级容器的调度方法及边缘物联管理平台
CN113032135A (zh) * 2019-12-24 2021-06-25 北京初速度科技有限公司 一种地图生产系统及其方法
CN111049855B (zh) * 2019-12-25 2022-02-01 北京天融信网络安全技术有限公司 一种基于标签的策略配置方法及装置
CN111200658A (zh) * 2020-01-06 2020-05-26 紫光云技术有限公司 一种云主机pci设备直通分配方法
CN111240836A (zh) * 2020-01-06 2020-06-05 北京百度网讯科技有限公司 算力资源管理方法、装置、电子设备及存储介质
CN113344311A (zh) * 2020-03-03 2021-09-03 北京国双科技有限公司 任务执行方法、装置、存储介质、处理器及电子设备
CN111625337A (zh) * 2020-05-28 2020-09-04 浪潮电子信息产业股份有限公司 一种任务调度方法、装置、电子设备和可读存储介质
US11146503B1 (en) * 2020-10-23 2021-10-12 Huawei Technologies Co., Ltd. Resource scheduling methods using positive and negative caching, and resource manager implementing the methods
CN112363811B (zh) * 2020-11-16 2023-04-07 中国电子科技集团公司电子科学研究院 一种人工智能计算资源调度方法及计算机可读存储介质
CN112199200B (zh) * 2020-12-04 2021-03-02 腾讯科技(深圳)有限公司 资源调度方法、装置、计算机设备和存储介质
CN112667378A (zh) * 2020-12-28 2021-04-16 紫光云技术有限公司 一种基于资源标签的计算资源调度方法
WO2023056618A1 (zh) * 2021-10-09 2023-04-13 国云科技股份有限公司 跨云平台资源调度方法、装置、终端设备及存储介质
CN115766876A (zh) * 2022-11-22 2023-03-07 中国联合网络通信集团有限公司 资源调度方法、装置、设备及存储介质
CN117112242B (zh) * 2023-10-24 2024-01-26 纬创软件(武汉)有限公司 一种云计算系统中的资源节点分配方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102958166A (zh) * 2011-08-29 2013-03-06 华为技术有限公司 一种资源分配方法及资源管理平台
CN104679595A (zh) * 2015-03-26 2015-06-03 南京大学 一种面向应用的IaaS层动态资源分配方法
CN105335229A (zh) * 2014-07-25 2016-02-17 杭州华三通信技术有限公司 一种业务资源的调度方法和装置
CN106126347A (zh) * 2016-08-17 2016-11-16 浪潮电子信息产业股份有限公司 一种云平台下有效实现主机集群资源调度的方法
US9519515B2 (en) * 2010-12-16 2016-12-13 International Business Machines Corporation Remediating gaps between usage allocation of hardware resource and capacity allocation of hardware resource
CN106664321A (zh) * 2014-08-08 2017-05-10 甲骨文国际公司 基于放置策略的计算资源分配
CN106874115A (zh) * 2017-01-20 2017-06-20 杭州虚核科技有限公司 一种虚拟机资源分配方法及分布式虚拟机资源调度系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9519515B2 (en) * 2010-12-16 2016-12-13 International Business Machines Corporation Remediating gaps between usage allocation of hardware resource and capacity allocation of hardware resource
CN102958166A (zh) * 2011-08-29 2013-03-06 华为技术有限公司 一种资源分配方法及资源管理平台
CN105335229A (zh) * 2014-07-25 2016-02-17 杭州华三通信技术有限公司 一种业务资源的调度方法和装置
CN106664321A (zh) * 2014-08-08 2017-05-10 甲骨文国际公司 基于放置策略的计算资源分配
CN104679595A (zh) * 2015-03-26 2015-06-03 南京大学 一种面向应用的IaaS层动态资源分配方法
CN106126347A (zh) * 2016-08-17 2016-11-16 浪潮电子信息产业股份有限公司 一种云平台下有效实现主机集群资源调度的方法
CN106874115A (zh) * 2017-01-20 2017-06-20 杭州虚核科技有限公司 一种虚拟机资源分配方法及分布式虚拟机资源调度系统

Also Published As

Publication number Publication date
CN109684065A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
CN109684065B (zh) 一种资源调度方法、装置及系统
US10896064B2 (en) Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads
CN109983441B (zh) 用于批作业的资源管理
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
US9846589B2 (en) Virtual machine placement optimization with generalized organizational scenarios
US8825863B2 (en) Virtual machine placement within a server farm
US9262220B2 (en) Scheduling workloads and making provision decisions of computer resources in a computing environment
CN109144710B (zh) 资源调度方法、装置及计算机可读存储介质
US10324754B2 (en) Managing virtual machine patterns
WO2016078008A1 (zh) 调度数据流任务的方法和装置
US10296389B2 (en) Time-bound conditional resource deallocation
US20140380303A1 (en) Storage management for a cluster of integrated computing systems
US9875139B2 (en) Graphics processing unit controller, host system, and methods
CN103797462A (zh) 一种创建虚拟机的方法和装置
US10102098B2 (en) Method and system for recommending application parameter setting and system specification setting in distributed computation
CN107832151B (zh) 一种cpu资源分配方法、装置及设备
US10452442B2 (en) System and method for resource management
US9218198B2 (en) Method and system for specifying the layout of computer system resources
US20160070590A1 (en) Computing Instance Placement Using Estimated Launch Times
US20230229496A1 (en) Allocating resources for network function virtualization
US11301299B2 (en) Data based scheduling for horizontally scalable clusters
US20230100484A1 (en) Serverless function colocation with storage pools
WO2016074130A1 (zh) 一种系统调用命令的批处理方法及装置
US11048557B2 (en) Methods and modules relating to allocation of host machines
CN113626173A (zh) 调度方法、装置及存储介质

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
TR01 Transfer of patent right

Effective date of registration: 20201221

Address after: F456, 1st floor, No. 1089, Huihe South Street, Banbidian village, Gaobeidian Township, Chaoyang District, Beijing 100023

Patentee after: Beijing Yunlian Yiyun Technology Co.,Ltd.

Address before: Jiahua space, 2nd floor, gate B, building 6, Guochuang Industrial Park, Laiguangying West Road, Chaoyang District, Beijing 100012

Patentee before: BEIJING YUNLIAN WANVI TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right