一种适用于在线数据密集型应用的请求多副本任务执行方法_3

文档序号:9200223阅读:来源:国知局
结束在线数据密集型应用中的任务执行;若<见0,则 执行步骤H ;
[0093] 若>见(9,则结束在线数据密集型应用中的任务执行;若S见(9,则执 行步骤H;
[0094] 若7?? >510,则结束在线数据密集型应用中的任务执行;若7?? 则 执行步骤H ;
[0095] ?3期> ,则结束在线数据密集型应用中的任务执行;巧期 < 见(9,则执行 步骤H ;
[0096] 步骤H,获取副本的服务时延和响应时延
[0097] 在本发明中,完成时间(Finish Time)是指任务执行(Task Execution)结束的时 间。
[0098] 在本发明中,服务时延(Service latency)是指任务执行(Task Execution)从开 始至结束的所需时间。
[0099] 在本发明中,响应时延(Response latency)是指任务(Task)到达后端从节点 (Back-end slave node)至任务执行完成所需时间。
[0100] 参见图6所示,在本发明中,将后端从节点bsNi行完成r肩』本的时间记为?3成;
[0101] 在本发明中,将后端从节点bsNi行完成!^副本的时间记为ΤΙ# ;
[0102] 在本发明中,将后端从节点13%执行完成副本的时间记为7?? ;
[0103] 在本发明中,将后端从节点bsNi行完成 < 副本的时间记为7?? ;
[0104] 在本发明中,将后端从节点bsJA行完成<+1副本的时间记为T^ s1;
[0105] 在本发明中,将后端从节点bs^行完成r k副本的时间记为7|成。
[0106] 在本发明中,计算后端从节点bsN运行所述!^副本的服务时延记为巧1&,且 rPrX - TrI _ TrI · J服备-J完成-J运行,
[0107] 在本发明中,计算后端从节点13%运行所述1*2副本的服务时延记为,且 丁 r: 一 丁 V1rTiI 』服> =』完-成一』运行;
[0108] 在本发明中,计算后端从节点13%运行所述Is1副本的服务时延记为7??,且 fTrW-X _ rFrW-X - fTrW-I , 1服务_ 1完成 1运行,
[0109] 在本发明中,计算后端从节点bsN运行所述 < 副本的服务时延记为,且 T< - T< _Tr? . 完成 Z运行,
[oho] 在本发明中,计算后端从节点13%运行所述副本的服务时延记为7??,且 ψΚ·+\ - TrrW+! _ ψΚ+Ι . 1服备-Ζ完成 Ζ运行,
[0111] 在本发明中,计算后端从节点13%运行所述rk副本的服务时延记为且 Trk - Trk - Trk1服务-完成 ^运行。
[0112] 在本发明中,计算后端从节点13%运行所述r 本的响应时延记为,且 T7rI - T7iI _ T7iI , 』响应-J完成-J到达,
[0113] 在本发明中,计算后端从节点bsN运行所述1*2副本的响应时延记为,且 ΛΤ7 }'-j ΓΤ1 ΓΤ1 1响~应=^成-IpJ达;
[0114] 在本发明中,计算后端从节点13%运行所述副本的响应时延记为7??,且 rPrW-X _ rTrW-X _ rTrW-X , i响应_ J完成一 J到达J
[0115] 在本发明中,计算后端从节点13%运行所述 < 副本的响应时延记为且 T<- - TrW _J< · 1响应-完成 到达,
[0116] 在本发明中,计算后端从节点13知运行所述<+1副本的响应时延记为7??,且 rTy^x T7 7^+1 _ T7 7^+1 . 1响应_ J完成一 J到达,
[0117] 在本发明中,计算后端从节点13%运行所述rk副本的响应时延记为?,且 应=7?成-7?达;执行步骤I。
[0118] 在本发明中,后端从节点(Back-end slave node)采用滑动窗口技术,实时监 控任务流中各个副本(Replica)的服务时延(service latency)及响应时延(Response latency),从而获得副本的服务时延及响应时延。通过服务时延来控制预测过滤模块300, 通过响应时延来控制状态过滤模块100。
[0119] 步骤I,计算动态参考值
[0120] 设置服务时延监控模块400的滑动窗口 Windows存储的服务时延的个数,记为V, 若服务时延监控模块400收到的服务时延的个数记为v ;当v < V时,则服务时延监控模块 400继续接收的服务时延;当V彡V时,则服务时延监控模块400将先接收的服务时延剔除。
[0121] 计算服务时延监控模块400的存储的服务时延的平均值ASL,

表不后端从节点运彳丁完成所有副本的服务时延的总和,中的上标
[0122] 设置响应时延监控模块500的滑动窗口 Windows存储的响应时延的个数,记为U, 若响应时延监控模块500收到的响应时延的个数记为u ;当u < U时,则响应时延监控模块 500继续接收的响应时延;当u多U时,则响应时延监控模块500将先接收的响应时延剔除。
[0123] 计算响应时延监控模块500的存储的响应时延的平均值ARL,且

表示后端从节点运行完成所有副本的响应时延的总和,77=)?中的上标
[0124] 计算响应时延监控模块500的存储的响应时延的方差VRL,且 执行步骤J。
[0125] 步骤J,检查节点状态参考量
[0126] 步骤J-1,检查后端从节点bsN若不满足状态条件三,则更新,即及递减 1 ;执行步骤J_2 ;
[0127] 步骤J-2,检查后端从节点bsN若满足状态条件一,则更新无效周期数,即 /C^递减1 ;同时结束在线数据密集型应用中的任务执行;检查后端从节点bsNg不满足 状态条件一,执行步骤J-3 ;
[0128] 步骤J-3,检查后端从节点bsN若满足状态条件三,则后端从节点bs !^处于运行状 态,执行步骤K ;
[0129] 步骤K,更新节点状态参考量
[0130] 依据ARL和VRL更新后端从节点bsN的状态参考量,即无效周期数和恢复周 期数;
[0131] 老
且VRL < ζ,η表示预设的响应时延偏移量上限,ζ表 示预设的响应时延方差上限;表明系统负载较高,一方面更新恢复周期数/、为副本 等待队列模块200中的副本数;另一方面更新无效周期数/CfcV,将所述的更新为 ,O < λ < I ; λ表示预设的无效周期数的比例参数。
[0132] 本发明根据动态参考量ASL、ARL和VRL自适应调整后端从节点的预测过滤模块 300及状态过滤模块100的相关参数,从而达到控制后端从节点(Back-end slave node)是 否运行或接收后续任务,从而达到节省计算资源的目的。
[0133] 在本发明步骤A中,后端从节点的状态转移图如图3所示,后端从节点在初始化后 处于运行状态,当负载过高时,节点进入无效状态,此时节点不接收任何任务(含有副本标 记的除外)且关闭响应时延监控模块500,并设置无效周期数和恢复周期数,副本等待队列 200中每运行完成一个副本,则周期数减一;当运行至无效周期数为零时,后端从节点进入 恢复状态,此时节点可以接受任务,但不启用响应时延监控模块500。直至恢复周期数为零, 后端从进入运行状态,此时节点可以接收任务,且开启响应时延监控模块500。
[0134] 本发明的应用实例如图4所示,后端主节点将请求解析为一组任务,分别提交至 相应的任务发送模块,任务发送模块将同一任务的多个副本分发至多个后端从节点,并选 取一部分进行副本标记。后端从节点收到任务后,若任务含有副本标记,则后续所有过滤模 块(状态过滤模块100、预测过滤模块300)均对其无效。若节点处于无效状态,表示节点不 接收任务,状态过滤模块100直接向后端主节点返回空结果,否则,将任务插入节点的副本 等待队列200中。当任务即将开始运行时,预测过滤模块300根据预测参数计算任务的预 期响应时延,若预期响应时延大于服务质量目标,则直接返回空结果,不再运行该任务,否 则开始运行任务。任务完成后,将任务的服务时延和响应时延发送至相应监控模块(服务 时延监控模块400、响应时延监控模块500)。监控模块维护其监控指标的滑动窗口,并实时 更新滑动窗口中监控指标的移动平均值和移动方差,作为参数提供给相应过滤模块(状态 过滤模块100、预测过滤模块300)。此外,响应时延监控模块500的启用与否取决于节点状 态,只有节点处于工作状态时才接收监控数据。这是由于在非工作状态下,任务的响应时延 受到了高负载的影响,不具有参考价值。
[0135] 本发明面向在线数据密集型应用,利用滑动窗口和性能预测技术,通过对任务特 征及节点状态的准确预测,节省了更多的资源,并提升了应用在高负载时的服务质量。与原 有的多副本执行策略相比,对于相同的服务质量目标,本发明使用的额外资源更少,同时在 负载较高时,缓解了原有多副本执行策略对任务运行时间不确定性影响。
[0136] 本发明减少了多副本执行在保障在线数据密集型应用服务质量时占用的额外资 源,从而提高了系统资源的使用效率,通过利用滑动窗口提取任务特征值,并对节点进行性
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1