CN115904673B - 云计算资源并发调度方法、装置、系统、设备及介质 - Google Patents
云计算资源并发调度方法、装置、系统、设备及介质 Download PDFInfo
- Publication number
- CN115904673B CN115904673B CN202310218493.5A CN202310218493A CN115904673B CN 115904673 B CN115904673 B CN 115904673B CN 202310218493 A CN202310218493 A CN 202310218493A CN 115904673 B CN115904673 B CN 115904673B
- Authority
- CN
- China
- Prior art keywords
- task
- job
- node
- scheduling
- candidate
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种云计算资源并发调度方法、装置、系统、设备及介质,方法包括:通过资源管理组件集中管理集群资源的状态,资源管理组件用于为多个并发的调度器进程提供集群中资源节点状态的查询;其中,多个调度器进程共享集中管理的集群资源状态;调度器进程的作业调度过程包括筛选阶段和排序阶段;筛选阶段执行的操作为:以按顺序或随机的方式,从集群中筛选出满足约束条件的所有或部分候选资源节点,其中候选资源节点的状态为正常状态;排序阶段执行的操作为:基于所有或部分候选资源节点,计算每个候选节点的合适度;在计算后的候选节点数量满足阈值后,选择将任务/任务集部署到具有最高合适度的节点上。本发明可提高云计算资源的调度效率。
Description
技术领域
本发明涉及一种云计算资源并发调度方法、装置、系统、设备及介质,属于云计算资源调度领域。
背景技术
大部分的云计算资源管理系统采用单体调度器架构,由单独的一个调度器负责资源节点筛选、排序和分配过程的计算,像Hadoop早期版本、Borg、Kubernetes和DockerSwarm等均属于此类。Mesos和YARN支持两级调度,分为资源分配和任务放置两个步骤;资源管理器负责整个集群资源的分配,应用级调度器决定是否接受被分配的资源并部署任务;虽然两级调度系统支持多个应用级调度器,但是每个调度器并不知道全局的资源使用和任务分配情况,因此很难实现抢占式调度,且存在不同调度器相互干扰的可能。Omega和Apolo采用共享状态乐观调度架构,支持多个调度器并发执行;每个调度器都保存一份集群状态的副本,以事务的形式更新状态副本;如果发生冲突,有可能导致调度失败。Sparrow采用完全分布式(点对点式)的调度架构,不存在集中的协调服务,多个调度器独立调度,每个调度器只拥有集群的部分知识;这种调度架构健壮性强,但是难以保证调度效率。
发明内容
有鉴于此,本发明提供了一种云计算资源并发调度方法、装置、系统、计算机设备及存储介质,其由单独组件管理集群资源状态的副本,多个调度器只涉及任务调度并生成对应的分配规划,可以提高云计算资源的调度效率。
本发明的第一个目的在于提供一种云计算资源并发调度方法。
本发明的第二个目的在于提供一种云计算资源并发调度装置。
本发明的第三个目的在于提供一种云计算资源并发调度系统。
本发明的第四个目的在于提供一种计算机设备。
本发明的第五个目的在于提供一种存储介质。
本发明的第一个目的可以通过采取如下技术方案达到:
一种云计算资源并发调度方法,用于调度作业,其中作业包括至少一个任务,所述方法包括:
通过资源管理组件集中管理集群资源的状态,所述资源管理组件,用于为多个并发的调度器进程提供集群中资源节点状态的查询;
其中,多个调度器进程共享集中管理的集群资源状态;
多个所述调度器进程中,至少一个调度器进程或者所有调度器进程的作业调度过程包括筛选阶段和排序阶段;
所述筛选阶段执行的操作,包括:
以按顺序或者随机的方式,从集群中筛选出满足约束条件的所有或者部分候选资源节点,其中候选资源节点的状态为正常状态;
所述排序阶段执行的操作,包括:
基于所有或者部分候选资源节点,计算每个候选节点的合适度;
在计算后的候选节点数量满足阈值之后,选择将任务/任务集部署到具有最高合适度的节点上。
进一步的,所述方法还包括:
调度控制器将多个需要调度的作业送入作业队列;
调度控制器从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列;
调度控制器从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果。
进一步的,所述作业包括其中之一:用户提交的第一作业和调度控制器提交的第二作业;
所述第一作业包括其中之一:新建作业、更新作业和删除作业;
所述第二作业为某个作业的分配规划不可行时需要重新调度的作业。
进一步的,作业入队及出队的顺序规则,包括:
高优先级的作业排在低优先级的作业之前先行入队及出队;
相同优先级的作业以先入先出的方式入队及出队。
进一步的,分配规划入队及出队的顺序规则,包括:
高优先级的分配规划排在低优先级的分配规划之前先行入队及出队;
相同优先级的分配规划以先入先出的方式入队及出队。
进一步的,所述计算每个候选节点的合适度,包括:
以每个候选节点的CPU、内存和存储能力为依据,根据最佳匹配V3公式计算每个候选节点的合适度;
若任一候选节点部署有同一任务集的多个任务,则进一步根据所述同一任务集的碰撞个数计算其合适度。
进一步的,任务类型包括其中之一:系统服务类、系统批处理类、批处理类和长时间运行服务类;
系统服务类/系统批处理类任务对应的调度器进程不涉及筛选阶段和排序阶段,所述系统服务类/系统批处理类任务直接在所有资源节点上执行;
批处理类/长时间运行服务类任务对应的调度器进程涉及筛选阶段和排序阶段。
进一步的,作业调度过程中:
所述批处理类任务对应的调度器进程需筛选出满足约束条件的部分候选资源节点;
所述长时间运行服务类任务对应的调度器进程需筛选出满足约束条件的所有候选资源节点。
进一步的,所述方法还包括:
若检测结果为可行,调度控制器则将所述分配规划交给资源节点执行;
若检测结果为不可行,调度控制器则通知生成所述分配规划的调度器进程重新调度。
本发明的第二个目的可以通过采取如下技术方案达到:
一种云计算资源并发调度装置,用于调度作业,其中作业包括至少一个任务,所述装置包括:
集中管理和查询模块,用于通过资源管理组件集中管理集群资源的状态,所述资源管理组件,用于为多个并发的调度器进程提供集群中资源节点状态的查询;
其中,多个调度器进程共享集中管理的集群资源状态;
多个所述调度器进程中,至少一个调度器进程或者所有调度器进程的作业调度过程包括筛选阶段和排序阶段;
所述筛选阶段执行的操作,包括:
以按顺序或者随机的方式,从集群中筛选出满足约束条件的所有或者部分候选资源节点,其中候选资源节点的状态为正常状态;
所述排序阶段执行的操作,包括:
基于所有或者部分候选资源节点,计算每个候选节点的合适度;
在计算后的候选节点数量满足阈值之后,选择将任务/任务集部署到具有最高合适度的节点上。
本发明的第三个目的可以通过采取如下技术方案达到:
一种云计算资源并发调度系统,所述系统包括作业队列单元、规划队列单元、多个调度器和实现上述的云计算资源并发调度方法的调度控制器;
所述作业队列单元,用于存储作业队列;
所述规划队列单元,用于存储规划队列;
所述调度器进程的总数等于所述调度控制器的CPU核的总数。
本发明的第四个目的可以通过采取如下技术方案达到:
一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现上述的云计算资源并发调度方法。
本发明的第五个目的可以通过采取如下技术方案达到:
一种存储介质,存储有程序,所述程序被处理器执行时,实现上述的云计算资源并发调度方法。
本发明相对于现有技术具有如下的有益效果:
本发明实施例中,每个调度器进程不用保存一份集群资源状态的副本,而是由单独组件集中管理集群资源的状态, 可以克服传统调度方式中调度过程与更新副本过程相互冲突的技术问题,减少调度失败概率,可以提高云计算资源的调度效率;加之,通过调度控制器进行集中的协调服务,每个调度器只涉及任务调度并生成对应的分配规划,拥有集群的所有知识,并且多个调度器进程并发执行,从而极大地提高云计算资源的调度效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明实施例1的云计算资源并发调度系统的结构框图。
图2为本发明实施例1的调度控制器的结构框图。
图3为本发明实施例1的云计算资源并发调度方法的流程图。
图4为本发明实施例1的云计算资源并发调度方法的流程图。
图5为本发明实施例1的调度器进程的流程图。
图6为本发明实施例1的计算候选节点合适度的流程图。
图7-a为本发明实施例2的云计算资源并发调度装置的结构框图。
图7-b为本发明实施例2的云计算资源并发调度装置的结构框图。
图8为本发明实施例3的计算机设备的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书中,术语“第一”、“第二”等是用于区别类似的对象,而不用于描述指定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”所区别的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和”表示所连接对象的至少其中之一,字符“/”一般表示前后关联对象是一种“或”的关系。
在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
云计算“资源节点” (也称为“节点”)是指以云主机形式提供的云计算资源实体,既可以是物理机,也可以是虚拟机。每个资源节点具有唯一的节点标识符。每个资源节点可以通过节点属性及其取值来表征。节点属性分为硬件类、操作系统类和用户自定义类,硬件类属性描述节点的主要硬件特征,包括中央处理单元的频率及内核数、图形处理单元频率及显存容量、内存类型及容量、磁盘容量及输入/输出带宽和网络速度及延迟等;操作系统类属性描述操作系统的特征,以Linux操作系统为例,包括内核版本及发行版版本、安装的运行时和库等;用户自定义属性则指根据行业领域需求定义的属性。
云主机集群(也称为“集群”)是指一组松散耦合的云主机,它们在管理组件的协调下执行被分配的计算机作业。属于同一个集群的不同云主机可以位于同一个数据中心,也可以跨越多个数据中心;不同的云主机既可以来自同一个云主机提供商,也可以来自不同的云主机提供商。
“作业”是指云主机集群的一个节点或一组节点中执行的任务或者任务集。“任务”的类型主要分为系统服务、系统批处理、批处理和长时间运行服务四类。执行任务需要消耗资源节点的可用资源。
实施例1:
如图1所示,本实施例提供了一种云计算资源并发调度系统,该系统包括作业队列单元、规划队列单元、多个不同类型的调度器100、实现本实施例提供的云计算资源并发调度方法的调度控制器200和资源管理组件300;
作业队列单元,用于存储作业队列;
规划队列单元,用于存储规划队列;
资源管理组件300,用于集中管理集群资源的状态,为多个并发的调度器进程提供集群中资源节点状态的查询。
其中,如图2所示,调度控制器200包括通信接口201、总线202、处理器203和存储器204,当处理器203执行存储器204存储的程序,实现本实施例提供的云计算资源并发调度方法;资源管理组件300即单独组件,是一个单独的软件模块,与调度控制器200运行在同一台云主机上。
需要说明的是,资源管理组件300包含最新的集群状态,一般不是调度控制器进行查询,而是各个调度器进程在进行作业调度时根据需求进行查询。
其中,调度器进程(也称为“调度进程”)的总数等于调度控制器的CPU核的总数。
实际应用中,可以根据云计算资源量,设置调度控制器200的数量或者扩容调度控制器的CPU核数。
本实施例中,不同类型的调度器进程支持不同类型的任务,采用不同类型的调度策略。
具体地,调度策略包括其中之一:
对于系统服务类和系统批处理类,定义了在所有节点上都运行的任务,它们的调度相对简单,无需筛选和排序,该任务直接在所有节点上被执行;
对于长时间运行服务类,任务执行时间相对较长,筛选尽可能多的候选节点并排序,选出运行任务的最优节点;
对于批处理类,任务执行时间相对较短,筛选少数的候选节点并排序,尽快选出运行任务的节点。
或者可以这样理解,后两类任务的调度需筛选和排序,不同之处在于,长时间运行服务类任务的调度器从集群中筛选出满足约束条件的所有候选节点,而批处理类任务的调度器从集群中尽快地筛选出少数几个候选节点即可;其中,约束条件包括:CPU利用率约束条件、内存利用率约束条件和磁盘I/O利用率约束条件。
如图3和图4所示,本实施例还提供了一种云计算资源并发调度方法,类似于共享状态乐观调度方法,不同之处在于,由单独组件管理集群状态的副本,不同类型的多个调度器只涉及任务调度并生成对应的分配规划,该方法包括如下步骤:
S301、调度控制器将多个需要调度的作业送入作业队列。
本步骤之前,发起多个需要调度的作业。
本步骤中,作业入队及出队的顺序规则,包括:
高优先级的作业排在低优先级的作业之前先行入队及出队;
相同优先级的作业以先入先出的方式入队及出队。
值得一提的是,上述规则能够保证作业队列中每个作业至少有一次成功的投递。
本实施例中,根据对象,将作业分为两类,一类是用户提交的第一作业,包括新建作业、更新作业和删除作业的其中之一;另一类是调度控制器提交的第二作业,即:某个作业的分配规划不可行时需要重新调度的作业。
S302、调度控制器从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列。
以作业包括一个任务为例:
在取出作业A之后,根据作业A所属的任务类型,将作业A分配给作业A对应的调度器进程,生成作业A对应的分配规划;在取出作业B之后,根据作业B所属的任务类型,将作业B分配给作业B对应的调度器进程,生成作业B对应的分配规划,以此类推。以上过程中,涉及到的调度器进程均处于并发执行状态。
以作业包括多个任务为例:
在取出作业A之后,根据作业A所包括的任务类型,按照任务的优先级顺序,将任务分配给其类型对应的调度器进程,生成对应的分配规划;在取出作业B之后,根据作业B所包括的任务类型,按照任务的优先级顺序,将任务分配给其类型对应的调度器进程,生成对应的分配规划,以此类推。以上过程中,涉及到的调度器进程均处于并发执行状态;在先的作业比在后的作业具有更高的优先级,因此先完成在先作业的任务的分配规划。
其中,分配规划入队及出队的顺序规则,包括:
高优先级的分配规划排在低优先级的分配规划之前先行入队及出队;
相同优先级的分配规划以先入先出的方式入队及出队。
本实施例中,所有调度器进程共享集中管理的集群资源状态,大部分调度器进程的作业调度过程包括筛选阶段和排序阶段。
另一个实施例中,所有调度器进程的作业调度过程包括筛选阶段和排序阶段。
参考图5,筛选阶段和排序阶段执行的操作,具体如下:
(1)筛选阶段执行的操作包括:
S11、以按顺序或者随机的方式,从集群中筛选出满足约束条件的所有或者部分候选资源节点,其中候选资源节点的状态为正常状态。
(2)排序阶段执行的操作包括:
S12、基于所有或者部分候选资源节点,计算每个候选节点的合适度。
本步骤中,基于所有或者部分候选资源节点,根据排序算法,依次计算每个候选节点的合适度,其中排序算法包括其中之一:插入排序算法、冒泡排序算法和选择排序算法。
S13、在计算后的候选节点数量满足阈值之后,选择将任务/任务集部署到具有最高合适度的节点上。
执行S11~ S13,即生成一类分配规划。
参考图6,计算每个候选节点的合适度,包括:
S21、以每个候选节点的CPU、内存和存储能力为依据,根据最佳匹配V3公式计算每个候选节点的合适度。
本步骤中,计算节点的合适度,一般只考虑节点的CPU、内存和存储能力。
对于已知任务集j和节点i,首先定义:
最后采用最佳匹配V3公式计算节点的合适度,其中计算得分的公式如下:
需要说明的是,计算节点的合适度的实质是将任务集j分配到可用资源最少(得分最低)的节点i中,以取得最佳的资源吞吐表现。
S22、若任一候选节点部署有同一任务集的多个任务,则进一步根据所述同一任务集的碰撞个数计算其合适度。
本步骤中,基于同一任务集的碰撞个数,根据S21的方式计算节点的合适度(还考虑碰撞个数的因素,即当前任务集j已有多少任务部署在节点i上)。
考虑碰撞个数因素后的节点合适度的计算公式,如下:
其中,score(i,j)表示采用最佳匹配V3公式计算出的节点合适度;N的取值跟任务类型有关:若是长时间运行服务类,则N=10;若是批处理类,则N=5;Ci,j表示碰撞个数。
S303、调度控制器从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果。
在S301~S303中,多个并发的调度器进程向资源管理组件查询集群中资源节点的状态。
本实施例中,该方法,还包括:
若检测结果为可行,调度控制器则将所述分配规划交给资源节点执行;
若检测结果为不可行,调度控制器则通知生成所述分配规划的调度器进程重新调度(由其修改或者重新规划)。
本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。
应当注意,尽管在附图中以特定顺序描述了上述实施例的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2:
如图7-a所示,本实施例提供了一种云计算资源并发调度装置,应用于调度控制器,该装置包括第一送入模块701a、调度及第二送入模块702a和检测模块703a,各个模块的具体功能如下:
第一送入模块701a,用于将多个需要调度的作业送入作业队列;
调度及第二送入模块702a,用于从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列;
检测模块703a,用于从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果。
如图7-b所示,本实施例还提供了一种云计算资源并发调度装置,该装置包括集中管理和查询模块701b,具体功能如下:
集中管理和查询模块701b,用于通过资源管理组件集中管理集群资源的状态,所述资源管理组件,用于为多个并发的调度器进程提供集群中资源节点状态的查询;
其中,多个调度器进程共享集中管理的集群资源状态;
多个所述调度器进程中,至少一个调度器进程或者所有调度器进程的作业调度过程包括筛选阶段和排序阶段;
所述筛选阶段执行的操作,包括:
以按顺序或者随机的方式,从集群中筛选出满足约束条件的所有或者部分候选资源节点,其中候选资源节点的状态为正常状态;
所述排序阶段执行的操作,包括:
基于所有或者部分候选资源节点,计算每个候选节点的合适度;
在计算后的候选节点数量满足阈值之后,选择将任务/任务集部署到具有最高合适度的节点上。
实施例3:
如图8所示,本实施例提供了一种计算机设备,其包括通过系统总线801连接的处理器802、存储器、输入装置803、显示装置804和网络接口805。其中,处理器802用于提供计算和控制能力,存储器包括非易失性存储介质806和内存储器807,该非易失性存储介质806存储有操作系统、计算机程序和数据库,该内存储器807为非易失性存储介质806中的操作系统和计算机程序的运行提供环境,计算机程序被处理器802执行时,实现上述实施例1的云计算资源并发调度方法,如下:
调度控制器将多个需要调度的作业送入作业队列;
调度控制器从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列;
调度控制器从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果;以上操作中,多个并发的调度器进程向资源管理组件查询集群中资源节点的状态。
实施例4:
本实施例提供一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例1的云计算资源并发调度方法,如下:
调度控制器将多个需要调度的作业送入作业队列;
调度控制器从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列;
调度控制器从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果;以上操作中,多个并发的调度器进程向资源管理组件查询集群中资源节点的状态。
需要说明的是,本实施例的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以以一种或多种程序设计语言或其组合来编写用于执行本实施例的计算机程序,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Python、C++,还包括常规的过程式程序设计语言—诸如C语言或类似的程序设计语言。程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明实施例由单独组件管理集群资源状态的副本,多个调度器只涉及任务调度并生成对应的分配规划,可以提高云计算资源的调度效率。
以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明构思加以等同替换或改变,都属于本发明专利的保护范围。
Claims (5)
1.一种云计算资源并发调度方法,用于调度作业,其中作业包括至少一个任务,其特征在于,涉及多类任务调度,多类任务类型包括系统服务类和/或系统批处理类,批处理类,长时间运行服务类,所述方法包括:
调度控制器将多个需要调度的作业送入作业队列;
调度控制器从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列;
调度控制器从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果;
通过资源管理组件集中管理集群资源的状态,所述资源管理组件,用于为多个并发的调度器进程提供集群中资源节点状态的查询;
其中,多个调度器进程共享集中管理的集群资源状态;
系统服务类或系统批处理类任务对应的调度器进程不涉及筛选阶段和排序阶段,所述系统服务类或系统批处理类任务直接在所有资源节点上执行;
批处理类或长时间运行服务类任务对应的调度器进程涉及筛选阶段和排序阶段;
所述批处理类任务对应的调度器进程需筛选出满足约束条件的部分候选资源节点;
所述长时间运行服务类任务对应的调度器进程需筛选出满足约束条件的所有候选资源节点;
所述筛选阶段执行的操作,包括:
以按顺序或者随机的方式,从集群中筛选出满足约束条件的所有或者部分候选资源节点,其中候选资源节点的状态为正常状态;
所述排序阶段执行的操作,包括:
基于所有或者部分候选资源节点,以每个候选节点的CPU、内存和存储能力为依据,计算每个候选节点的合适度;
在计算后的候选节点数量满足阈值之后,选择将任务或任务集部署到具有最高合适度的节点上;
所述作业包括其中之一:用户提交的第一作业和调度控制器提交的第二作业;
所述第一作业包括其中之一:新建作业、更新作业和删除作业;
所述第二作业为某个作业的分配规划不可行时需要重新调度的作业;
作业入队及出队的顺序规则,包括:
高优先级的作业排在低优先级的作业之前先行入队及出队;
相同优先级的作业以先入先出的方式入队及出队;
分配规划入队及出队的顺序规则,包括:
高优先级的分配规划排在低优先级的分配规划之前先行入队及出队;
相同优先级的分配规划以先入先出的方式入队及出队;
所述计算每个候选节点的合适度,包括:
对于已知任务集j和节点i,定义:
采用最佳匹配V3公式计算节点的合适度,如下式:
若任一候选节点部署有同一任务集的多个任务,则进一步根据所述同一任务集的碰撞个数计算候选节点合适度,如下式:
其中,score(i,j)表示采用最佳匹配V3公式计算出的节点合适度;N的取值跟任务类型有关:若是长时间运行服务类,则N=10;若是批处理类,则N=5;Ci,j表示碰撞个数;
所述方法还包括:
若检测结果为可行,调度控制器则将所述分配规划交给资源节点执行;
若检测结果为不可行,调度控制器则通知生成所述分配规划的调度器进程重新调度。
2.一种云计算资源并发调度装置,用于调度作业,其中作业包括至少一个任务,其特征在于,涉及多类任务调度,多类任务类型包括系统服务类和/或系统批处理类,批处理类,长时间运行服务类,所述装置包括:
第一送入模块,用于将多个需要调度的作业送入作业队列;
调度及第二送入模块,用于从所述作业队列中依次取出作业,根据所述作业中的任务类型将所述任务分配给所述任务类型对应的调度器进程,以生成分配规划;其中,依次取出的多个作业涉及多个并发的调度器进程,调度器进程将生成的分配规划送入规划队列;
检测模块,用于从所述规划队列中依次取出分配规划,检测所述分配规划是否可行,输出检测结果;
集中管理和查询模块,用于通过资源管理组件集中管理集群资源的状态,所述资源管理组件,用于为多个并发的调度器进程提供集群中资源节点状态的查询;
其中,多个调度器进程共享集中管理的集群资源状态;
系统服务类或系统批处理类任务对应的调度器进程不涉及筛选阶段和排序阶段,所述系统服务类或系统批处理类任务直接在所有资源节点上执行;
批处理类或长时间运行服务类任务对应的调度器进程涉及筛选阶段和排序阶段;
所述批处理类任务对应的调度器进程需筛选出满足约束条件的部分候选资源节点;
所述长时间运行服务类任务对应的调度器进程需筛选出满足约束条件的所有候选资源节点;
所述筛选阶段执行的操作,包括:
以按顺序或者随机的方式,从集群中筛选出满足约束条件的所有或者部分候选资源节点,其中候选资源节点的状态为正常状态;
所述排序阶段执行的操作,包括:
基于所有或者部分候选资源节点,以每个候选节点的CPU、内存和存储能力为依据,计算每个候选节点的合适度;
在计算后的候选节点数量满足阈值之后,选择将任务或任务集部署到具有最高合适度的节点上;
所述作业包括其中之一:用户提交的第一作业和调度控制器提交的第二作业;
所述第一作业包括其中之一:新建作业、更新作业和删除作业;
所述第二作业为某个作业的分配规划不可行时需要重新调度的作业;
作业入队及出队的顺序规则,包括:
高优先级的作业排在低优先级的作业之前先行入队及出队;
相同优先级的作业以先入先出的方式入队及出队;
分配规划入队及出队的顺序规则,包括:
高优先级的分配规划排在低优先级的分配规划之前先行入队及出队;
相同优先级的分配规划以先入先出的方式入队及出队;
所述计算每个候选节点的合适度,包括:
对于已知任务集j和节点i,定义:
采用最佳匹配V3公式计算节点的合适度,如下式:
若任一候选节点部署有同一任务集的多个任务,则进一步根据所述同一任务集的碰撞个数计算候选节点合适度,如下式:
其中,score(i,j)表示采用最佳匹配V3公式计算出的节点合适度;N的取值跟任务类型有关:若是长时间运行服务类,则N=10;若是批处理类,则N=5;Ci,j表示碰撞个数;
所述检测模块,还用于若检测结果为可行,则将所述分配规划交给资源节点执行;若检测结果为不可行,则通知生成所述分配规划的调度器进程重新调度。
3.一种云计算资源并发调度系统,其特征在于,所述系统包括作业队列单元、规划队列单元、多个调度器和实现权利要求1所述方法的调度控制器;
所述作业队列单元,用于存储作业队列;
所述规划队列单元,用于存储规划队列;
所述调度器进程的总数等于所述调度控制器的CPU核的总数。
4.一种计算机设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1所述方法。
5.一种可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310218493.5A CN115904673B (zh) | 2023-03-09 | 2023-03-09 | 云计算资源并发调度方法、装置、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310218493.5A CN115904673B (zh) | 2023-03-09 | 2023-03-09 | 云计算资源并发调度方法、装置、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115904673A CN115904673A (zh) | 2023-04-04 |
CN115904673B true CN115904673B (zh) | 2023-06-27 |
Family
ID=86479114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310218493.5A Active CN115904673B (zh) | 2023-03-09 | 2023-03-09 | 云计算资源并发调度方法、装置、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115904673B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629960A (zh) * | 2022-03-14 | 2022-06-14 | 北京字节跳动网络技术有限公司 | 资源调度方法、装置、系统、设备、介质和程序产品 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919445B (zh) * | 2015-12-28 | 2021-08-20 | 华为技术有限公司 | 一种在集群中并行调度容器的方法和装置 |
CN105808334B (zh) * | 2016-03-04 | 2016-12-28 | 山东大学 | 一种基于资源重用的MapReduce短作业优化系统及方法 |
CN112202837B (zh) * | 2020-09-04 | 2022-05-17 | 苏州浪潮智能科技有限公司 | 一种基于数据集与节点缓存的调度方法和装置 |
-
2023
- 2023-03-09 CN CN202310218493.5A patent/CN115904673B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114629960A (zh) * | 2022-03-14 | 2022-06-14 | 北京字节跳动网络技术有限公司 | 资源调度方法、装置、系统、设备、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN115904673A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733026B2 (en) | Automated workflow selection | |
EP3770774B1 (en) | Control method for household appliance, and household appliance | |
US11030014B2 (en) | Concurrent distributed graph processing system with self-balance | |
US20200174844A1 (en) | System and method for resource partitioning in distributed computing | |
US8239873B2 (en) | Speedy event processing | |
US7920282B2 (en) | Job preempt set generation for resource management | |
CN112328378A (zh) | 任务调度方法、计算机设备及存储介质 | |
US10437645B2 (en) | Scheduling of micro-service instances | |
WO2024021489A1 (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
CN114610474A (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN116010064A (zh) | Dag作业调度和集群管理的方法、系统及装置 | |
CN115904673B (zh) | 云计算资源并发调度方法、装置、系统、设备及介质 | |
CN112860421A (zh) | 用于作业处理的方法、设备和计算机程序产品 | |
US20220291907A1 (en) | Compiling monoglot function compositions into a single entity | |
US20230333884A1 (en) | Method and system for performing domain level scheduling of an application in a distributed multi-tiered computing environment using reinforcement learning | |
US20230333880A1 (en) | Method and system for dynamic selection of policy priorities for provisioning an application in a distributed multi-tiered computing environment | |
CN113225269B (zh) | 基于容器的工作流调度方法、装置、系统及存储介质 | |
Loganathan et al. | Job scheduling with efficient resource monitoring in cloud datacenter | |
US11474868B1 (en) | Sharded polling system | |
Kaladevi et al. | Processor co-allocation enabling advanced reservation of jobs in MultiCluster systems | |
CN110895504A (zh) | 调度仿真系统和调度仿真方法 | |
US11768704B2 (en) | Increase assignment effectiveness of kubernetes pods by reducing repetitive pod mis-scheduling | |
US20230333897A1 (en) | Method and system for performing device level management in a distributed multi-tiered computing environment | |
CN113157404B (zh) | 任务处理方法和装置 | |
US20230333881A1 (en) | Method and system for performing domain level scheduling of an application in a distributed multi-tiered computing environment |
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 |