收藏本站
《新疆大学》 2017年
收藏 | 手机打开
二维码
手机客户端打开本文

内存计算环境下存储层容错和优化策略研究

英昌甜  
【摘要】:近年来,随着互联网的飞速发展,大数据的规模日益剧增。为了应对大数据带来的挑战,能够提高任务执行效率的内存计算成为关注的热点。对内存计算而言,提供高可靠性和高效的内存存储层是当前需要解决的关键问题。本文通过研究内存计算存储层的容错和优化问题,来提高存储层可靠性和内存有效利用率,进而实现提高内存计算整体执行效率的目标。本文主要研究内容包括:(1)内存计算概述介绍了内存计算的概念、分类和典型应用,归纳总结了内存计算存储层容错和内存优化方面的研究现状,讨论相关方法和现有研究。并对典型研究对象内存计算框架Spark的概念、架构、应用和待优化问题进行阐述。(2)内存计算环境下基于RDD关键度的自动检查点策略研究在容错机制方面,Spark通过血统(lineage)将任务重新计算,实现数据恢复。当血统过长或具有宽依赖操作时,计算开销较大,所以数据恢复的开销也会显著增加。因此需要为Spark中执行的任务设置检查点,实现快速恢复。然而现有的Spark检查点机制,要求用户或程序员根据经验选择检查点,具有一定的风险和随机性,并不能很好的符合任务的特性,降低恢复开销。本文针对上述问题,分析Spark的作业执行机制,建立了任务执行模型、检查点模型和恢复模型,给出了弹性分布式数据集(Resilient Distributed Datasets,RDD)关键度的定义,提出了算法的优化目标。根据模型的相关定义求解,设计了基于RDD关键度的自动检查点策略,通过血统长度、操作类型复杂度和时间开销计算关键度,设置适合的检查点,有效缩减恢复过程的延时;并通过检查点清理算法,清理不需要的检查点。实验表明:我们的算法提高了检查点策略的合理性,优化了内存计算框架的作业恢复效率。(3)内存计算环境下的数据失效恢复算法研究在Spark中实现高效的失效恢复策略,不仅能够减轻程序员的编程负担,更能有效提高群集的计算效率,应对突发性的宕机风险,增加系统的可用性。此外,现有的失效恢复算法未考虑RDD特性、集群性能和数据本地性等因素,会导致系统恢复效率较低。本文通过对内存计算框架的任务执行机制,建立执行效率模型,给出了RDD执行时间、计算代价和作业执行时间的定义。证明这些定义与任务恢复效率的逻辑关系,为算法设计提供基础模型。在对代码语义分析,获得作业详细信息的基础上,对失效恢复策略进行了优化。利用失效恢复模型和权重信息设计检查点设置算法和失效恢复算法。实验表明,算法可以提高作业的恢复效率。(4)基于存储区最小化和执行区按需分配的内存优化策略研究为了提升任务执行效率,在不影响RDD重用和任务执行效率的情况下,应尽量减少存储区(Storage memory)所占用空间,以保留更多内存空间给执行区。与此同时,执行区(Execution memory)根据活动任务的内存需求量情况进行分配,提高与任务的契合度。因此,本文对Spark内存模型进行分析,对内存可分配量、作业执行时间、数据倾斜度、执行区需求量、执行区可分配量、执行区溢出量、任务公平度等定义,并在此基础上,提出基于存储区最小化和执行区按需分配的内存优化算法。存储区选择更有价值的RDD作为缓存,并及时清理。执行区根据任务输入数据的大小决定内存分配量。在略微修改Spark源码的基础上,该策略能够降低存储区缓存缺失率和执行区磁盘溢出量,从而提高作业执行效率的目的。(5)内存计算环境下基于小文件合并的内存优化算法研究为了减少集群主节点内存消耗和作业开销,必须减少文件的数量,尽量使用大文件的数据。本文从小文件的方面出发,考虑内存优化问题,提出小文件分组和合并算法,通过对多个小文件进行一次预处理,即将多个小文件合并,以大文件作为输入数据。在不影响迭代效率的情况下,尽可能的减少对内存空间的占用,从而提高内存资源的有效利用率。实验结果表明:算法可以提高内存的有效利用率。(6)内存计算环境下基于索引结构的内存优化策略研究为了解决哈希存储结构带来的读取访问效率低、索引开销大的问题,本文提出了索引结构优化策略,该策略在不影响原系统性能的情况下,利用基于熵编码的排序存储,在系统空闲时段,将哈希存储中的数据根据键(key)进行排序,并为其建立排序索引和查找树。实验结果表明:系统能够提高用户读取访问效率,同时降低内存开销。
【关键词】:内存计算 Spark 存储层 容错 内存优化
【学位授予单位】:新疆大学
【学位级别】:博士
【学位授予年份】:2017
【分类号】:TP333
【目录】:
  • 摘要2-5
  • Abstract5-12
  • 第1章 绪论12-23
  • 1.1 研究背景及课题来源12-13
  • 1.1.1 研究背景12
  • 1.1.2 课题来源12-13
  • 1.2 研究现状13-19
  • 1.2.1 内存计算简介14
  • 1.2.2 内存计算存储层容错研究现状14-17
  • 1.2.3 内存计算存储层内存优化研究现状17-19
  • 1.3 主要研究工作19-23
  • 1.3.1 研究内容与创新点19-21
  • 1.3.2 组织结构21-23
  • 第2章 内存计算概述23-36
  • 2.1 引言23
  • 2.2 内存计算概述23-30
  • 2.2.1 概念23-24
  • 2.2.2 分类24-25
  • 2.2.3 典型应用25-28
  • 2.2.4 基准测试Benchmark28-30
  • 2.3 内存计算框架Spark30-35
  • 2.3.1 Spark简介30
  • 2.3.2 Spark生态系统30-32
  • 2.3.3 Spark的架构32-33
  • 2.3.4 Spark的应用33-34
  • 2.3.5 Spark待优化的问题34-35
  • 2.4 本章小结35-36
  • 第3章 内存计算环境下基于关键度的自动检查点策略36-54
  • 3.1 引言36-37
  • 3.2 相关研究37-38
  • 3.3 模型及相关定义38-44
  • 3.3.1 Spark作业执行机制39
  • 3.3.2 作业执行模型39-41
  • 3.3.3 检查点模型41-44
  • 3.4 基于关键度的检查点策略44-48
  • 3.4.1 RDD关键度生成算法45-46
  • 3.4.2 检查点自动选择算法46-47
  • 3.4.3 检查点清理算法47-48
  • 3.5 实验评价与比较48-53
  • 3.5.1 实验环境48-49
  • 3.5.2 检查点选择算法49-51
  • 3.5.3 检查点清理算法51-52
  • 3.5.4 综合评估52-53
  • 3.6 本章小结53-54
  • 第4章 内存计算环境下的数据失效恢复算法54-70
  • 4.1 引言54-55
  • 4.2 相关研究55-56
  • 4.3 模型与相关定义56-60
  • 4.3.1 作业执行模型56-57
  • 4.3.2 恢复模型57-60
  • 4.3.3 问题定义60
  • 4.4 数据失效恢复策略60-65
  • 4.4.1 建立基础数据61
  • 4.4.2 检查点设置算法61-63
  • 4.4.3 失效恢复算法63-65
  • 4.5 实验评价与比较65-69
  • 4.5.1 实验环境65
  • 4.5.2 算法综合评估测试65-66
  • 4.5.3 检查点设置算法66-68
  • 4.5.4 失效恢复算法68-69
  • 4.6 本章小结69-70
  • 第5章 基于存储区最小化和执行区按需分配的内存优化策略70-90
  • 5.1 引言70-72
  • 5.2 存在的问题72-73
  • 5.3 相关模型与定义73-81
  • 5.3.1 作业执行模型73-75
  • 5.3.2 存储区分配模型75-77
  • 5.3.3 执行区分配模型77-80
  • 5.3.4 问题定义80-81
  • 5.4 内存优化策略81-84
  • 5.4.1 存储区最小化算法81-82
  • 5.4.2 执行区按需分配算法82-84
  • 5.5 实验与结果分析84-89
  • 5.5.1 参数配置84
  • 5.5.2 综合评估84-87
  • 5.5.3 存储区最小化算法87-88
  • 5.5.4 执行区按需分配算法88-89
  • 5.6 本章小结89-90
  • 第6章 内存计算环境下基于小文件合并的内存优化算法90-103
  • 6.1 引言90-91
  • 6.2 相关研究91-92
  • 6.3 问题分析92-94
  • 6.3.1 内存文件系统Tachyon92-93
  • 6.3.2 访问延迟分析93-94
  • 6.4 基于小文件合并的存储区优化算法94-97
  • 6.4.1 小文件分类94-95
  • 6.4.2 小文件合并策略95-96
  • 6.4.3 小文件分组算法96-97
  • 6.5 实验评价与比较97-102
  • 6.5.1 实验环境97-98
  • 6.5.2 实验分析98-102
  • 6.6 本章小结102-103
  • 第7章 内存计算环境下基于索引结构的内存优化策略103-114
  • 7.1 引言103
  • 7.2 相关研究103-105
  • 7.3 存在的问题105-106
  • 7.4 索引结构存储优化策略106-110
  • 7.4.1 压缩索引存储算法106-108
  • 7.4.2 存储优化策略108-110
  • 7.5 实验评价与比较110-113
  • 7.5.1 实验环境110
  • 7.5.2 实验分析110-113
  • 7.6 本章小结113-114
  • 第8章 总结与展望114-116
  • 8.1 工作总结114-115
  • 8.2 未来工作及展望115-116
  • 参考文献116-126
  • 攻读博士学位期间主要的研究成果126-128
  • 致谢128-130

