基于任务结构优化的Spark缓存策略研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:hscyg
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
大数据计算框架Spark运用内存空间极大提升了任务的执行效率,但由于内存空间的局限性,Spark任务常常因为内存瓶颈导致执行效率低下,甚至任务失败,这与框架本身的缺陷和RDD(Resilient Distributed Datasets)的缓存策略密切相关。Spark自诞生至今,一直采用LRU(Least Recently Used)作为缓存替换算法,但由于Spark的缓存调度器无法准确预测整个任务数据的使用情况,导致部分情况下LRU算法效果欠佳。为了减小任务执行时间,提升内存利用率,通过解析Spark的任务结构,对其进行一定的优化,并获取整个任务过程中数据和内存的使用情况,通过分析结果优化现有的缓存策略,这是本文研究的重点。本文首先对Spark现有的缓存机制进行分析,比较不同缓存方式对于任务性能的影响,通过实际例子证明现有的缓存策略还有较大的优化空间。接着提出了任务结构分析和任务结构优化的方法,对于任务结构分析,通过动态分析的方法提取出Spark任务的关键信息,根据RDD之间的依赖关系解析出整个任务的依赖关系图,同时解析出任务运行过程中数据和内存的使用情况;对于任务结构优化,在获取了Spark的任务信息后,通过调整Stage的位置使得任务计算过程中同一RDD的使用更加集中,减少了内存替换的概率,提高了整个任务的执行效率。在分析和优化任务结构的基础上,提出了RDD权重的概念,综合多种影响RDD使用情况的因素,包括使用次数、大小、跨度、分区与核数比例、计算代价等,建立了合理的RDD权重模型。基于RDD权重模型,本文提出了一种新的缓存替换策略,RWR(RDD Weight Replace)缓存替换策略,确保内存替换过程中相对更有价值的数据能够缓存至内存中,用于提高缓存命中率和内存利用率,减少因为内存瓶颈造成的计算错误,在一定程度上提高了Spark框架的容错性能。最后通过对比实验,结合多种负载用例,通过运行单个任务、调整集群配置、混合多种任务等方式,对默认未修改的Spark和优化后的Spark进行实验对比,实验结果表明,本文提出的任务结构优化策略和缓存替换策略能够有效提高任务执行效率。
其他文献
无线传感器网络(Wireless Sensor Network, WSN)是当今国际备受关注的前沿热点领域,掀起了一场后PC时代的革命。无线传感器网络是由大量具有感知能力、计算能力和通信能力的
全系统模拟器可以用于指定模拟某个硬件平台,因此其被广泛用于软件开发、错误判定、内存访问情况的查看和分析等用途。多核技术的发展为全系统模拟器技术带来了众多机遇同时
随着计算机存储器技术的发展,近年来出现了一类新型存储器—按字节寻址非易失存储器(byte-addressable non-volatile memory),简称NVM。NVM融合了传统DRAM按字节寻址和传统外
社团结构是复杂网络普遍而又重要的拓扑属性之一,它具有团内连接紧密、团间连接稀疏的特点。揭示网络社团结构对分析复杂网络拓扑结构、理解其功能、发现其隐含模式以及预测网
当今时代,数据爆炸为近似聚集的效率和准确性提出了很大挑战。为了提高近似聚集的效率和准确性,我们引入了机器学习领域的杠杆机制。在传统的杠杆机制中,杠杆反映了样本的个
近几年孤立点检测研究已经成为数据挖掘的热点。孤立点检测的作用是扩展人们的感官功能,来发现那些不能被人们容易发现的知识,识别那些隐藏的重要模式。而这些知识和模式可能
Web环境下快捷有效地向用户推荐对其更为可信和感兴趣的资源已经成为一个研究热点。本文主要研究基于信任网络的个性化推荐模型以向用户推荐更为可信和感兴趣的Web资源。  
随着计算机技术的飞速发展,在计算机视觉领域内的图像处理和模式识别等技术也逐渐变得更加完善,其中检测问题也是图像处理等领域大多数学者研究的主要问题之一,并且在实际生
远程医疗是将计算机、多媒体、通信、网络等技术与现代化医疗技术结合起来,为了提高医疗诊断水平、降低医疗费用、满足众多特殊人群的需求而产生的一项全新的医疗服务模式。
交通流参数检测是智能交通系统的重要研究内容之一。基于视频的交通流参数检测具有信息含量丰富、设置灵活、成本低等优点,目前已成为国内外的研究热点,有着广阔的应用前景。