发明名称 基于增量式分区策略的MapReduce数据均衡方法
摘要 本发明提出了基于增量式分区策略的MapReduce数据均衡方法。具体为首先在Map端产生多于Reducer个数的微分区,微分区的负载统计被持续收集并且发送给决策者,在每一个决策点,优化的马尔科夫模型在未被分配的微分区中自动进行分区选择,然后利用分配算法将选中的微分区分配到各Reducer上;依照此方法,经过多次分区选择和分配,最终在执行Reduce函数前,将所有微分区分配到Reduce端,该方法使得数据划分更加均衡,有效避免了数据倾斜所带来的负载不均衡问题。
申请公布号 CN106126343A 申请公布日期 2016.11.16
申请号 CN201610480210.4 申请日期 2016.06.27
申请人 西北工业大学 发明人 陈群;房超;王卓
分类号 G06F9/50(2006.01)I;G06F17/30(2006.01)I;G06F3/06(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种基于增量式分区策略的MapReduce数据均衡方法,其特征在于步骤如下:步骤1:确定一系列的决策点,在每一个决策点t使用优化的马尔科夫决策模型(S,A,P,R<sub>at</sub>(s<sub>t</sub>,s<sub>t+1</sub>),γ)对在Map端产生的N个微分区进行自动分区,其中N&gt;M,M为Reducer个数;决策点的确定:以第一个Mapper完成时刻为第一个决策点,运行到最后一个Mapper的α时刻为最后一个决策点,中间的决策点采用等分原则;所述的马尔科夫决策模型(S,A,P,R<sub>at</sub>(s<sub>t</sub>,s<sub>t+1</sub>),γ):S是状态的有限集,A是行动的有限集,行动是自动选择前k个微分区,P是状态转换概率的集合,γ是代表现在和将来报酬拥有不同的重要性的折扣因素,<img file="FDA0001031233080000011.GIF" wi="430" he="126" />为报酬函数;其中W是微分区的总量,<img file="FDA0001031233080000012.GIF" wi="60" he="63" />是在决策点t已分配的微分区的总量,N是微分区的总个数,<img file="FDA0001031233080000013.GIF" wi="61" he="61" />是在决策点t以后未分配的微分区的总个数;步骤2:采用LPT算法对步骤1中的分区进行分配,将并行代价的目标函数的作为LPT算法的输出:所述的并行代价的目标函数:<maths num="0001"><math><![CDATA[<mrow><mi>min</mi><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mi>j</mi></munder><mo>{</mo><msubsup><mi>L</mi><mi>j</mi><mi>f</mi></msubsup><mo>}</mo></mrow>]]></math><img file="FDA0001031233080000014.GIF" wi="270" he="87" /></maths><maths num="0002"><math><![CDATA[<mfenced open = "" close = ""><mtable><mtr><mtd><mrow><mi>s</mi><mo>.</mo><mi>t</mi><mo>.</mo></mrow></mtd><mtd><mrow><mo>(</mo><mn>1</mn><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mo>&ForAll;</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>h</mi><mo>,</mo><munder><mo>&Sigma;</mo><mrow><mn>1</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>M</mi></mrow></munder><msub><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mn>1</mn></mrow></mtd><mtd><mrow><mo>(</mo><mn>2</mn><mo>)</mo><mo>-</mo><mo>-</mo><mo>-</mo><mo>&ForAll;</mo><mn>1</mn><mo>&le;</mo><mi>i</mi><mo>&le;</mo><mi>M</mi><mo>,</mo><msub><mi>L</mi><mi>j</mi></msub><mo>=</mo><msub><mi>L</mi><mi>j</mi></msub><mo>+</mo><munder><mo>&Sigma;</mo><mi>i</mi></munder><mo>(</mo><msub><mi>x</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>&CenterDot;</mo><msubsup><mi>e</mi><mi>i</mi><mi>c</mi></msubsup><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0001031233080000015.GIF" wi="1454" he="111" /></maths>其中,L<sub>j</sub>为给第j个Reducer分配的初始负载,<img file="FDA0001031233080000016.GIF" wi="52" he="69" />为第j个Reducer被分配微分区后的负载,h为在决策点t之前未被分配的微分区总个数,x<sub>ij</sub>为P<sub>u</sub>中的微分区到Reducer的映射,P<sub>u</sub>为在决策点t之前未被分配的微分区集合,如果第i个微分区被分配到第j个Reducer则x<sub>ij</sub>=1,否则x<sub>ij</sub>=0;<img file="FDA0001031233080000017.GIF" wi="43" he="60" />指在P<sub>u</sub>中第i个微分区预估的数量,指被分配到第j个Reducer上的微分区的总量。
地址 710072 陕西省西安市友谊西路127号