【参考文献】
中国期刊全文数据库 前9条
1 詹剑锋;高婉铃;王磊;李经伟;魏凯;罗纯杰;韩锐;田昕晖;姜春宇;;BigDataBench:开源的大数据系统评测基准[J];计算机学报;2016年01期
2 易会战;王锋;左克;杨灿群;杜云飞;马亚青;;基于内存缓存的异步检查点容错技术[J];计算机研究与发展;2014年06期
3 王元卓;靳小龙;程学旗;;网络大数据:现状与展望[J];计算机学报;2013年06期
4 孟小峰;慈祥;;大数据管理:概念、技术与挑战[J];计算机研究与发展;2013年01期
5 赵跃龙;谢晓玲;蔡咏才;王国华;刘霖;;一种性能优化的小文件存储访问策略的研究[J];计算机研究与发展;2012年07期
6 孔兰菊;李庆忠;史玉良;王学;;面向SaaS应用基于键值对模式的多租户索引研究[J];计算机学报;2010年12期
7 慈轶为;张展;左德承;吴智博;杨孝宗;;可扩展的多周期检查点设置[J];软件学报;2010年02期
8 吴俊;;基于双优先级队列的异构分布式控制系统容错调度算法[J];东南大学学报(自然科学版);2008年03期
9 周恩强,卢宇彤,沈志宇;一个适合大规模集群并行计算的检查点系统[J];计算机研究与发展;2005年06期
【共引文献】
中国期刊全文数据库 前10条
1 朱敏;;大数据背景下的数据分析[J];电脑迷;2017年12期
2 叶鹏;丁鼎;张雪英;;大数据驱动的旅游突发事件应急管理体系研究[J];电子政务;2017年08期
3 叶荣伟;康乾;黄一鸣;;面向大数据的安全配置核查工具研究与实现[J];电信工程技术与标准化;2017年08期
4 盛秀杰;金之钧;彭成;;PetroV分布式数据存储与分析框架设计[J];石油地球物理勘探;2017年04期
5 王扬;吴凡;姚宗强;刘杰;李栋;;基于正则化矩阵分解的用户用电行为分析[J];计算机应用;2017年08期
6 吕维体;;云计算下网络安全技术实现的路径分析[J];通讯世界;2017年14期
7 石宏杰;;基于大数据时代下煤矿管理信息化系统规划[J];通讯世界;2017年14期
8 吴彩虹;;大数据时代对隐私权的影响与对策[J];法制与社会;2017年21期
9 允尚姿;李鑫;;大数据环境下的网络安全技术[J];电子技术与软件工程;2017年14期
10 孙涛;;关于网络大数据的现状及发展前景研究[J];中国高新区;2017年14期
【二级参考文献】
中国期刊全文数据库 前10条
1 金澈清;钱卫宁;周敏奇;周傲英;;数据管理系统评测基准:从传统数据库到新兴大数据[J];计算机学报;2015年01期
2 李国杰;程学旗;;大数据研究:未来科技及经济社会发展的重大战略领域——大数据的研究现状与科学思考[J];中国科学院院刊;2012年06期
3 宫学庆;金澈清;王晓玲;张蓉;周傲英;;数据密集型科学与工程:需求和挑战[J];计算机学报;2012年08期
4 刘兵兵;孟小峰;史英杰;;CloudBM:云数据管理系统测试基准[J];计算机科学与探索;2012年06期
5 程学旗;郭嘉丰;靳小龙;;网络信息的检索与挖掘回顾[J];中文信息学报;2011年06期
6 高明;金澈清;王晓玲;田秀霞;周傲英;;数据世系管理技术研究综述[J];计算机学报;2010年03期
7 曹宏嘉;卢宇彤;谢旻;;资源管理系统中基于作业检查点的自动容错[J];计算机工程与科学;2009年11期
8 周傲英;金澈清;王国仁;李建中;;不确定性数据管理技术研究综述[J];计算机学报;2009年01期
9 刘伟;孟小峰;凌妍妍;;一种基于图模型的Web数据库采样方法[J];软件学报;2008年02期
10 昌中作;徐悦;戴钢;;基于SaaS模式公共服务平台多用户数据结构的研究[J];计算机系统应用;2008年02期
【相似文献】
中国期刊全文数据库 前10条
1 瓮正科;常驻内存程序及其驻留方法[J];微计算机应用;1992年02期
2 肖济楷;386/486微机在系统优化中的内存处理技术[J];武汉钢铁学院学报;1995年02期
3 张浩,叶念渝;C++中小对象内存分配的优化与封装[J];兵工自动化;2004年01期
4 周宾;章勇;;嵌入式Web访问时的内存丢失问题[J];单片机与嵌入式系统应用;2009年10期
5 邵刚;使自己的应用程序有“用不完”的内存(二)[J];电子与电脑;1996年02期
6 卢春鹏;一种嵌入式系统的内存分配方案[J];单片机与嵌入式系统应用;2002年12期
7 赵素萍;控制C++的内存分配[J];长春师范学院学报;2005年09期
8 钱晓明;小块内存分配器设计与实现[J];电脑编程技巧与维护;2005年02期
9 王明路;王希敏;王哲;;嵌入式系统中池式内存分配方法的分析[J];计算机与数字工程;2008年02期
10 靳广斌,曹焕林;内存的利用和优化以及系统的典型配置[J];电力学报;1995年03期
中国重要报纸全文数据库 前4条
1 上海 高博;奔向64位[N];电脑报;2004年
2 上海 夏翔;改善SQL Server内存管理[N];电脑报;2004年
3 小新;专科门诊Photoshop专科[N];中国电脑教育报;2003年
4 ;AdobePhotoshop常见问题之专家会诊[N];江苏经济报;2003年
中国博士学位论文全文数据库 前1条
1 英昌甜;内存计算环境下存储层容错和优化策略研究[D];新疆大学;2017年
中国硕士学位论文全文数据库 前5条
1 陈静怡;云环境下基于内存共享的服务器整合算法研究[D];复旦大学;2012年
2 韩志刚;一个内存分配器的设计和实现[D];东北大学;2008年
3 陈英芝;Spark Shuffle的内存调度算法分析及优化[D];浙江大学;2016年
4 陈春环;基于异构双核双路视频数据处理平台的设计与研究[D];北京邮电大学;2015年
5 陈宝罗;数字相框设计与实现[D];西南交通大学;2009年
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62791813
  • 010-62985026