MapReduce并行计算应用案例及其执行框架性能优化研究
本文选题:并行计算 + 大数据处理 ; 参考:《南京大学》2012年硕士论文
【摘要】:当前,商业领域、科学领域以及社会生活中所产生的数据都在以惊人的速度增长。以关系型数据库为代表的传统数据存储、处理技术和工具,已无法存储、管理和处理如此大规模急速增长的数据。大数据包含了更多的有用信息,也带来了更多的挑战。大数据处理技术已成为当前的研究热点。在此背景下,通过并行计算技术解决大数据处理问题已成为学术界和工业界的普遍共识。然而并行计算技术与应用问题紧密相关,且应用问题本身具有不同的复杂性和多样性,这使得大数据的处理具有很大的技术挑战,需要寻找和研究有效的大数据处理并行计算模型和系统。 由Google公司所发表的MapReduce并行计算技术,因其高可扩展性和高易用性而成为目前最成功的大数据处理技术,得到广泛应用。Hadoop作为当前主流的开源MapReduce框架实现,已成为大数据处理应用事实上的工业标准。但是,现有的MapReduce执行框架的实现主要面向大规模数据批处理作业,而目前各行业出现了越来越多的对作业响应性能有较高要求的在线数据处理或查询应用,现有的MapReduce并行计算框架在处理这类应用时,其响应性能存在明显的不足。为了解该问题,本文从MapReduce上层应用到底层框架逐步深入,以MapReduce并行计算应用案例的研究工作为基础,研究并实现了对现有MapReduce执行框架的性能优化。本文的研究工作主要分为以下两部分: (1) MapReduce并行计算应用案例研究,以生物信息学中的著名序列比对工具BLAST为研究案例,对BLAST算法并行化所涉及到的数据划分和计算划分的难点加以分析,提出并实现了基于MapReduce的两种并行化方案,通过多组实验测试对两种方案作了评估和比较。通过对应用案例的研究,我们也观察到MapReduce模型和执行框架在作业调度和程序执行性能方面所存在的一些问题,进而过渡到本文的第二部分研究工作。 (2) MapReduce执行框架的性能优化,通过对MapReduce作业执行的内部处理过程和时间开销的详细分析,以及对MapReduce执行框架的结构、作业(job)和任务(task)的状态转换、作业和任务调度流程的细致研究分析,本文提出并实现了对MapReduce执行框架的两点优化:一是通过将job setup和job cleanup的工作从TaskTracker转移到JobTracker,减少了作业运行的环境准备和清理的时间开销;二是将任务分配从“拉(pull)"模式改为“推(push)"模式,并把任务状态变化消息从现有的较为耗时的周期性心跳机制中分离出来,采用即时传递机制,从而提高了任务调度效率和计算资源的利用率。 最后,本文使用第一部分工作中的应用案例对我们优化后的MapReduce执行框架做实验测试,实验结果表明了我们提出的性能优化方法的有效性,实际的性能提升效果较为显著。
[Abstract]:The data generated in business, science and social life are growing at an alarming rate. Traditional data storage, processing techniques and tools, represented by relational databases, can no longer store, manage and process such large scale and rapidly growing data. Big data contains more useful information and brings more challenges. Big data processing technology has become the focus of current research. In this context, it has become a common understanding of academia and industry to solve big data processing problems by parallel computing technology. However, the parallel computing technology is closely related to the application problem, and the application problem itself has different complexity and diversity, which makes the processing of big data have great technical challenge. It is necessary to find and study effective parallel computing models and systems for big data processing. MapReduce parallel computing technology, published by Google Company, has become the most successful big data processing technology due to its high scalability and ease of use. It has been widely used as the mainstream open source MapReduce framework implementation. It has become a de facto industrial standard for big data processing applications. However, the implementation of the existing MapReduce execution framework is mainly oriented to large-scale data batch processing, and there are more and more online data processing or query applications with high performance of job response. The response performance of the existing MapReduce parallel computing framework is obviously inadequate when dealing with this kind of applications. In order to understand this problem, this paper goes deep from the upper layer of MapReduce to the bottom frame. Based on the research work of MapReduce parallel computing application case, the performance optimization of the existing MapReduce execution framework is studied and realized. The research work of this paper is divided into the following two parts: 1) the application case study of MapReduce parallel computing, taking BLAST, a famous tool of sequence alignment in bioinformatics, as a case study, analyzes the difficulties of data partition and computational partitioning involved in parallelization of BLAST algorithm. Two parallel schemes based on MapReduce are proposed and implemented. Through the study of application cases, we also observe some problems in job scheduling and program execution performance of MapReduce model and execution framework, and then transition to the second part of this paper. 2) the performance optimization of MapReduce execution framework, through the detailed analysis of the internal processing process and time cost of MapReduce job execution, as well as the structure of MapReduce execution framework, job) and task state transformation. After detailed research and analysis of job and task scheduling process, this paper proposes and implements two optimizations of MapReduce execution framework: first, by transferring the work of job setup and job cleanup from TaskTracker to Job Tracker, the time cost of preparing and cleaning the environment of job running is reduced; The second is to change the task allocation from "pullout" mode to "push-push" mode, and separate the message of task state change from the existing time-consuming periodic heartbeat mechanism, and adopt the instant delivery mechanism. Therefore, the efficiency of task scheduling and the utilization of computing resources are improved. Finally, we use the application cases in the first part of the work to test our optimized MapReduce execution framework. The experimental results show that the proposed performance optimization method is effective, and the actual performance improvement effect is more significant.
【学位授予单位】:南京大学
【学位级别】:硕士
【学位授予年份】:2012
【分类号】:TP338.6
【相似文献】
相关期刊论文 前10条
1 师金钢;鲍玉斌;冷芳玲;于戈;;基于MapReduce的关系型数据仓库并行查询[J];东北大学学报(自然科学版);2011年05期
2 黄贤英,盛利;综合查询应用性能提升的策略[J];计算机工程与应用;2003年15期
3 朱克勤;数据库系统性能优化方法[J];警察技术;2004年06期
4 李泽平;SQL查询语句的性能优化与索引[J];福建电脑;2005年09期
5 张南平,陈小倩;ASP.NET性能优化[J];微机发展;2005年08期
6 史长琼;基于ORACLE的GIS数据实时处理系统的性能优化[J];长沙交通学院学报;2001年03期
7 张华;;查询优化技术在MIS中的应用[J];潍坊学院学报;2005年06期
8 唐沙;唐慧佳;李东琦;;电子商务系统的性能优化方案研究[J];微计算机信息;2007年27期
9 袁慧颖;翁盛鑫;程少平;魏冰;;ORACLE数据库性能优化[J];海军总医院学报;2007年03期
10 王勇;;基于SQL数据库的性能优化问题分析[J];电脑知识与技术;2008年15期
相关会议论文 前10条
1 范晓樯;李桦;田正雨;;超声速/高超声速飞行器复杂流场大规模并行数值仿真[A];计算流体力学研究进展——第十二届全国计算流体力学会议论文集[C];2004年
2 齐进;叶文华;;三维激光烧蚀瑞利-泰勒不稳定性并行计算[A];中国空气动力学学会第十届物理气体动力学专业委员会会议论文集[C];2001年
3 张望;王辉;;个性化服务中的并行K-Means聚类算法[A];2007年全国开放式分布与并行计算机学术会议论文集(下册)[C];2007年
4 丛鹏;;MPI并行计算实现工业CT图像重建[A];2004年CT和三维成像学术年会论文集[C];2004年
5 丁国昊;罗凯;李伟;李桦;;乘波飞行器气动特性数值模拟与并行计算[A];第三届高超声速科技学术会议会议文集[C];2010年
6 罗文彩;陈小前;;并行计算的多方法优化协作[A];第二十四届中国控制会议论文集(上册)[C];2005年
7 耿江东;薛正辉;高本庆;;应用并行GTD算法计算阵列天线近场受扰[A];第17届全国电磁兼容学术会议论文集[C];2007年
8 唐维军;张景琳;蔚喜军;;三维流体界面不稳定性的并行计算[A];中国工程物理研究院科技年报(2000)[C];2000年
9 左风丽;莫则尧;叶文华;;计算流体三维分裂格式的高效并行计算[A];中国工程物理研究院科技年报(2003)[C];2003年
10 杜志文;曾文华;;网格计算在文本分类中的应用[A];2006年全国开放式分布与并行计算机学术会议论文集(三)[C];2006年
相关重要报纸文章 前10条
1 轶嘉;英特尔全球首个并行计算中心落户无锡[N];人民邮电;2009年
2 江锡民;英特尔并行计算中心落户无锡[N];新华日报;2009年
3 刘琦;伯克利专家展望未来并行计算[N];中国计算机报;2008年
4 张云泉;并行计算:迎接多核时代的挑战[N];计算机世界;2006年
5 均儿;通用计算核动力[N];电脑报;2009年
6 本报记者 马文方;英特尔为何要牵头并行计算[N];中国计算机报;2009年
7 英特尔并行计算实验室研究员 TimothyMattson;并行计算:减少串行软件[N];中国计算机报;2007年
8 英特尔 赵军(Jun Zhao);PC机并行计算革命尚未成功[N];中国计算机报;2009年
9 陈翔;性能优化只能救火[N];中国计算机报;2007年
10 ;并行计算成PC产业发展瓶颈[N];人民邮电;2008年
相关博士学位论文 前10条
1 陈军;分布式存储环境下并行计算可扩展性的研究与应用[D];中国人民解放军国防科学技术大学;2000年
2 尹欣;三维弹性问题边界元法并行计算及其工程应用[D];清华大学;2000年
3 陈晓春;基于并行计算的大涡模拟方法及其工程应用基础研究[D];西安建筑科技大学;2004年
4 王开健;基于特大增量步算法的网络并行计算[D];清华大学;2005年
5 张理论;面向气象预报数值模式的高效并行计算研究[D];中国人民解放军国防科学技术大学;2002年
6 寇哲君;可扩展冲击—接触并行计算及其在汽车碰撞模拟中的应用[D];清华大学;2003年
7 刘丽;人工免疫网络研究及应用[D];江南大学;2008年
8 张永彬;岩石破裂过程分析并行计算方法研究[D];东北大学;2007年
9 伍湘君;GRAPES高分辨率气象数值预报模式并行计算关键技术研究[D];国防科学技术大学;2011年
10 卢风顺;面向CPU/GPU异构体系结构的并行计算关键技术研究[D];国防科学技术大学;2012年
相关硕士学位论文 前10条
1 江逢斌;基于SAGE的分布式高性能优化设计平台[D];上海交通大学;2010年
2 杨晓亮;MapReduce并行计算应用案例及其执行框架性能优化研究[D];南京大学;2012年
3 魏伟;基于SMP集群的性能优化方法的研究[D];兰州大学;2006年
4 林树新;SmartOSEK的系统设计和时间性能优化[D];浙江大学;2005年
5 熊远生;网络控制系统的滑模预估变结构控制器设计及性能优化[D];浙江工业大学;2004年
6 徐慧君;基于JSP平台的信息发布系统的设计与实现[D];北京工业大学;2004年
7 吕栗;邮件过滤系统中数据库的性能优化[D];哈尔滨工程大学;2005年
8 石鹏飞;J2EE企业门户网站技术研究[D];浙江大学;2006年
9 陆琳琳;MD5算法的技术研究及性能优化[D];吉林大学;2006年
10 刘战合;基于复合形方法的翼型优化设计及并行计算研究[D];西北工业大学;2004年
,本文编号:1908379
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/1908379.html