一种基于预测的Map/Reduce数据处理平台内存资源动态分配方法组成比例

技术编号:12140629 阅读:89 留言:0更新日期:2015-10-01 19:43
一种基于预测的Map/Reduce数据处理平台内存资源动态分配方法,分配方法分为五个步骤,初始化、任务内存资源使用预测、任务内存资源释放、任务内存资源追加和回溯。本方法针对Map任务和Reduce任务在运行过程中内存资源使用量具有明显波动性的特征,根据Map任务和Reduce任务运行过程中的内存使用量历史记录,采用线性回归和t检验法,统计任务内存使用规律,预测任务后续运行中需要使用的内存量,并根据任务内存使用预测量,动态追加或减少正在运行的Map任务和Reduce任务的内存分配量,从而有效提高Map/Reduce平台内存资源的使用效率,提升Map/Reduce作业的执行效率。

【技术实现步骤摘要】

本专利技术属于分布式计算领域,具体设及Map/Re化ce型海量数据处理平台中内存 资源的使用预测与动态分配方法。
技术介绍
Map/Re化ce是一种新型的并行计算模型,已被广泛应用于海量数据处理领域。内 存是支撑Map/Re化ce应用运行的重要计算资源。在实际运行中,一个Map/Re化ce应用是 由一个或多个Map/Re化ce作业组成。每个Map/Re化ce作业的执行通常包含一个Map阶 段和一个Re化ce阶段。其中,Map阶段和Re化ce阶段可分别映射为多个Map任务进程和 Re化ce任务进程并行执行。Map/Re化ce应用的运行平台(W下简称"Map/Re化ce平台") W任务为单位为Map/Re化ce应用分配其运行所需的内存资源。 由于Map/Re化ce应用普遍具有大数据处理的特征,是否分配充足的内存资源,已 成为制约Map/Re化ce应用执行效率的关键因素。目前,Map/Re化ce平台对内存资源的分 配通常采用W用户设置为导向的方法,即用户在Map任务和Re化ce任务运行前或运行中主 动发起内存资源申请请求,给出确定的内存资源需求量,Map/Re化ce平台根据用户指定的 需求量为其分配或追加内存资源;任务一旦获得内存资源将持续占用,直至任务运行结束, 或在其他运行任务需要追加内存资源时被动释放。 然而,上述方法运用于实际Map/Re化ce生产性平台存在如下问题;Map任务和 Re化ce任务在其运行过程中对内存资源的使用量往往具有显著的波动性,用户对任务的内 存资源的实际消耗需求难W准确把握。因此,在Map/Re化ce平台中采用W用户设置为导向 的内存分配方法,导致用户过量申请内存资源是客观存在的事实。同时,在既有W用户设置 为导向的方法中,任务无法将其过量占有的内存资源主动释放出来W供待调度的Map任务 和Re化ce任务使用。该使得待调度任务由于无法获得初始内存分配而延迟启动执行,从而 大大降低了平台的任务吞吐率和内存资源的利用率。此外,W用户设置为导向的方法难W 防止恶意用户过度申请内存资源,从而导致平台资源恶意竞争的现象。
技术实现思路
本专利技术方法针对Map和Re化ce任务在运行过程中内存资源使用量具有明显波动 性的特征,根据Map任务和Re化ce任务运行过程中的内存使用量历史记录,采用线性回归 和t检验法,统计任务内存使用规律,预测任务后续运行中需要使用的内存量,并根据任务 内存使用预测量,动态追加或减少正在运行的Map任务和Re化ce任务的内存分配量,从而 有效提高Map/Re化ce平台内存资源的使用效率,提升Map/Re化ce作业的执行效率。 本专利技术所述的内存资源分配方法分为五个步骤;初始化、任务内存资源使用预测、 任务内存资源释放、任务内存资源追加和回溯。在本方法中,有五个基本的参数:预测函数 拟合次数阔值Cm"、任务内存资源追加判断阔值叫、任务内存资源释放判断阔值Uf、内存追 加量计算时间步长T、任务抢占优先级权值比例0。Cm"-般取值在3~5之间,U a取值 在0. 1~0. 5之间,Uf取值在0. 5~1之间,T取值在5~10秒,0取值在0~1之间。 上述方法在计算机上按W下步骤实现:[000引 (1)初始化:从Map/Re化ce平台既有资源及作业管理组件采集运行任务 t"(l《1《m,1《j《n)内存动态分配所需的初始化信息,包括任务当前内存分配量RC。'、 任务开始运行时刻c_iu和任务的内存资源使用量历史记录集合RN U。其中,i表示任务所 属Map/Re化ce作业的编号,j表不任务在作业内的任务编号。 (2)建立任务ty的内存资源使用量预测函数。 2. 1)设置任务ty的内存资源使用预测量是关于时间的函数,预测函数形如 如/〇二l〇gay(t + 1) + Cy,其中,au与C U是待估算的参数; 2. 2)令平台中运行任务ty的内存资源使用量历史记录集合RU U表示为RU u = {ril;ri= (t i,mi),t 0},其中,11为第1个记录周期,mi为t li己录周期任务t U 的内存使用量。设置RUu为预测样本;[001引 2.扣令X = ln(t+l),y = qu(t),by二品;将任务t。.的内存资源需求预测 函数变换为y = byx+cu,待估算的参数变换为by和C U;令C U为函数拟合失败的次数, C。一 0 ;[001引 2. 4)采用线性回归方法对函数y = buX+c。进行拟合,其中b。和C U即为回归系 数;2. 4. 1)对于任务ty的历史内存资源使用记录集RU。中的每一个记录r 1,计算一 个变换后的记录 r/ ; (Xi,yi),Xi= ln(t 1+1),yi= m 1; 2.4.2)利用公式(1)-化),计算回归系数by和c。的估计值5;;和而,其中,叫表 示RUu中当前内存资源使用记录的个数。 而=y-碎 (6) 由此得出经验回归方程y二+而;[002引 2. 5)利用t检验法,对回归方程y二+ C;进行显著性检验。令是 否满足。其中,- 2)是自由度为ny-2的t分布函数a/2分位值,a是显著性水平; 2. 6)若检验满足,则函数拟合成功,执行步骤2. 10);否则,执行步骤2. 7);2. 7)C U+1,若Cu> C max,则拟合失败,执行步骤2. 9);否则,执行步骤2. 8); 其中,Cmax为预测函数拟合次数阔值;2. 8)修正预测样本对RUu中所有内存资源使用记录r1=(t1,mi),riG RUU,若 满足 ri-i = (t 1_1,mi_i),ri_i G RU u,< 0,则设置 RU i产 RU ij-{ti},执行步骤 2. 4 ; 2. 9)标记任务t。内存资源使用量预测函数构建失败,执行步骤做;[00測 2. 10)标记任务tu内存资源使用量预测函数构建成功,将任务t U的内存资源需 求预测函数听.阳=log~(t + ;0 + Cy中的待估计参数设置为斬.^ el/而,Cy ^ (3)计算任务t。的内存资源追加量RA。和释放量畑。。令当前时刻为c_c。,任务 ty当前内存使用量为RNu。 3. 1)初始化 RAu= 0,畑 u= 0 ;[003U 3. 2)估算任务tu的完成时刻c_f u。令任务ty处理的进度为p u,根据公式(7) 估算任务tu的完成时刻c_f U;[003引 c_fu= c_i u+(c_Cu-c_iu)/pu (7)[003引 3.如判断判断任务tu是否需要追加内存资源;若心j < Ua,则执行步骤 3.7);否则,执行步骤3.4);其中,U历内存资源追加判断阔值。 3.4)根据步骤(2),判断任务tu的预测函数是否构建成功,若是,则执行步骤 3. 5),否则,执行步骤3.6); 3. 5)根据公式(8)计算RAu,执行步骤3. 8); 其中,T为内存追加量预测时间步长;[003引 3. 6)根据公式(9)计算RAu,执行步骤3. 8); RAij= (RC ij-RNij) X 1. 5 (9) 3. 7)设置 RAu=0; 3.8)判断判断任务tu是否需要释放内存资源。若Ur,则执行步骤3.9); 否则,执行步骤3. 12本文档来自技高网
...

【技术保护点】
一种基于预测的Map/Reduce数据处理平台内存资源动态分配方法,内存资源分配方法分为五个步骤:初始化、任务内存资源使用预测、任务内存资源释放、任务内存资源追加和回溯;在本方法中,有五个基本参数:预测函数拟合次数阈值Cmax、任务内存资源追加判断阈值Ua、任务内存资源释放判断阈值Ur、内存追加量计算时间步长τ、任务抢占优先级权值比例θ;Cmax一般取值在3~5之间,Ua取值在0.1~0.5之间,Ur取值在0.5~1之间,τ取值在5~10秒,θ取值在0~1之间;其特征在于:所述方法在计算机上按以下步骤实现,(1)初始化:从Map/Reduce平台既有资源及作业管理组件采集运行任务tij(1≤i≤m,1≤j≤n)内存动态分配所需的初始化信息,包括任务当前内存分配量RCij、任务开始运行时刻c_iij和任务的内存资源使用量历史记录集合RNij;其中,i表示任务所属Map/Reduce作业编号,j表示任务在作业内的任务编号;(2)建立任务tij的内存资源使用量预测函数;2.1)设置任务tij的内存资源使用预测量是关于时间的函数,预测函数形如其中,aij与cij是待估算的参数;2.2)令平台中运行任务tij的内存资源使用量历史记录集合RUij表示为RUij={rl|rl=(tl,ml),tl≥tl‑1,ml≥0},其中,tl为第l个记录周期,ml为tl记录周期任务tij的内存使用量;设置RUij为预测样本;2.3)令x=ln(t+1),y=qij(t),将任务tij的内存资源需求预测函数变换为y=bijx+cij,待估算的参数变换为bij和cij;令Cij为函数拟合失败的次数,Cij←0;2.4)采用线性回归方法对函数y=bijx+cij进行拟合,其中bij和cij即为回归系数;2.4.1)对于任务tij的历史内存资源使用记录集RUij中的每一个记录rl,计算一个变换后的记录rl′:(xl,yl),xl=ln(tl+1),yl=ml;2.4.2)利用公式(1)‑(6),计算回归系数bij和cij的估计值和其中,nij表示RUij中当前内存资源使用记录的个数;x‾=1nijΣl=1nijxl---(1)]]>y‾=1nijΣl=1nijyl---(2)]]>Sxx=Σl=1nij(xl-x‾)2=Σl=1nijxl2-1nij(Σl=1nijxl)2---(3)]]>Sxy=Σl=1nij(xl-x‾)(yl-y‾)=Σl=1nijxlyl-1nij(Σl=1nijxl)(Σl=1nijyl)---(4)]]>由此得出经验回归方程2.5)利用t检验法,对回归方程进行显著性检验;令Syy=Σl=1nij(yl-y‾)2,]]>检验是否满足;其中,是自由度为nij‑2的t分布函数α/2分位值,α是显著性水平;2.6)若检验满足,则函数拟合成功,执行步骤2.10);否则,执行步骤2.7);2.7)Cij←Cij+1,若Cij>Cmax,则拟合失败,执行步骤2.9);否则,执行步骤2.8);其中,Cmax为预测函数拟合次数阈值;2.8)修正预测样本;对RUij中所有内存资源使用记录rl=(tl,ml),rl∈RUij,若满足rl‑1=(tl‑1,ml‑1),rl‑1∈RUij,ml‑ml‑1<0,则设置RUij←RUij‑{rl},执行步骤2.4;2.9)标记任务tij内存资源使用量预测函数构建失败,执行步骤(3);2.10)标记任务tij内存资源使用量预测函数构建成功,将任务tij的内存资源需求预测函数中的待估计参数设置为(3)计算任务tij的内存资源追加量RAij和释放量RDij;令当前时刻为c_cij,任务tij当前内存使用量为RNij;3.1)初始化RAij=0,RDij=0;3.2)估算任务tij的完成时刻c_fij;令任务tij处理的进度为pij,根据公式(7)估算任务tij的完成时刻c_fij:c_fij=c_iij+(c_cij‑C_iij)/pij           (7)3.3)判断判断任务tij是否需要追加内存资源;若则执行步骤3.7);否则,执行步骤3.4);其中,Ua为内存资源追加判断阈值;3.4)根据步骤(2),判断任务tij的预测函数是否构建成功,若是,则执行步骤3.5),否则,执行步骤3.6);3.5)根据公式(8)计算RAij,执行步骤3.8);RAij=qij(c_cij-c_iij+τ)-RNij,τ<c_fij-c_cijqij(c_fij-c_iij)-RNij,&t...

【技术特征摘要】

【专利技术属性】
技术研发人员:梁毅张辰陈翔詹静
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1