CN104881322A - 一种基于装箱模型的集群资源调度方法及装置 - Google Patents

一种基于装箱模型的集群资源调度方法及装置 Download PDF

Info

Publication number
CN104881322A
CN104881322A CN201510252905.2A CN201510252905A CN104881322A CN 104881322 A CN104881322 A CN 104881322A CN 201510252905 A CN201510252905 A CN 201510252905A CN 104881322 A CN104881322 A CN 104881322A
Authority
CN
China
Prior art keywords
resource
request
cluster
resource request
node
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.)
Granted
Application number
CN201510252905.2A
Other languages
English (en)
Other versions
CN104881322B (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 Zhongke Flux Technology Co ltd
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201510252905.2A priority Critical patent/CN104881322B/zh
Publication of CN104881322A publication Critical patent/CN104881322A/zh
Application granted granted Critical
Publication of CN104881322B publication Critical patent/CN104881322B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于装箱模型的集群资源调度方法及装置,本发明涉及大规模分布式系统中的集群资源的调度,该方法包括,获取资源请求,通过主资源调度算法计算所述资源请求中各维度资源数量占所述集群中总资源数量的比重,设置一阈值,将所述比重大于所述阈值的资源请求作为主资源请求;设置所述资源请求的最大值与规整化单位,将集群资源划分成若干资源区间,其中所述规整化单位作为所述资源区间的值,所述资源区间的值不大于所述资源请求的最大值;获取新资源请求,并获取所述新资源请求的新主资源请求,查找与所述新主资源请求相对应的所述资源区间,根据所述资源区间,将与所述新资源请求相匹配的物理节点进行分配,以完成集群资源调度。

Description

一种基于装箱模型的集群资源调度方法及装置
技术领域
本发明涉及大规模分布式系统中的集群资源的调度,属于云计算领域,特别涉及一种基于装箱模型的集群资源调度方法及装置。
背景技术
随着互联网的普及和日益发展,我们进入了一个数据爆炸的时代,根据数字宇宙(digital universe)项目统计得出,2011年的数据总量为1.8ZB,并预测在2020年将达到40ZB,每时每刻都有大量的数据需要处理,基于数据密集型应用的计算框架不断出现,从支持离线处理的MapReduce,到支持在线处理的Storm,从迭代式计算框架Spark到流式处理框架S4,这些框架各有所长,各自解决了某一类应用问题。
各种框架诞生于不同的公司或者实验室,运行在各个集群上,虽然单台计算机的功率并不大,但是在计算机总数庞大的集群中,电力的消耗却相当惊人,一方面,大幅的能量消耗增长会排放出大量的CO2,加剧温室效应;另一方面,不断增长的能源消耗已经成为重要的成本来源。在很多公司中,可能同时采用多种计算框架,考虑到资源利用率、运维成本、数据共享等因素,公司一般希望将所有这些框架都部署到一个公共集群中,让它们共享集群的资源,并对资源进行统一使用,同时采用某种资源隔离方案(如轻量级cgroups)对各个任务进行隔离,这样便诞生了轻量级弹性计算平台,其中Hadoop YARN便是弹性计算平台的典型代表。多种框架共享集群资源,使得集群资源得到更加充分的利用。为了支持多维资源调度,Hadoop YARN的资源调度器采用了DRF算法,YARN共有三种调度器,分别是FIFO、Fair Scheduler和Capacity Scheduler,其中FIFO适用于批处理作业的场景,调度顺序按照作业到达的时间顺序确定,先到达的先分配资源;但随着Hadoop的普及,集群中的用户量和应用程序种类不断增加,FIFO的调度机制已经不能满足服务质量要求,需要设计适用于多用户的资源调度算法。Fair scheduler和Capacity Scheduler是多用户调度器,以队列为单位划分资源,每个队列可设置资源上限和下限,每个用户又可以设置资源上限,以防止资源滥用。当一个队列资源有剩余时,可暂时分配给其他队列;而Fair Scheduler除了具有Capacity Scheduler的功能外,还支持多种调度策略。这两种调度器都支持多维资源,目前支持CPU和内存,另外它们对调度语义的支持有限,比如不支持超细粒度资源、动态调整Container资源等。
发明专利“一种集群资源分配方法及装置”,该发明实施例公开了一种集群资源分配方法及装置,该发明方法包括:按照预置策略将计算机集群划分为第一集群和第二集群;采用负载均衡策略将待创建虚拟机分配给第一集群中的计算机,以在第一集群中的计算机上创建待创建虚拟机;若创建失败,则采用填满策略将待创建虚拟机分配给第二集群中的计算机,以在第二集群中的计算机上创建待创建虚拟机。该发明实施例中,将两种资源分配方法相结合来实现资源分配,能够减少资源碎片,提高集群资源的利用率,保证集群的性能。该发明是一种集群资源分配方法,在集群中部署和创建虚拟机。通过将集群分为两个集群,创建时分别采用不同的策略依次在两个集群中部署每个待创建的虚拟机(两个子集群中只有一个创建成功的同一个虚拟机);结合两种资源分配方式结合来减少资源碎片;而本发明是在一个集群中为用户的应用程序的任务分配系统资源,通过动态确定资源请求的分类,并根据集群节点上分配的资源情况将节点分组,在分配资源时采用装箱算法的思想选择合适的节点为任务分配资源,达到减少资源碎片的目的。
发明专利“一种提高云计算网络运算资源的方法及系统”,该发明公开了一种提高云计算网络运算资源的方法及系统,所述方法包括:监控云计算网络中的运算资源;确定运算资源的类型;根据运算资源的类型,将运算资源分配给高功率的处理器或低功率的协处理器处理。进一步,所述系统包括:运算资源监控单元;运算资源类型评估单元;运算资源分配单元。根据本发明的一种提高云计算网络运算资源的方法及系统,将云网络中的运算资源进行区分式计算,采用低运算率的协处理器进行休眠系统的状态保存运算,采用高运算率的处理器运算实时运行的虚拟系统,使得云网络的运算速率大幅提高,进而提高了云计算网络的运算资源,并降低了云网络的设备成本。该发明根据运算资源的类型分别将其分配给高功率的处理器或低功率的协处理器处理,而本发明根据资源请求的主资源类型和资源量的大小在不同的服务器组中选择合适的服务器为请求资源的任务分配资源。
发明内容
本发明的目的是解决大规模集群中资源分配时产生资源碎片的问题,本发明在Hamonic装箱模型的基础上设计了一种基于装箱模型的集群资源调度方法及装置。
为了支持多维度资源的调度,通过计算资源请求中每一维资源所占比例,使用主资源调度算法(Dominant Resource Fit,DRF)确定资源请求的主资源类型,根据不同的主资源类型及资源量的大小将资源请求划分为若干类(资源量大小在同一个范围内的资源请求归为一类),同时,根据每个服务器上满足的资源请求的种类将服务器分组(初始时刻任何服务器上都未分配任务,将所有服务器归为一组),当有资源请求到达时,根据该资源请求的类别,为其选择一个合适的服务器分配任务以满足其需求。
本发明提出一种基于装箱模型的集群资源调度方法,包括:
步骤1,获取资源请求,通过主资源调度算法计算所述资源请求中各维度资源数量占所述集群中总资源数量的比重,设置一阈值,将所述比重大于所述阈值的资源请求作为主资源请求;
步骤2,设置所述资源请求的最大值与规整化单位,将集群资源划分成若干资源区间,其中所述规整化单位作为所述资源区间的值,所述资源区间的值不大于所述资源请求的最大值;
步骤3,获取新资源请求,并获取所述新资源请求的新主资源请求,查找与所述新主资源请求相对应的所述资源区间,根据所述资源区间,将与所述新资源请求相匹配的物理节点进行分配,以完成集群资源调度。
所述基于装箱模型的集群资源调度方法,所述步骤1之前还包括:加载并解析配置文件,获取管理员的配置项值。
所述基于装箱模型的集群资源调度方法,所述资源请求与所述新资源请求包括:内存资源请求与中央处理器资源请求,并将所述内存资源请求与中央处理器资源请求进行染色。
所述基于装箱模型的集群资源调度方法,所述步骤3还包括:将所述新主资源请求与所述新资源请求中除所述新主资源请求之外的资源请求分配到同一物理节点,其中所述新主资源请求与所述新主资源请求之外的资源请求的和,不大于所述物理节点的资源总量。
所述基于装箱模型的集群资源调度方法,所述步骤3还包括:当所述物理节点中各资源所占比例相当,则优先分配到与所述物理节点中资源占比更大的资源相匹配的资源请求。
本发明还提出一种基于装箱模型的集群资源调度装置,包括:
获取主资源请求模块,用于获取资源请求,通过主资源调度算法计算所述资源请求中各维度资源数量占所述集群中总资源数量的比重,设置一阈值,将所述比重大于所述阈值的资源请求作为主资源请求;
划分资源区间模块,用于设置所述资源请求的最大值与规整化单位,将集群资源划分成若干资源区间,其中所述规整化单位作为所述资源区间的值,所述资源区间的值不大于所述资源请求的最大值;
资源调度模块,用于获取新资源请求,并获取所述新资源请求的新主资源请求,查找与所述新主资源请求相对应的所述资源区间,根据所述资源区间,将与所述新资源请求相匹配的物理节点进行分配,以完成集群资源调度。
所述基于装箱模型的集群资源调度装置,还包括初始化模块,用于加载并解析配置文件,获取管理员的配置项值。
所述基于装箱模型的集群资源调度装置,所述资源请求与所述新资源请求包括:内存资源请求与中央处理器资源请求,并将所述内存资源请求与中央处理器资源请求进行染色。
所述基于装箱模型的集群资源调度装置,所述资源调度模块还包括:将所述新主资源请求与所述新资源请求中除所述新主资源请求之外的资源请求分配到同一物理节点,其中所述新主资源请求与所述新主资源请求之外的资源请求的和,不大于所述物理节点的资源总量。
所述基于装箱模型的集群资源调度装置,所述资源调度模块还包括:当所述物理节点中各资源所占比例相当,则优先分配到与所述物理节点中资源占比更大的资源相匹配的资源请求。
由以上方案可知,本发明的优点在于:
本发明能够根据装箱模型创建一个集群资源调度模型,对集群资源进行分配和调度,减少资源碎片,进一步提高集群资源的利用率;本发明通过将请求按照资源需求计算其主资源并将服务器进行分组的方式,尽量将较大和较小资源的请求分配到一个节点上,这样可以充分利用节点的资源:对于分配了较大请求的节点,如果剩余空间足以分配小的请求,则将小的请求分配到节点上,已达到“填充”的效果,从而减少资源“碎片”,对于提高集群资源的利用率具有重要的实际意义,具有良好的市场前景和应用价值。
附图说明
图1为本发明实施例的整体流程图;图2为请求分配资源流程图。
其中附图标记为:
步骤101/102/103/104/105/106;
具体实施方式
下面结合附图和实施例详细对本发明的具体实施方式进行说明。
以下为本发明的整体流程,如下所示:
初始化,加载并解析配置文件,获取管理员的配置项值;
获取资源请求,通过主资源调度算法计算所述资源请求中各维度资源数量占所述集群中总资源数量的比重,设置一阈值,将所述比重大于所述阈值的资源请求作为主资源请求;
步骤2,设置所述资源请求的最大值与规整化单位,将集群资源划分成若干资源区间,其中所述规整化单位作为所述资源区间的值,所述资源区间的值不大于所述资源请求的最大值;
获取新资源请求,并获取所述新资源请求的新主资源请求,查找与所述新主资源请求相对应的所述资源区间,根据所述资源区间,将与所述新资源请求相匹配的物理节点进行分配,以完成集群资源调度;将所述新主资源请求与所述新资源请求中除所述新主资源请求之外的资源请求分配到同一物理节点,其中所述新主资源请求与所述新主资源请求之外的资源请求的和,不大于所述物理节点的资源总量;当所述物理节点中各资源所占比例相当,则优先分配到与所述物理节点中资源占比更大的资源相匹配的资源请求。
内存资源请求与中央处理器资源请求,并将所述内存资源请求与中央处理器资源请求进行染色。
以下为本发明一具体实施例,如下所示:
本发明所述的调度算法基于Hamonic装箱算法,将装箱的思想应用到二维资源(内存和CPU)调度,减少资源分配过程中集群中的不可分配的“资源碎片”,算法的具体实施如下,如图1所示:
步骤101,根据主资源调度算法(Dominant Resource Fit,DRF),计算资源请求中各维度资源量占总资源量的比重,将比重较大的资源作为该资源请求的主资源,其中记MEM_REQ表示内存比重较大(即内存与CPU的比值大于阈值mem_cpu_ratio,用户可自定义,可参考集群总的可用资源中内存与CPU的比例)的资源请求,记CPU_REQ表示CPU比重较大(即内存与CPU的比值小于阈值mem_cpu_ratio)的资源请求。
步骤102,设置应用程序的资源请求的最大值(MAX_MEM,MAX_CPU)和资源规整化单位(该值可对内存和CPU资源量取整),对于MEM_REQ,将内存规整化单位作为每个区间的大小,区间总的大小为(0,MAX_MEM]。设用户的资源请求经规整化后的内存容量为M1,...,Mi,...,Mk,划分为如下区间:(0,M1],...,(Mi-1,Mi],...,(Mk-1,Mk],k是内存资源量规整化后的区间个数(1<k<N,1<i<k)。若对于某个MEM_REQ,有M∈(Mi-1,Mi],则记该MEM_REQ为Mi。同理,对于CPU_REQ,将CPU规整化单位作为每个区间的大小,区间总的大小为(0,MAX_CPU]。设用户的资源请求经规整化后的CPU资源量为C1,...,Cj,...,Cm,则区间划分为(0,C1],...,(Cj-1,Cj],...,(Cm-1,Cm],m是CPU规整化后的区间个数(其中1<m<N,1<j<m)。若对于某个CPU_REQ,有C∈(Cj-1,Cj],则记该CPU_REQ为Cj.
步骤103,判断收到的资源请求的类型(MEM_REQ或CPU_REQ),并根据其主资源的资源量大小所属区间,确定该资源请求的类型Mi或Cj。在资源分配的过程中,对于收到的资源请求标记颜色,分别染为红色和蓝色。βmi和βci分别表示在一个节点可满足的蓝色Mi和蓝色Cj的最大数目,δmj和δcj表示该物理服务器中除了蓝色Mi或Cj外的剩余的资源量。
步骤104,根据物理节点上已得到满足的资源请求的类别将物理节点分组,对应分配了主资源为MEM和CPU的物理节点的分组信息如下:
(1)对应MEM_REQ的物理节点的分组情况:
a)GROUP_MEM(Mi),该分组中的物理节点上仅满足蓝色Mi。该组的物理节点只有一个处于允许分配的状态且该节点上的蓝色Mi少于βmi。该组其他物理节点上运行着的Mi数均为βmi
b)GROUP_MEM(Mi,Mj),该组的物理节点上满足的MEM_REQ既有蓝色的Mi也有红色的Mj,即两种资源量处于不同区间的内存为主资源的资源请求。该分组中每个物理节点上可满足的蓝色的Mi的最大数目为βmi,则该节点上红色的Mj可使用的资源量为δmi。该组中至多有3种物理节点,分别是:当且仅当节点上蓝色的Mi的数目少于最大值βmi的物理节点、当且仅当节点上的红色Mj占用的总资源量少于δmi的物理节点和分配的蓝色Mi的数目少于最大值βmi且分配的红色的Mj占用的总资源量少于δmi的物理节点。
c)GROUP_MEM(Mi,Mj,Cg),该分组中的物理节点上满足3种类型的资源请求,包括:蓝色的Mi、红色的Mj和红色的Cg。该组的物理节点上可满足的蓝色的Mi的最大数目为βmi,另外可满足的两种红色资源请求的最大数量则由该节点上除了蓝色Mi外的剩余资源量决定。该组至多有2种处于可分配状态的物理节点,分别是分配的蓝色Mi的数目少于最大值βmi的节点和除了蓝色Mi占用外剩余的资源量可以分配给红色Mj或红色Cg的节点。
d)GROUP_MEM(Mi,?,?),该组的物理节点上满足的资源请求的类型未最终确定,但可以知道的是节点上当前仅分配了蓝色的Mi。该组的节点都处于可分配状态,以后可能在节点上为红色的MEM_REQ或红色的CPU_REQ分配资源。在满足了除蓝色Mi外的资源请求后更新该节点的分组为GROUP_MEM(Mi,Mj)或GROUP_MEM(Mi,Mj,Cg)。
e)GROUP_MEM(?,Mj,Cg),该组的物理节点上满足的资源请求的类型未最终确定,但可以知道的是节点上当前分配了红色的Mj或红色的Cg。该组的物理节点都处于可分配资源状态,以后可能在该节点为蓝色的MEM_REQ分配资源,为蓝色Mi分配资源后将该节点分到GROUP_MEM(Mi,Mj,Cg)。
为了使物理节点上可用资源量中的内存和CPU趋于平衡,对于混合类型(同时为红色MEM_REQ和红色CPU_REQ分配了资源)的物理节点,在分配资源时将该节点上当前可用资源中CPU(个数)与内存(GB)的比值ratio与节点资源总容量的比值ratio_initial进行比较:若ratio>ratio_initial,即当前节点可用资源中CPU资源所占比例较高,此时在该节点上为红色的CPU_REQ分配资源;若ratio≤ratio_initial,即当前节点可用资源中内存所占比例较高,则此时在该节点上为红色的MEM_REQ分配资源。
(2)分配了CPU_REQ的物理节点的分组方法与(1)类似,具体描述如下:
f)GROUP_CPU(Cj),该分组的物理节点中仅满足蓝色的Cj。该组中只有一个物理节点处于可分配状态且该节点上已满足的蓝色Cj的数目少于最大值βcj。该组其余不可分配的节点上分配的蓝色的Cj的数目均已达到最大限βcj
g)GROUP_CPU(Cj,Ci),该分组的物理节点上既为蓝色的Cj也为红色的Ci分配资源,其中可满足的蓝色的Cj的最大数目为βcj,则该节点上可为红色的Mj分配的资源量为δcj。该分组中至多有3种处于可分配状态的物理节点,分别是:当且仅当分配的蓝色的Cj的数目少于最大值βcj的物理节点、当且仅当分配给红色的Ci使用的总资源量少于δci的物理节点以及分配的蓝色Cj的数目少于最大值βcj且分配的红色的Ci占用的总资源量少于δci的物理节点。
h)GROUP_CPU(Cj,Ci,Mg),该分组中的物理节点上满足3种类型的资源请求,分别是蓝色的Cj、红色的Ci和红色的Mg。该组的物理节点上允许分配的蓝色的Cj的最大数目为βcj,另外两种红色资源请求的最大数量则由该节点上除了蓝色的Cj外的剩余资源量决定。该组至多有2种处于可分配状态的物理节点,分别是分配的蓝色Ci的数目少于最大值βcj的节点和除了蓝色Cj占用外剩余的资源量可以分配给红色Ci或红色Mg的节点。
i)GROUP_CPU(Cj,?,?),该组的物理节点上满足的资源请求的类型未最终确定的节点,但可以知道的是节点上当前仅分配了蓝色的Cj。该组的节点都处于可分配状态,以后可能在节点上为红色的CPU_REQ或红色的MEM_REQ分配资源。在为除蓝色Cj外的资源请求分配资源后,更新该节点分组为GROUP_CPU(Cj,Ci)或GROUP_CPU(Cj,Ci,Mg)。
j)GROUP_CPU(?,Ci,Mg),该组的物理节点上满足的资源请求的类型未最终确定的节点,但可以知道的是节点上当前为红色的Ci或红色的Mg分配了资源。这些节点都处于可分配状态,以后可能为蓝色的CPU_CONTAINER分配资源,当该节点分配了蓝色的Cj后更改分组为GROUP_CPU(Cj,Ci,Mg)。
为了使物理节点上可用资源量中的内存和CPU趋于平衡,对于混合类型(即分配了红色CPU_REQ又分配了红色MEM_REQ)的物理节点,在分配资源时将该节点上当前可用资源中CPU(个数)与内存(GB)的比值ratio与节点资源总容量的比值ratio_initial进行比较:若ratio≤ratio_initial,即当前节点可用资源中内存资源所占比例较高,此时在该节点上分配红色的MEM_REQ;若ratio>ratio_initial,即当前节点可用资源中CPU所占比例较高,则此时在该节点上分配红色的CPU_REQ。
在资源分配的过程中,尽量将较大和较小资源的request分配到一个节点上,这样可以充分利用节点的资源:对于分配了较大request的节点,如果剩余空间足以分配小的request,则将小的request分配到节点上,已达到“填充”的效果,从而减少资源“碎片”。
步骤105,开始时进行一些初始化工作:加载并解析配置文件,获取管理员的配置项值,比如允许分配的单个资源请求的最大资源量限制<MAX_MEM,MAX_CPU>,限制染为红色的资源请求数量的比例值mem_red_ratio和cpu_red_ratio。初始化各个节点分组列表为空,初始化用于各个用途的几个request计数器的值为0,包括。至此初始化完毕,开始接收并处理应用程序发来的资源请求,将收到的资源请求规整化后检查其资源量分类区间mem_unit[N]和cpu_unit[N]中是否存在该值,若存在,则确定其分类区间;若不存在,则将该值作为新值存入分类区间,即新增一个分类区间,实现动态创建资源请求的分类区间。接着对于收到的资源请求request做如下处理:
(3)如果request类型为Mi,则更新Mj的总数(如图2所示);否则,转到(4)。
k)若红色Mi的数量小于Mi数量的限制比例且其Mi的资源量在允许染为红色的阈值范围内,则将request染为红色,红色Mi数量加1.否则,转到L),步骤k)包括以下步骤:
i.如果存在一个处于分配状态的组GROUP_MEM(?,Mi,Cj)的节点node,并且该节点中用于分配红色request的资源满足需求,则在节点node为request分配资源;否则,转到ii.
ii.对任意的Mj,如果存在一个处于可分配状态的组GROUP_MEM(Mj,Mi)的节点node且该节点中除了用于分配Mj的资源外的剩余资源量δmi满足request的需求,则将在节点node分配资源。否则,转到iii.
iii.如果存在处于可分配状态的组GROUP_MEM(Mi,?,?)的节点node且用于分配红色Mi的资源满足request的需求,此时,将节点当前剩余资源量的比值与节点总资源容量比进行比较:若ratio_res<ratio_initial_res,即当前节点剩余资源中内存所占比例较高,此时在该节点为request分配资源。否则,转到iv。
iv.寻找一个新的GROUP_MEM(?,Mi,?)的节点为request分配资源。
L)将request染为蓝色,即request.color=blue,包括以下步骤:
1-1.如果Mi的资源量大于mem_ratio*MAX_MEM,则执行A。否则,转到2-1;
1-1-1,如果存在一个处于可分配状态的组GROUP_MEM(Mi)的节点node中蓝色Mi数少于βmi,则在节点node上为request分配资源。否则,转到1-1-2;
1-1-2,找一个新的GROUP_MEM(Mi)的物理节点node为request分配资源;否则,转到2-1;
2-1,此时红色Mi占Mi总数的比例已达到限制,则
2-1-1,如果对于任意Mj,存在处于可分配状态的组GROUP_MEM(Mi,Mj)的节点node且node上分配的蓝色Mi数少于βmi,则节点node上为request分配资源。否则,转到2-1-2。
2-1-2,如果存在组GROUP_MEM(?,Mi,Cg)的节点node,可用资源满足request的需求,则为request分配资源,并将节点node的分组更新为组GROUP_MEM(Mi,Mi,Cg)。否则,转到2-1-3。
2-1-3,寻找一个新的组GROUP_MEM(Mi,?,?)的节点为request分配资源。
(4)如果request类型为Cj,则更新Cj类型的request的总数,包括以下步骤:
m)如果红色Cj的数量小于Cj数量的限制比例且request的资源量在允许染为红色的资源量阈值范围内值,则将Cj染为红色,红色Cj数量加1.否则,转到n);
3-1,如果存在一个处于可分配状态的组GROUP_CPU(?,Cj,Mg)的节点node,若该节点中用于分配红色request的资源满足request的需求,则将该Cj分配到此节点;否则,转到3-1-2;
3-2,对于任意的Ci,如果存在一个处于可分配状态的组GROUP_CPU(Ci,Cj)的节点且该节点中除了用于分配Ci的资源外的剩余资源满足request的需求,则将在此节点为request分配资源。否则,转到3-1-3;
3-3,如果存在处于可分配状态的组GROUP_CPU(Ci,?,?)的节点且用于分配红色request的资源满足request的需求,将该节点当前剩余资源的比值与节点总资源容量比进行比较:若ratio_res>ratio_initial_res,即当前节点剩余资源中CPU所占比例较高,此时在该节点为request分配资源。否则,转到3-4;
3-4,寻找一个新的GROUP_CPU(?,Ci,?)的节点,若找到的节点的用于分配红色request的资源足够,则为request分配资源。
n)将request染为蓝色,即request.color=blue;
4-1,如果request的资源量大于cpu_ratio*MAX_CPU,则执行A。否则转到4-2;
4-1-1,如果存在一个可分配的组GROUP_CPU(Cj)的节点node且节点中蓝色Cj数少于βcj,则在该节点为request分配资源。否则,转到B;
4-1-2,找一个新的GROUP_CPU(Cj)的节点并为request分配资源。否则,转到4-2;
4-2,此时红色Cj占Cj总数的比例已达到限制。
4-2-1,如果对于任意Ci,存在处于可分配状态的组GROUP_CPU(Cj,Ci)的节点且该节点内分配的蓝色Cj数少于βcj,则在该节点为request分配资源。否则,转到4-2-2;
4-2-2,如有组GROUP_CPU(?,Ci,Mg)的某个节点node,则在节点node上分配资源,将其分组更新为GROUP_CPU(Cj,Ci,Mg)。否则,转到4-2-3;
4-2-3,找一个新的组GROUP_CPU(Cj,?,?)的节点为request分配资源。
步骤106,每当收到一个资源请求后执行步骤5为其分配资源,并在节点上启动任务运行。

