基于集群计算环境的核外计算中间件关键技术研究

来源 :武汉大学 | 被引量 : 0次 | 上传用户:hjklmijk
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算机科学的不断进步,使用集群计算来进行科学研究已成为一种发展趋势。这种大规模科学计算往往需要同时调用上千个节点进行运算,以确保用于计算的海量数据可以完全存放在计算机内存中。但是,对于一些大规模非结构计算,例如稀疏线性求解器,运行在上千个节点时,编程困难,高效性也难以保证,直接导致计算资源的浪费。核外计算技术可以通过将数据保存在外存的方式,对计算数据进行运行时的访问、调度和管理。中间件技术的发展也为大规模集群计算带来了更便捷、高效的途径。本文研究了针对集群计算中大规模线性求解问题的核外计算和中间件方面的相关技术,提出了一个支持核外计算技术的中间件,并且使用此中间件相对容易地建立了功能不同的、并行度高的、使用成本相对较低的大规模线性计算求解器。通过相关论证,有效证明了该中间件的通用性、易用性、高效性和进行绿色计算的能力等。本文的研究主要包括:分布式核外计算中间件的数据流与任务流体系架构;数据流处理中的任务调度策略研究;核外计算技术在大规模集群计算中的成本控制;分布式数据流处理系统的中间件构建方法等。本文的具体研究内容和创新工作主要包括以下几个方面:(1)分布式核外计算中间件针对大规模线性计算,本文在一个已有的分布式流处理中间件DataCutter的基础上,设计了一种新的分布式核外计算中间件。该中间件实现了多个节点之间的实时相互通信与协作;并通过全局地址管理模式,对于全部数据,包括远远大于计算平台内存容量的超大规模数组,实现了以数据块为单位的分布式数据核外技术管理;本文对数据流与任务流的管理进行了研究,设计了分布式核外数据管理系统与分布式任务分割、调度模式,实现了数据流与任务流的分离;本文研究的中间件,通过对任务的分割与派遣,达到了节点之间子任务序列的进程级并行,和节点内子任务之间的线程级并行。相对原有的DataCutter中间件,此中间件具有更先进的架构方式,更高效的管理策略,增加了对核外计算的支持,可以更为容易的构建分布式核外计算数据流处理系统。通过外存访问能力测试、核内计算性能测试,论证了中间件的外存访问能力与核内计算能力均达到了硬件条件允许范围内的最大值。(2)基于数据感知的任务调度策略针对中间件中的任务管理,本文设计了一种基于数据感知的任务调度策略。使用有向无环图建立任务之间的数据依赖关系,对任务进行划分并通过其相互之间的数据依赖建立任务序列。在任务总管模块中,根据任务依赖划分出多个子任务,分配至多个计算节点。计算节点接收到代表部分任务的有向无环图子图时,将子图中的每一个任务打散,重新排列形成任务链,并根据系统对于本地节点内存中已有数据的动态感知,实时调整任务链中的任务顺序。基于动态感知的任务调度策略可以优先触发当前满足数据依赖条件的任务,尽可能多的触发当前满足数据条件的任务,同时尽可能多的减少外存访问次数,以此提高系统整体运行效率。通过对比论证,基于数据感知的任务调度策略显著优于现有的MPI传统调度策略。针对基于数据感知的任务调度策略,本文还进行了一系列的提高算法执行效率的研究工作。其中,数据预读取机制,可以通过对任务序列的扫描,在计算当前任务的同时,提前装载下一个任务所需的数据,达到任务派遣与数据调度的联动,用计算时间掩盖数据迁移耗时;针对特定算法提出了同步叠加策略,可以同步触发有数据依赖关系的多个任务,达到执行时间的相互掩盖。这些研究工作均有效提高了中间件的任务调度和执行的效率。(3)中间件的绿色计算论文首先针对中间件的核内、核外计算混合计算能力和资源消耗情况进行了测试,根据总的资源耗费量=CPU占用数量*CPU占用时长的成本计算方式,论证了该中间件在绿色计算领域具备节省计算资源的能力。进而,论文将该中间件运用于一个具体的量子力学计算项目中,将具体的计算系统在搭载固态硬盘的高性能计算平台上进行了测试,系统以核外计算方式实现了MFDn系统的计算过程,相比现有的MFDn计算系统的核内计算模式而言,虽然延长了计算时间,但显著地减少了计算节点和CPU处理器的占用数量。从实验结果可知,中间件架构及相关策略较大程度地节约了计算成本,得到了明显的优于现有系统的结果。通过对比论证,证明了在核外计算模式下,该中间件可以有效地减少资源的消耗,能够达到绿色计算的目的。(4)线性代数编程框架分布式的大规模线性计算往往编程结构复杂,涉及到核外计算时,编程任务更是困难重重。本文基于分布式数据流系统中间件的架构模式,研究出了一种新的线性代数编程框架。该框架提供了多个编程接口,通过调用这些编程接口,程序员可以使用C或C++语言,以集中式、串行的编程方式,完成在集群环境对于大型线性核外计算的分布式、并行计算系统的构建。编程接口支持大量常用的线性代数的计算原语,通过这些原语的调用,中间件可以以相对容易的方式,实现规模庞大、逻辑复杂的多种算法。线性代数编程框架提供了新的分布式核外计算系统架构方式,很大程度上减少了在架构此类系统时的工作量,为大规模线性求解问题提供了一种通用的、易用的、高效的解决途径。本文以特征值求解过程为例,在该编程框架中通过原语的调用实现了相关算法,以非常简单的方式构建了分布式核外计算特征值求解器。并在搭载固态硬盘的高性能计算平台上进行了测试。实验中通过系统执行总时间、系统的外存访问时间、系统的计算时间三者对比,论证了中间件可以有效的达到计算耗时与数据迁移耗时的相互掩盖,同时对比任务的建立与调度所消耗的时间,论证了中间件在任务创立、分配、调度时的高效性。
其他文献
在卧镗上加工小直径的深孔,按照常规,只能钻一扩一铰。这样不但效率高,而且可以保证其孔的公称尺寸和孔型精度。如果孔的位置精度要求很高,钻一扩—铰就不能保证其位置精度了,因为
运用传统方法计算晶体材料的力学性能时,是在理想状态下进行的,忽略了晶格缺陷,导致计算结果与实际结果完全不符。为解决这一问题,提出基于第一性原理的晶体材料力学性能计算
文章主要是对某沟槽凸轮的机加工工艺进行研究,分析零件的可加工性和工序的合理性可以为产品建立合理的设计结构,从而为实现并行设计打下基础。
以凹椭圆为例,介绍宏程序嵌套的编程方法,探讨宏程序嵌套在数控车床加工中的应用,扩展了数控车床的加工范围,为同类零件的加工提供了一个编程基础。
教研员直接与教师打交道的机会比较多,对普通教师的影响也比较大,所以,在我看来,教研员应该努力成为“能手”。一、课堂教学的能手教研员一般是从教师中挑选出来的,在成为教
基本案情$$王先生与李女士与2005年5月登记结婚,因双方收入有限,婚后一年多一直租房居住。王先生的父母考虑到小夫妻租房居住缺乏安全感,遂于2006年9月以儿子的名义购买了一套两
报纸
介绍了丙烷脱氢装置含硫废碱液处理技术的开发及工业应用情况。开发了以湿式氧化技术为核心的“加碱中和-湿式氧化-酸化中和”处理技术,工业化装置运行稳定,出水S2-质量浓度
近年来,液压控制元件的发展趋势大致可以归结为高压化、大容量化、小型化、精密化、复合化,集成化、低噪声化和省能量化等。从三十年代以来,一直广泛应用以滑阀式结构为主的
回 回 产卜爹仇贱回——回 日E回。”。回祖 一回“。回干 肉果幻中 N_。NH lP7-ewwe--一”$ MN。W;- __._——————》 砧叫]们羽 制作:陈恬’#陈川个美食 Back to yield
本文介绍了一种用于太阳能电池板表面质量检测的三维形貌测量仪,重点介绍了基于白光显微干涉和双衍射光栅激光位移计量的垂直扫描系统和计算机信息处理系统的结构组成与工作原