一种基于装箱模型的集群资源调度方法及装置的制造方法_3

文档序号:8905132阅读:来源:国知局
(Mi,Mj, Cg)。
[0047]e)GROUP_MEM( ?,Mj, Cg),该组的物理节点上满足的资源请求的类型未最终确定,但可以知道的是节点上当前分配了红色的%或红色的C g。该组的物理节点都处于可分配资源状态,以后可能在该节点为蓝色的MEM_REQ分配资源,为蓝色Mi分配资源后将该节点分到 GROUP_MEM(Mi,Mj,Cg)。
[0048]为了使物理节点上可用资源量中的内存和CPU趋于平衡,对于混合类型(同时为红色MEM_REQ和红色CPU_REQ分配了资源)的物理节点,在分配资源时将该节点上当前可用资源中CPU(个数)与内存(GB)的比值rat1与节点资源总容量的比值rat1_initial进行比较:若rat1 > rat1_initial,即当前节点可用资源中CPU资源所占比例较高,此时在该节点上为红色的CPU_REQ分配资源;若rat1 ( rat1_initial,即当前节点可用资源中内存所占比例较高,则此时在该节点上为红色的MEM_REQ分配资源。
[0049](2)分配了 CPU_REQ的物理节点的分组方法与⑴类似,具体描述如下:
[0050]f)GROUP_CPU(Cj),该分组的物理节点中仅满足蓝色的C」。该组中只有一个物理节点处于可分配状态且该节点上已满足的蓝色Cj的数目少于最大值β CJo该组其余不可分配的节点上分配的蓝色的的数目均已达到最大限β。」。
[0051]g) GROUP^PU(CrCi),该分组的物理节点上既为蓝色的Cj也为红色的Ci分配资源,其中可满足的蓝色的G的最大数目为β d则该节点上可为红色的%分配的资源量为δ cJO该分组中至多有3种处于可分配状态的物理节点,分别是:当且仅当分配的蓝色的&的数目少于最大值β d的物理节点、当且仅当分配给红色的Ci使用的总资源量少于δ ei的物理节点以及分配的蓝色&的数目少于最大值β μ且分配的红色的匕占用的总资源量少于δ ci的物理节点。
[0052]h) GR0UP_CPU (Cj, CiJg),该分组中的物理节点上满足3种类型的资源请求,分别是蓝色的Cp红色的CjP红色的Mg。该组的物理节点上允许分配的蓝色的的最大数目为β。」,另外两种红色资源请求的最大数量则由该节点上除了蓝色的(^外的剩余资源量决定。该组至多有2种处于可分配状态的物理节点,分别是分配的蓝色Ci的数目少于最大值β CJ的节点和除了蓝色&占用外剩余的资源量可以分配给红色Ci或红色M 8的节点。
[0053]i)GR0UP_CPU(Cj,?,?),该组的物理节点上满足的资源请求的类型未最终确定的节点,但可以知道的是节点上当前仅分配了蓝色的Cp该组的节点都处于可分配状态,以后可能在节点上为红色的CPU_REQ或红色的MEM_REQ分配资源。在为除蓝色Cj外的资源请求分配资源后,更新该节点分组为GR0UP_CPU(Cp Ci)或GR0UP_CPU((V Ci, Mg)。
[0054]j)GR0UP_CPU(? ,Ci,Mg),该组的物理节点上满足的资源请求的类型未最终确定的节点,但可以知道的是节点上当前为红色的Ci或红色的118分配了资源。这些节点都处于可分配状态,以后可能为蓝色的CPU_C0NTAINER分配资源,当该节点分配了蓝色的Cj后更改分组为 GROUPJPUCCj,Ci, Mg)。
[0055]为了使物理节点上可用资源量中的内存和CPU趋于平衡,对于混合类型(即分配了红色CPU_REQ又分配了红色MEM_REQ)的物理节点,在分配资源时将该节点上当前可用资源中CPU(个数)与内存(GB)的比值rat1与节点资源总容量的比值rat1_initial进行比较:若rat1 ( rat1_initial,即当前节点可用资源中内存资源所占比例较高,此时在该节点上分配红色的MEM_REQ ;若rat1 > rat1_initial,即当前节点可用资源中CPU所占比例较高,则此时在该节点上分配红色的CPU_REQ。
[0056]在资源分配的过程中,尽量将较大和较小资源的request分配到一个节点上,这样可以充分利用节点的资源:对于分配了较大request的节点,如果剩余空间足以分配小的request,则将小的request分配到节点上,已达到“填充”的效果,从而减少资源“碎片”。
[0057]步骤105,开始时进行一些初始化工作:加载并解析配置文件,获取管理员的配置项值,比如允许分配的单个资源请求的最大资源量限制<MAX_MEM,MAX_CPU>,限制染为红色的资源请求数量的比例值mem_red_rat1和cpu_red_rat1。初始化各个节点分组列表为空,初始化用于各个用途的几个request计数器的值为0,包括。至此初始化完毕,开始接收并处理应用程序发来的资源请求,将收到的资源请求规整化后检查其资源量分类区间mem_unit [N]和cpu_unit[N]中是否存在该值,若存在,则确定其分类区间;若不存在,则将该值作为新值存入分类区间,即新增一个分类区间,实现动态创建资源请求的分类区间。接着对于收到的资源请求request做如下处理:
[0058](3)如果request类型为Mi,则更新Mj的总数(如图2所示);否则,转到⑷。
[0059]k)若红色Mi的数量小于Mi数量的限制比例且其^的资源量在允许染为红色的阈值范围内,则将request染为红色,红色Mi数量加1.否则,转到L),步骤k)包括以下步骤:
[0060]1.如果存在一个处于分配状态的组GROUP_MEM( ? ,Mi^Cj)的节点node,并且该节点中用于分配红色request的资源满足需求,则在节点node为request分配资源;否则,转到i1.
[0061]i1.对任意的Mj,如果存在一个处于可分配状态的组GRCM^MEM(MyMi)的节点node且该节点中除了用于分配%的资源外的剩余资源量δ mi满足request的需求,则将在节点node分配资源。否则,转到ii1.
[0062]ii1.如果存在处于可分配状态的组GROUP_MEM(Mi,?,?)的节点node且用于分配红色Mi的资源满足request的需求,此时,将节点当前剩余资源量的比值与节点总资源容量比进行比较:若rat1_res〈rat1_initial_res,即当前节点剩余资源中内存所占比例较高,此时在该节点为request分配资源。否则,转到iv。
[0063]iv.寻找一个新的GR0UP_MEM( ? , Mi, ?)的节点为request分配资源。
[0064]L)将request染为蓝色,即request, color = blue,包括以下步骤:
[0065]1-1.如果Mi的资源量大于mem_rat1*MAX_MEM,则执行A。否则,转到2-1 ;
[0066]1-1-1,如果存在一个处于可分配状态的组GROUP_MEM(Mi)的节点node中蓝色Mi数少于I3mi,则在节点node上为request分配资源。否则,转到1_1_2 ;
[0067]1-1-2,找一个新的GROUP_MEM(Mi)的物理节点node为request分配资源;否则,转到2-1 ;
[0068]2-1,此时红色Mi占M i总数的比例已达到限制,则
[0069]2-1-1,如果对于任意Mj,存在处于可分配状态的组GRCM^MEM(MpMj)的节点node且node上分配的蓝色Mi数少于β mi,则节点node上为request分配资源。否则,转到2_1_2。
[0070]2-1-2,如果存在组GR0UP
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1