流式计算引擎动态分片策略研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:nini863700
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网的高速发展,数据急剧增长,低时延高吞吐的分布式流处理引擎应运而生。对于分布式流处理引擎而言,能应对服务器宕机、数据波动变化大、操作复杂度变化等情况显得格外重要。为了提供高可用且高效的分布式流处理服务,当前有的流处理引擎将数据流切分成一系列的分片,再对分片进行批处理。然而,这类系统并不能很好的应对流量波动、集群处理能力波动、任务复杂度波动的情景。  本文提出了一个基于反馈控制的动态分片流处理引擎来调节分片大小,能够根据流量、计算能力的波动自适应调节分片大小,达到不影响系统吞吐率的同时让端到端处理时延尽可能的低。本文的主要贡献包括如下三个方面:  1)提出了基于反馈控制的动态分片策略。首先提出了一个基于反馈控制的模型,并将自动化控制领域的PID(proportional-integral-derivative,比例-积分-微分)控制器引入分片调整策略中,提出了更适用流处理场景中的RelaxedPID控制算法。然后提出了多并发度下的稳定条件和稳定域,并以此为基础实现了多并发度下的反馈控制算法。  2)设计了一个基于反馈控制的动态分片流处理引擎。现有的基于静态分片的流处理引擎,通过预先配置好的参数(或是时间间隔或是记录条数)来对流量进行分片,这样的方式并不具有很好的鲁棒性。虽然有了一些基于动态分片的流处理引擎的相关工作,要么效果不太好,要么因为转换成数学模型求解而导致本身的一些不足。本文设计了一个基于反馈控制的动态分片流处理引擎,能够根据流量波动和集群计算能力波动自适应调节分片大小,收敛速度和响应变化速度快,因此有更好的鲁棒性。  3)基于反馈控制的动态分片流处理引擎在Spark Streaming上的实现。首先,在SparkStreaming上实现了一个动态的作业生成模块。其次对Spark Streaming已有的Window机制进行了改进,提出并实现了Elastic-Window。Spark Streaming中有普通的micro-batch和window两种数据处理模型,window依赖于micro-batch。要实现动态地调整micro-batch而又不影响window的功能是一个难点。Elastic-Window解决了这个问题,并保证了API(Application Programming Interface,应用编程接口)与原生Spark Streaming一致,主要功能一致。最后在Spark Streaming下实现了多并发度的基于反馈控制的调整算法,从多个角度进行的实验对比证明了算法的有效性。
其他文献
蛋白质组学是指在大规模水平上研究蛋白质的特征,包括蛋白质的表达水平、翻译后修饰、相互作用等,并由此获得蛋白质水平上关于疾病发生、细胞代谢等过程的全面认识。目前,蛋白质
学位
近年来,随着Web2.0的飞速发展,社区问答系统逐渐成为一种非常流行而实用的互联网应用。与传统问答系统不同的是,在社区问答系统中,用户不但可以提问和回答任何领域、任何类型的问
传统的网络体系架构主要是建立在昂贵的专有硬件和封闭软件的基础之上。这种体系结构,严重地阻碍了网络新协议、新技术的发展和应用,因而妨碍了网络的变革和创新。在这样的背
该文运用对象建模技术,在客户/服务器应用平台上,设计并实现了二医院信息系统的基本原型.
微信数据作为一种新的社交媒体有着非常迅猛的发展速度,而且据最新的统计显示截止到2015年微信每日活跃账户已经超过一亿了。目前基于微信公共号的订阅模式的信息分发方式已经
网络是一把双刃剑,它既为多媒体的传播提供快捷通道,同时也使得这些数字作品被复制和修改的几率大大提高。加密方法为版权保护提供了一种有效的途径。该方法使用密钥和加密算
区域人流量预测不仅可以解决交通拥堵问题也可以避免类似上海外滩踩踏事件的发生,在人们的日常生活中具有非常重要的应用价值。随着各种定位技术及基于位置服务产品的发展,产生
云计算(Cloud Computing)是网格计算、分布式计算、并行计算等传统计算机和网络技术发展融合的产物。作为一种新兴的计算模式,云计算以其高度的可扩展性、灵活的按需付费模式
TCAM由于其稳定又高效的查找性能,近年来被广泛应用于高速网络下的数据包分类系统中。TCAM中的规则表是动态的,当网络拓扑变化或者防火墙策略变更时,规则会被插入或者删除。插入