分布式数据并行应用内存溢出错误分析与诊断

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:hnjylwn
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,大数据以数据量大、数据类型多样、产生与处理速度要求快、价值高的4V特性成为工业界和学术界的研究热点。由于传统软件系统难以在可接受的时间范围内处理大数据,工业界和学术界设计了具有高扩展性的分布式数据并行处理框架,如MapReduce,Apache Hadoop,Apache Spark等。目前,这些框架被广泛应用于数据密集型应用的开发和执行,如Web索引的建立、日志挖掘、机器学习、大规模图分析等。  分布式数据并行框架为用户提供了简单的编程模型,并能自动完成数据的并行与分布处理。这种设计方式可以让用户更关注于数据处理逻辑本身,而无需了解应用的物理执行过程。然而,如果应用在运行时出现性能问题或者运行时错误,用户难以诊断出问题原因,更难以修复错误。由于应用需要在内存中处理大量数据,内存溢出错误成为分布式数据并行应用中一种常见的运行时错误,而且该错误不能被框架的错误容忍机制修复。除了内存溢出问题,用户在正常使用框架时也面临不了解应用内存消耗,不知道该为应用配置多大内存空间的问题。  本文旨在分析和解决分布式数据并行应用中的两个内存使用问题:(1)如何分析并估算应用的内存使用量?(2)如何理解、诊断与修复应用内存溢出错误?针对这两个研究问题,本文从以下三个方面开展了研究:  (1)内存溢出错误的实证分析:研究目的是分析应用内存溢出错误的常见原因,常见修复方法,并探索可以提高框架错误容忍能力的方案。我们研究了123个真实Hadoop和Spark应用的内存溢出错误,发现了内存溢出错误的三大原因:框架暂存的数据量过大,数据流异常以及内存使用密集的用户代码。我们也从42个包含修复信息的错误中总结出了常用的修复方法。另外,我们也提出了可以提升框架错误容忍能力和错误诊断能力的三种方法。  (2)内存用量模型构建与用量估算:研究目的是构建应用的内存用量模型,量化应用的静态因素(数据、配置、用户代码)与动态内存用量的关系,并估算出新应用的内存用量。我们以数据流为中心构建了应用内存用量模型,模型包含数据流模型、框架内存用量模型和用户代码内存用量模型。为了解决如何在用户代码未知的情况下构建用户代码内存用量与其输入数据之间关系的问题,我们在用户代码模型中设计了生命周期敏感的内存用量监控方法。在内存用量模型的基础上,我们通过在小数据上运行应用来估算该应用在大数据集上的内存用量。  (3)内存溢出错误的诊断方法:研究目的是设计出内存溢出错误诊断方法及工具。本文基于内存用量模型设计了一个内存分析器Mprof。Mprof可以自动建立应用静态因素与动态内存用量之间的关系,方法是重建应用数据流,重建用户代码内存使用历史信息,并对两者进行关联分析。Mprof也包含定量诊断规则,这些规则根据应用静态因素与动态内存用量之间的关系自底向上定位内存溢出错误相关的代码段,错误相关的数据,以及不恰当的配置参数。  本文的研究成果对于分布式数据并行框架用户和框架设计者均有实际参考意义,也对后续研究工作(比如研究其他框架或应用的内存溢出问题)有借鉴意义。
其他文献
无线Mesh网络(Wireless Mesh Networks,WMN)作为一种无线多跳的组网方式有着广阔的应用前景。WMN具有高带宽、覆盖范围广以及部署成本低等特点,用户可以不依赖于现有的网络基础
随着Web的快速发展和Web信息的爆炸式增长,越来越多的Web用户使用搜索引擎来寻找想要的信息,搜索引擎也就扮演着越来越重要的角色。为了能将更好的搜索结果提供给用户,大部分搜
高性能计算是当前科学研究的重要手段之一。受到功耗的限制,计算机已经不能通过单纯的提高频率来获得性能的提升。多核成为计算机发展的重要方向,随之而来的复杂体系结构和编程
搜索引擎在人们生活中起着越来越重要的作用,已经成为网民获取信息的主要来源和企业营销的重要手段。在利益的驱使下,越来越多的网站为了获得在搜索引擎中的展现机会,提高在搜索
人们对图像高质量的喷印需求不断增长使得喷墨技术不断发展,喷墨印刷越来越朝着高速和精确的方向发展,高精度喷墨不断在新的领域得到应用,喷墨性能和质量的检测也随之成为一个越
“存储墙(Memory Wall)”问题是制约计算机性能的主要瓶颈之一。在集成电路工艺进步的促进下,计算机系统结构发生巨大变化。多核处理器成为计算机系统结构发展的必然趋势,需要
软件复用是提高软件开发效率和质量的一条现实可行的途径,软件资产库是对可复用软件资产进行管理,对软件资产的复用过程提供支持的基础设施。多年来,软件资产库的研究已经积累了
发布/订阅系统使得用户能够对事件(发布消息)保持长期、即时的关注(订阅请求)。随着越来越多的消息使用XML格式进行发布,高效地实现XML发布/订阅系统能够满足诸如新闻订阅、竞
目前,信息检索技术正在飞速发展,人们对信息检索系统的检索结果的要求越来越高。传统信息检索方式下,由于信息资源缺少统一的语义描述,用户难以查找到与需求相关的资源,难以实现信
对互联网在中国大陆部分自治系统一级的拓扑结构进行较为完整和准确的发现是互联网相关研究中的一项基础性工作。这项工作在基于互联网的分布式系统,内容递送网络的服务器选择