面向多核和众核的跨架构程序移植关键技术研究

来源 :战略支援部队信息工程大学 | 被引量 : 0次 | 上传用户:ldw521
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
为满足日益复杂的信息处理需求,多核、众核组成的并行体系架构已经获得了大量的研究和应用。为了实现不同的功能目标,架构各具特色、优势各不相同的并行体系架构不断涌现。开发并行程序是利用这些并行体系架构的主要手段。并行体系架构带来处理能力的提升同时也使得开发程序变得复杂。相比于体系架构的快速发展,面向新型体系架构的程序编译和移植技术研究相对落后。研究跨架构的程序移植技术对于遗产代码升级、促进软件生态完善具有重要意义。本文从无源程序移植中二进制代码并行化、面向申威架构的无源和有源并行程序移植三个方面展开研究,主要研究内容和创新点如下:1.提出一种动静结合二进制翻译框架LLPEMU。动态二进制翻译技术是实现跨指令集架构无源程序移植的关键技术,对代码进行高级优化将引入运行时开销,影响整体性能提升。设计了动静结合机制,使得LLPEMU能够对代码进行静态分析优化且不引入运行时开销。采用二进制代码超级块生成技术和LLVM中间表示,使得LLPEMU能够利用多种代码优化方法提高生成代码的质量。实验结果表明,与测试基准QEMU相比,LLPEMU的翻译运行性能得到有效提高。2.提出一种面向二进制翻译的串行代码并行化方法并基于LLPEMU框架实现。本文将源代码自动并行化技术应用至二进制翻译系统中,在翻译串行程序时将其变换为等价并行程序以利用多核资源。设计了一种二进制翻译中代码并行化机制,提出了一种代码优化和重构方法来解决二进制代码并行化时存在的障碍。实验结果表明,本文提出的面向二进制翻译的代码并行化方法是可行的,并行化后目标代码的运行性能得到了有效提升。3.提出一种基于地址重用的本地代码替换方法。面向申威处理器的MPI并行程序移植通过MPI库函数本地代码替换实现。本文发现现有本地代码替换方法无法识别基于跳转指令的函数调用从而导致程序运行出错。针对这一问题,提出一种基于地址重用的本地代码替换方法,通过复用程序的代码地址空间实现库函数本地代码替换。实验结果表明,该方法能够成功识别基于跳转指令的函数调用并且降低了引入的运行时开销。4.为加速OpenMP程序向申威众核架构的程序移植,提出一种面向申威众核架构的OpenMP程序翻译机制并实现了一套运行支撑库。与申威异构众核架构不同,OpenMP是一种面向共享存储架构的编程标准。根据OpenMP程序语义,翻译机制使用源代码自动变换技术将OpenMP程序变换为申威athread程序。运行支撑库中OpenMP线程控制机制基于申威处理器提供的互斥锁实现。在激烈锁竞争情况下,该锁机制面临访存拥塞问题。提出一种面向申威众核架构的分布式传递锁机制HDT-LOCK,利用单指令多数据指令和众核间寄存器通信机制实现了锁传递,解决了原锁机制的访存拥塞问题并使锁机制的吞吐量提升最大可达5.6倍。
其他文献
学位
在数据的非交互式和交互式计算模型中,半诚实模型下由于不可信的数据分析者滥用数据导致隐私泄露。为此,使用可证明的差分隐私可以实现隐私保护与数据效用之间的权衡。但是,没有统一的方法表明隐私保护与数据效用之间的权衡。进一步在理性模型下考虑差分隐私的权衡,如果数据持有者获得最好的隐私保护,那么数据分析者获得最小的数据效用,反之亦然。因此,在理性模型下差分隐私的权衡导致隐私泄露或效用灾难的极端现象。此外,由
随着金融衍生品市场的蓬勃发展,人们对作为基础工具之一的期权的定价研究得到了大量成果,其中经典的B-S公式是应用最为广泛的.然而,BS模型的假设在真实市场中越来越难以同时满足,本论文对经典BS模型进行修正和改进,主要从三个方面研究讨论了基于分数及混合次分数布朗运动的期权定价的若干问题.第一个方面是用分数布朗运动改进标准布朗运动,在分数布朗运动环境中对随机利率模型进行改造,综合考虑违约风险的影响,推导
学位
学位
在冶金行业快速发展过程中,人们对于冶金机械机电设备安装问题开始广泛关注。对此,本文阐述了冶金设备安装特点,介绍了冶金机械机电设备安装关键点,提出几点质量保证策略,并分析了冶金安装技术发展趋势,希望能够为相关企业以及人员提供参考。
从小鼠胚胎干细胞(embryonic stem cells,ESCs)的建立开始,关于胚胎干细胞的不同状态一直都是关注的热点,继原始态(na(?)ve)和激发态(primed)之后,最近Austin Smith研究组又建立了一种位于na(?)ve和primed之间的形成态(formative)的干细胞系,即FS cells。结合实验室先前的发表结果,我们选择从na(?)ve和primed状态的培养
学位
学位
学位