首页> 中文学位 >面向循环并行化的软件重构方法研究与实现
【6h】

面向循环并行化的软件重构方法研究与实现

代理获取

目录

第一个书签之前

摘 要

Abstract

1.1 研究背景与意义

1.2 国内外研究现状

1.3 研究目的

1.4 研究内容

1.5 本文的结构安排

2.1 软件重构概念与意义

2.2 并行化步骤

2.3 重构目标与分类

2.4 并行化重构步骤

2.5 本章小结

3.1 循环规范化

3.2 并行性分析

3.2.1 两种依赖关系

3.2.2 依赖关系消除

3.2.3 线程安全访问

3.3.1 Executor框架引入

3.3.2 实现细节

3.4 性能分析

3.4.1 执行时间对比

3.4.2 加速比分析

3.5 本章小结

第4章 面向循环并行化的自动重构

4.1 重构逻辑设定

4.2.1 前置条件设置

4.2.2 初始化检查

4.3 重构转换

4.3.1 AST方法概述

4.3.2 AST创建

4.3.3 AST遍历

4.3.4 JDT转换

4.4 示例演示

4.5 本章小结

第5章 重构工具设计与实现

5.1 开发平台与工具

5.1.1 Eclipse LTK

5.1.2 Eclipse PDE

5.1.3 AST View

5.2.1 界面设计

5.2.2 界面预览

5.3.1 测试环境

5.3.2 基准测试程序

5.4 重构工具测试

5.4.1 一致性检验

5.4.2 执行效率测试

5.5 本章小结

结 论

参考文献

攻读硕士学位期间所发表的论文

致 谢

展开▼

摘要

随着多核处理器的发展,多线程编程在提高软件服务质量方面扮演了愈发重要的角色。循环结构在蕴含了丰富并行性的同时,因自身的复杂性及多样性,成为软件执行过程中最耗时的部分。因此,如何实现循环结构的并行化成为高性能计算的研究热点。本文提出了一种面向循环并行化的软件自动重构方法,并在Eclipse JDT环境下,结合抽象语法树分析方法设计实现了自动重构工具R-Loop。本文的主要研究内容如下: 1)循环的并行化分析与实现。首先对循环结构进行规范化约束,并对循环数据依赖、循环控制依赖等依赖关系进行分析,同时根据各自的成因及特点,对上述依赖进行消除。然后在确保访问安全的前提下,通过添加与线程相关的操作实现Executor机制下的循环并行化。最后对程序执行时间、加速比进行验证,为自动重构提供理论基础。 2)面向循环并行化的自动重构。结合软件静态分析方法对重构的转换逻辑、前置条件等进行设置,通过抽象语法树分析方法将源程序解析成抽象树状结构,确定源程序中各变量与抽象语法树中各节点的对应关系。通过对不同节点的增加、删除、修改等操作实现循环并行化的自动重构。 3)自动重构工具的设计与实现。依据循环并行化重构方法,在Eclipse JDT环境下,设计实现自动重构工具R-Loop,同时详细展示了该工具的实现过程和预览界面。最后选取Java Grande Forum基准测试套件中的Crypt、Lufact、Series、SOR、SparseMatmulti以及MonteCarlo程序对R-Loop进行重构功能测试。结果表明,R-Loop可以在较短的时间内完成for型循环的自动并行化转换,同时可以保证重构前后程序外部可观测行为的一致性、正确性,一定程度上提高了程序的执行效率。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号