Claims (10)

1.一种基于装箱模型的集群资源调度方法,其特征在于,包括:
步骤1,获取资源请求,通过主资源调度算法计算所述资源请求中各维度资源数量占所述集群中总资源数量的比重,设置一阈值,将所述比重大于所述阈值的资源请求作为主资源请求;
步骤2,设置所述资源请求的最大值与规整化单位,将集群资源划分成若干资源区间,其中所述规整化单位作为所述资源区间的值,所述资源区间的值不大于所述资源请求的最大值;
步骤3,获取新资源请求,并获取所述新资源请求的新主资源请求,查找与所述新主资源请求相对应的所述资源区间,根据所述资源区间,将与所述新资源请求相匹配的物理节点进行分配,以完成集群资源调度。
2.如权利要求1所述基于装箱模型的集群资源调度方法,其特征在于,所述步骤1之前还包括:加载并解析配置文件,获取管理员的配置项值。
3.如权利要求1所述基于装箱模型的集群资源调度方法,其特征在于,所述资源请求与所述新资源请求包括:内存资源请求与中央处理器资源请求,并将所述内存资源请求与中央处理器资源请求进行染色。
4.如权利要求1所述基于装箱模型的集群资源调度方法,其特征在于,所述步骤3还包括:将所述新主资源请求与所述新资源请求中除所述新主资源请求之外的资源请求分配到同一物理节点,其中所述新主资源请求与所述新主资源请求之外的资源请求的和,不大于所述物理节点的资源总量。
5.如权利要求1所述基于装箱模型的集群资源调度方法,其特征在于,所述步骤3还包括:当所述物理节点中各资源所占比例相当,则优先分配到与所述物理节点中资源占比更大的资源相匹配的资源请求。
6.一种基于装箱模型的集群资源调度装置,其特征在于,包括:
获取主资源请求模块,用于获取资源请求,通过主资源调度算法计算所述资源请求中各维度资源数量占所述集群中总资源数量的比重,设置一阈值,将所述比重大于所述阈值的资源请求作为主资源请求;
划分资源区间模块,用于设置所述资源请求的最大值与规整化单位,将集群资源划分成若干资源区间,其中所述规整化单位作为所述资源区间的值,所述资源区间的值不大于所述资源请求的最大值;
资源调度模块,用于获取新资源请求,并获取所述新资源请求的新主资源请求,查找与所述新主资源请求相对应的所述资源区间,根据所述资源区间,将与所述新资源请求相匹配的物理节点进行分配,以完成集群资源调度。
7.如权利要求6所述基于装箱模型的集群资源调度装置,其特征在于,还包括初始化模块,用于加载并解析配置文件,获取管理员的配置项值。
8.如权利要求6所述基于装箱模型的集群资源调度装置,其特征在于,所述资源请求与所述新资源请求包括:内存资源请求与中央处理器资源请求,并将所述内存资源请求与中央处理器资源请求进行染色。
9.如权利要求6所述基于装箱模型的集群资源调度装置,其特征在于,所述资源调度模块还包括:将所述新主资源请求与所述新资源请求中除所述新主资源请求之外的资源请求分配到同一物理节点,其中所述新主资源请求与所述新主资源请求之外的资源请求的和,不大于所述物理节点的资源总量。
10.如权利要求6所述基于装箱模型的集群资源调度装置,其特征在于,所述资源调度模块还包括:当所述物理节点中各资源所占比例相当,则优先分配到与所述物理节点中资源占比更大的资源相匹配的资源请求。
CN201510252905.2A 2015-05-18 2015-05-18 一种基于装箱模型的集群资源调度方法及装置 Active CN104881322B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510252905.2A CN104881322B (zh) 2015-05-18 2015-05-18 一种基于装箱模型的集群资源调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510252905.2A CN104881322B (zh) 2015-05-18 2015-05-18 一种基于装箱模型的集群资源调度方法及装置

