[发明专利]一种基于排队建模的批量流式计算系统性能保障方法有效
申请号: | 201710247307.5 | 申请日: | 2017-04-16 |
公开(公告)号: | CN107086929B | 公开(公告)日: | 2019-12-13 |
发明(设计)人: | 梁毅;侯颖;苏超;陈诚;丁治明 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/861;H04L12/26;H04L29/08 |
代理公司: | 11203 北京思海天达知识产权代理有限公司 | 代理人: | 沈波 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 排队 建模 批量 计算 系统 性能 保障 方法 | ||
1.一种基于排队建模的批量流式计算系统性能保障方法,其特征在于:该性能保障方法分为五个步骤:过程划分、组件选取、性能建模、延迟计算和瓶颈定位及优化;其中,过程划分、组件选取和性能建模步骤是在批量流式计算系统在线运行前一次性完成,延迟计算、瓶颈定位及优化步骤则在系统在线运行中周期性执行;在性能建模时,对数据到达强度、组件服务时间等做如下假设:1)外部数据源的数据到达符合泊松分布;2)数据处理采用先来先服务的调度方式;3)数据到达时间间隔与组件服务时间的分布规律相互独立;4)网络是不可控因素,因此假设网络带宽足够;在本方法中,有几个基本的参数:数据块间隔tblockInterval,批处理间隔tbatchInterval,用户期望数据处理延迟Tmax,在线计算数据处理延迟周期t,数据在各组件的逗留时间占比阈值Pa,逗留时间标准差阈值σa,组件实例数量增加步长ka;tbatchInterval取值在0.5~2秒之间;
上述方法的特征在于包括以下步骤:
(1)过程划分
将批量流式计算的数据处理过程划分为以下五个阶段:
①数据接收:从数据源获取数据并存入系统的内存缓冲区;
②数据块构建:周期性将当前缓冲区的数据封装为数据块,放入数据块队列中;
③数据块存储:将队列中的数据块存入内存或磁盘中,记录该数据块的元数据信息,并将该数据块的标识ID放入对应的数据流队列中;
④作业生成:根据设置批处理间隔,从数据流队列中提取所有未处理数据块,并根据数据的处理逻辑关系生成作业,提交到作业队列中;
⑤作业执行:将作业队列中的作业转化为并行任务,并分发给集群的任务执行器执行;
(2)组件选取
2.1)根据系统结构,选取步骤(1)中划分阶段所对应的核心组件,构建备选组件集合C,C={ci|1≤i≤5},设置随机组件集合CR,以及常量组件集合Cc,其中,随机组件是指数据项在该组件的逗留时间存在随机性的组件,常量组件是指数据项在该组件的逗留时间近似为固定值的组件;
2.2)选取测试数据集D={dj|1≤j≤n},并选取低、中、高三类不同的数据到达强度,构建数据到达强度集λ,λ={λm|1≤m≤p};
2.3)运行批量流式计算系统,并逐一按照λ中的到达强度向系统注入数据集D;对每个数据到达强度λm,λm∈λ,利用公式(1)计算该数据到达强度下数据项dj,dj∈D,在C中组件ci,ci∈C的逗留时间Tijm;
Tijm=Tifinish-Tistart (1)
其中,Tifinish表示数据项dj离开组件ci的时间,Tistart表示数据项dj到达组件ci的时间;
2.4)对于λ中的每个数据到达强度λm,利用公式(2)计算该强度下数据项在组件ci的平均逗留时间Tim;
2.5)对于λ中的每个数据到达强度λm,利用公式(3)和公式(4)计算该强度下数据项在各组件ci的平均逗留时间占比Pim和标准差σim;
其中Tm为在数据到达强度λm下数据项在系统中的平均总逗留时间,即数据项在各组件平均逗留时间的总和;由公式(5)计算得到,
2.6)利用公式(6)和公式(7)计算不同强度下数据项在各组件ci的逗留时间的平均占比Pi和标准差σi;
2.7)对于C中每一个组件ci,若Pi≥Pa且σi≥σa,则将组件ci加入随机集合CR,若Pi≥Pa且σi<σa,则将组件ci加入常量集合Cc;
(3)性能建模
3.1)对于任一ci∈Cc,数据在该组件ci的逗留时间设为常量Ti;
3.2)对于任一ci∈CR,则根据组件ci的数据到达及服务特征,选取相应排队模型,并根据对应模型计算出数据在该组件的等待时间Wqi和服务时间Si,数据在在该组件的逗留时间为Ti=Wqi+Si;
3.2.1)参考步骤(1)中的过程划分,如果组件属于第①阶段,则数据以λ0的泊松过程到达,视为单个服务台或多个服务台的M/M/1排队模型,利用公式(8)和公式(9)计算等待时间Wqi和组件服务时间Si;
其中,λi表示该组件的数据到达速率,μi表示该组件的服务速率,ki表示服务台数目;
3.2.2)参考步骤(1)中的过程划分,如果组件属于第②③④阶段,则数据在固定时间间隔到达,视为单个服务台/多个服务台的D/M/1排队系统,利用公式(10)计算等待时间Wqi,服务时间Si可利用3.2.1)中的公式(9)计算得到;
其中,δ是方程δ=e-μ/λ(1-δ)的最小绝对值根;
3.2.3)参考步骤(1)中的过程划分,如果组件属于第⑤阶段,则其服务特征满足一个作业被分为多个子任务并行处理,并且每个子任务需等到其他所以子任务被处理结束才能重新聚合并离开时,可看做Fork-Join模型,利用公式(11)计算服务时间Si;
Si=max(Tl0,Tl1,...,Tlk) (11)
其中,Tlk表示第k个并行子任务的执行时间;
3.3)将数据项在各关键组件的逗留时间加总即得系统的平均数据处理延迟,如公式(12):
(4)延迟计算:在批量流式计算系统运行过程中,周期性根据公式(12)计算系统在线数据处理延迟;
4.1)计算每个组件i的数据到达速率λi、服务速率μi和服务台数量ki,其中,ki为当前可使用的组件实例数量;
4.1.1)若组件ci∈CR,且数据到达和服务特征满足M/M/1模型时,其到达速率和服务速率可利用公式(13)和公式(14)计算得到;
其中,nevent表示在最近的时间周期t内到达的数据项总量,tevent表示对单个数据项的平均服务时间;
4.1.2)若组件ci∈CR,且数据到达和服务特征满足D/M/1模型时,其到达速率和服务速率可利用公式(15)和公式(16)计算得到;
其中,tInterval表示应用程序中设置的时间间隔,tblock表示对单个数据块的平均服务时间;
4.1.3)若组件ci∈CR,且服务特征满足Fork-Join模型时,其到达速率和服务速率可利用4.1.2)中的公式(15)和公式(16)计算得到;
4.2)将步骤4.1)中获取的参数值带入步骤3.3)的公式(12)中得到数据处理延迟T;
4.3)比较数据处理延迟T和用户期望数据处理延迟Tmax,若T≤Tmax,说明数据处理延迟可满足用户时效性需求,则执行步骤(6),否则执行步骤(5);
(5)瓶颈定位及优化
5.1)若T趋于无穷大,查找满足的组件,将其服务台数目设置为并跳转至步骤(4)重新计算数据处理延迟T,其中,为上取整符号;
5.2)若T>Tmax,则选取逗留时间占比Pi最大的组件,将其服务台数目设置为ki=ki+ka,并跳转至步骤(4)重新计算数据处理延迟T;其中,ka为组件实例数量增加步长;
(6)回溯:在时间周期t后,判断应用程序是否结束,是则转至步骤(7),否则转到步骤(4);其中时间周期t是指相邻两次性能评估之间的时间间隔;
(7)结束:中止对系统的性能评估及优化。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710247307.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:共享网络终端的检测方法及装置
- 下一篇:一种车辆配置方法、装置及汽车