The invention belongs to the field of network information processing technology, and discloses a progressive non-blocking opportunity resource reservation method and system. The method combines Preselection with Priority. Firstly, the nodes that can provide resource reservation for large tasks are selected, and then the Priority strategy is introduced to prioritize the filtered nodes and lock a node to be the current big one. The resource reservation node of task is used. Finally, the resource reservation strategy is adopted to reserve the resource of the node. The invention solves the problem that the reserved nodes do not allocate resources for other tasks until the reserved requests are met, which will lead to a large number of resource fragments in the cluster, and the cluster outage will become a probable event.
【技术实现步骤摘要】
一种渐进式非阻塞机会资源预留方法及系统
本专利技术属于网络信息处理
,尤其涉及一种渐进式非阻塞机会资源预留方法及系统。
技术介绍
对于HadoopYARN资源调度系统,当某个节点不能满足任务需求时会进行资源预留。目前,业内常用的现有技术是这样的:增量资源预留和一次性资源预留。优先为这个应用程序预留一个节点上的资源,直到累计释放的空闲资源满足了应用的需求。这种资源的分配方式叫做增量资源分配。暂时放弃当前节点资源,直到某个节点的资源一次性满足应用程序的需求。这种分配方式叫做一次性资源分配。然而,两种分配方式均有不足,对于增量资源分配而言,资源预留机制会导致资源浪费,集群资源利用率低;而一次性资源分配虽然在发现资源无法满足某个应用需求的时候放弃资源请求,但是,这个应用有可能永远得不到自己请求的资源因而永远无法运行,即饿死现象;综上所述,现有技术存在的问题是:(1)目前的资源预留机制并未对选择哪个节点来执行资源预留做限制,预留节点的选择变得不可控,可能出现节点全部预留,导致集群宕机。(2)现有的资源预留机制并未对预留期间的资源进行充分利用,预留的节点直到出现满足预留请求之前都不再为其他任务分配资源,这将会导致集群产生大量的资源碎片,资源得不到充分利用。解决上述技术问题的难度和意义:在防止集群节点全部被预留,集群资源出现只释放不分配,导致集群宕机的情况上,需要通过制定相应的策略来选择出符合做资源预留的节点,对于策略是否符合选择最优节点,是需要做大量实验考证的。在对预留资源的利用问题上,本专利技术创新性的利用非阻塞式资源预留方式,这对于节点来说可以为其他应用提供 ...
【技术保护点】
1.一种渐进式非阻塞机会资源预留方法,其特征在于,所述渐进式非阻塞机会资源预留方法采用预选节点Preselection和优选节点Priority相结合的形式先选择预留节点,再通过机会资源分配策略对选中节点进行资源预留;具体包括:当应用程序向Hadoop Yarn集群进行资源申请而得不到满足时,Yarn对集群中某一节点进行资源预留:首先选出为大任务提供资源预留的节点:对集群所有节点按照Preselection策略过滤掉不能做资源预留的节点;其次引入Priority策略对过滤后的节点权值优先级排序,锁定某个节点为当前大任务的资源预留节点;最后采用非阻塞式资源预留算法结合机会资源分配策略对选中某个权值节点和最大的节点进行资源预留。
【技术特征摘要】
1.一种渐进式非阻塞机会资源预留方法,其特征在于,所述渐进式非阻塞机会资源预留方法采用预选节点Preselection和优选节点Priority相结合的形式先选择预留节点,再通过机会资源分配策略对选中节点进行资源预留;具体包括:当应用程序向HadoopYarn集群进行资源申请而得不到满足时,Yarn对集群中某一节点进行资源预留:首先选出为大任务提供资源预留的节点:对集群所有节点按照Preselection策略过滤掉不能做资源预留的节点;其次引入Priority策略对过滤后的节点权值优先级排序,锁定某个节点为当前大任务的资源预留节点;最后采用非阻塞式资源预留算法结合机会资源分配策略对选中某个权值节点和最大的节点进行资源预留。2.如权利要求1所述的渐进式非阻塞机会资源预留方法,其特征在于,Preselection策略包括:过滤掉平均资源利用率在大于1.0*0.8*N的节点作为资源预留节点;将满剩余足条件的节点作为Priority阶段的输入;具体包括:首先创建一个用于存放preselection预选结果的空数组Pre_node[];然后遍历所有节点,对于所有满足节点负载小于N*0.8*1.0的节点,都添加到Pre_node[]数组里面;最后将Pre_node[]数组里面的节点传入Priority阶段。3.如权利要求1所述的渐进式非阻塞机会资源预留方法,其特征在于,Priority策略包括:采用mapReduce程序来计算集群中preselection阶段节点在所有Prioritypolicy下所体现的权值总和;以每个节点服务器的policy权值和来排序选择综合性能最合适的节点。4.如权利要求3所述的渐进式非阻塞机会资源预留方法,其特征在于,PriorityPolicy最优策略的制定,包括:优先选择本地性节点:优先选择与任务在同一节点的资源;选择小任务多的节点:按照100%资源负载计算,对每个节点最大任务占用节点资源情况划分为4个等级:节点最大任务所用container占节点服务器总资源率小于20%,节点最大任务所用container占节点服务器总资源率达20%~40%,节点最大任务所用container占节点服务器总资源率达40%~60%,节点最大任务所用container占节点服务器总资源率超过60%;选择节点服务器资源占用量与节点服务器资源总量比值更小的节点:通过设置如下权值选择:节点服务器资源占用量/节点服务器资源总量<0.2,0.4>节点服务器资源占用量/节点服务器资源总量>0.2,0.6>节点服务器资源占用量/节点服务器资源总量>0.4,0.8>节点服务器资源占用量/节点服务器资源总量>0.6,节点服务器资源占用量/节点服务器资源总量>0.8。5.如权利要求3所述的渐进式非阻塞机会资源预留方法,其特征在于,根据制定的PriorityPolicy最优策略统计每个节点的权值和,统计方式包括:首先先将每个节点的各个policy的权值写进文件file.txt;然后将file.txt作为Map程序的输入,按行以制表符“\t”切割,保留切割后数组下标为1到数组末尾的值;再以“:”切割得到输入数据;最后map的结果进入reduce程序进行处理,...
【专利技术属性】
技术研发人员:张路桥,滕彩峰,李飞,王娟,石磊,
申请(专利权)人:成都信息工程大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。