Publications (2)

Publication Number Publication Date
CN104881322A true CN104881322A (zh) 2015-09-02
CN104881322B CN104881322B (zh) 2018-10-09

Family

ID=53948828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510252905.2A Active CN104881322B (zh) 2015-05-18 2015-05-18 一种基于装箱模型的集群资源调度方法及装置

Country Status (1)

Country Link
CN (1) CN104881322B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106506594A (zh) * 2016-09-30 2017-03-15 科大讯飞股份有限公司 一种并行计算资源分配方法及装置
CN106790368A (zh) * 2016-11-17 2017-05-31 北京奇艺世纪科技有限公司 一种分布式系统中的资源调度方法和装置
CN107145384A (zh) * 2017-04-17 2017-09-08 广州孩教圈信息科技股份有限公司 任务分配方法和系统
CN107168788A (zh) * 2016-03-07 2017-09-15 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置
WO2018120993A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种分布式系统任务分配的方法和装置
CN109582461A (zh) * 2018-11-14 2019-04-05 中国科学院计算技术研究所 一种针对Linux容器的资源部署方法及系统
CN110278119A (zh) * 2019-07-16 2019-09-24 中国联合网络通信集团有限公司 边缘节点的资源分配方法、资源分配装置
TWI695329B (zh) * 2019-04-01 2020-06-01 中華電信股份有限公司 一種建置於容器平台的資料碎片管理系統及方法
CN116390257A (zh) * 2023-03-22 2023-07-04 中国科学院沈阳自动化研究所 一种面向5g多参数集的实时调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172291A1 (en) * 2004-01-30 2005-08-04 Rajarshi Das Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
CN103383653A (zh) * 2012-05-02 2013-11-06 中国科学院计算技术研究所 云资源管理和调度方法及系统
CN103701934A (zh) * 2014-01-13 2014-04-02 浪潮(北京)电子信息产业有限公司 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN104158841A (zh) * 2014-07-09 2014-11-19 中电科华云信息技术有限公司 计算资源分配方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172291A1 (en) * 2004-01-30 2005-08-04 Rajarshi Das Method and apparatus for utility-based dynamic resource allocation in a distributed computing system
CN103383653A (zh) * 2012-05-02 2013-11-06 中国科学院计算技术研究所 云资源管理和调度方法及系统
CN103701934A (zh) * 2014-01-13 2014-04-02 浪潮(北京)电子信息产业有限公司 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN104158841A (zh) * 2014-07-09 2014-11-19 中电科华云信息技术有限公司 计算资源分配方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107168788A (zh) * 2016-03-07 2017-09-15 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置
CN107168788B (zh) * 2016-03-07 2021-01-08 阿里巴巴集团控股有限公司 分布式系统中资源的调度方法以及装置
CN106506594A (zh) * 2016-09-30 2017-03-15 科大讯飞股份有限公司 一种并行计算资源分配方法及装置
CN106790368A (zh) * 2016-11-17 2017-05-31 北京奇艺世纪科技有限公司 一种分布式系统中的资源调度方法和装置
WO2018120993A1 (zh) * 2016-12-30 2018-07-05 华为技术有限公司 一种分布式系统任务分配的方法和装置
CN108268318A (zh) * 2016-12-30 2018-07-10 华为技术有限公司 一种分布式系统任务分配的方法和装置
CN107145384A (zh) * 2017-04-17 2017-09-08 广州孩教圈信息科技股份有限公司 任务分配方法和系统
CN109582461A (zh) * 2018-11-14 2019-04-05 中国科学院计算技术研究所 一种针对Linux容器的资源部署方法及系统
TWI695329B (zh) * 2019-04-01 2020-06-01 中華電信股份有限公司 一種建置於容器平台的資料碎片管理系統及方法
CN110278119A (zh) * 2019-07-16 2019-09-24 中国联合网络通信集团有限公司 边缘节点的资源分配方法、资源分配装置
CN116390257A (zh) * 2023-03-22 2023-07-04 中国科学院沈阳自动化研究所 一种面向5g多参数集的实时调度方法

Also Published As

Publication number Publication date
CN104881322B (zh) 2018-10-09

Similar Documents

Publication Publication Date Title
CN104881322A (zh) 一种基于装箱模型的集群资源调度方法及装置
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
CN107491341B (zh) 一种基于粒子群优化的虚拟机分配方法
CN106020933B (zh) 基于超轻量虚拟机的云计算动态资源调度系统及方法
CN103713956B (zh) 应用于云计算虚拟化管理环境中的智能加权负载均衡方法
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN104391918B (zh) 基于对等部署的分布式数据库查询优先级管理的实现方法
CN104881325A (zh) 一种资源调度方法和资源调度系统
US8527988B1 (en) Proximity mapping of virtual-machine threads to processors
CN104331321A (zh) 基于禁忌搜索和负载均衡的云计算任务调度方法
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN105373432B (zh) 一种基于虚拟资源状态预测的云计算资源调度方法
CN105373426B (zh) 一种基于Hadoop的车联网内存感知实时作业调度方法
CN103297499A (zh) 一种基于云平台的调度方法及系统
CN111225050B (zh) 云计算资源分配方法及装置
CN104536804A (zh) 面向关联任务请求的虚拟资源调度系统及调度和分配方法
CN105975340A (zh) 一种虚拟机应用分配部署算法
CN111431961A (zh) 一种云数据中心的节能任务分配方法
Seth et al. Dynamic heterogeneous shortest job first (DHSJF): a task scheduling approach for heterogeneous cloud computing systems
CN105471985A (zh) 负载均衡方法及云平台计算方法、云平台
CN111159859B (zh) 一种云容器集群的部署方法及系统
CN107070965B (zh) 一种虚拟化容器资源下的多工作流资源供给方法
CN108256182A (zh) 一种动态可重构fpga的布局方法
CN109062683B (zh) 主机资源分配的方法、装置及计算机可读存储介质
CN111309472A (zh) 一种基于虚拟机预部署的在线虚拟资源分配方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate 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: 20240320

Address after: Room 711C, Floor 7, Building A, Yard 19, Ronghua Middle Road, Daxing District, Beijing Economic-Technological Development Area, 100176

Patentee after: Beijing Zhongke Flux Technology Co.,Ltd.

Country or region after: China

Address before: 100190 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

Country or region before: China

TR01 Transfer of patent right