并行程序设计模型若干问题研究

并行程序设计模型若干问题研究

论文摘要

长期以来,并行计算机的计算能力持续遵循Moore定律快速增长,新的体系结构不断出现,但并行计算却一直未能真正成为计算的主流。人们逐渐认识到仅仅设计和建造并行硬件是不够的,并行计算的真正挑战在于支持并行程序设计的软件。现有并行程序设计系统普遍存在抽象层次较低、程序开发困难的问题。并行程序与相应并行算法描述相比往往要复杂得多,导致并行程序的可读性和可扩展性较差。同时,并行体系结构的多样性也造成了并行程序设计模型和软件系统的多样性,限制了并行应用程序的通用性和灵活性。因此,如何提高并行程序设计模型和相应并行程序设计系统的抽象层次,支持通用并行数据结构和算法的开发,并最终提高并行程序开发的效率,成为并行计算中需要解决的关键问题。本文针对上述问题开展了以下研究工作: (1) 消息传递并行程序设计模型研究 针对现有消息传递系统抽象层次过低的问题,提出新的泛型面向对象消息传递接口——GOOMPI,创建了完整的数据划分、序列化和传输框架,有效地解决了任意用户自定义、复杂、动态数据结构和抽象数据类型的消息传递问题;设计和实现了基于策略的多功能通信端口,提供流式接口和消息类型检查机制,支持基于消息传递的并行算法到相应并行程序的快速和直观地映射;利用GOOMPI实现了若干典型的基于消息传递的并行算法,并与相应的MPI实现进行了对比。 (2) 共享存储并行程序设计模型研究 针对现有多线程程序设计系统的不足之处,提出新的并行多线程接口——PMT,在不依赖于语言扩展和专用编译器的前提下,实现直接面向多线程并行程序设计的支持,包括并行任务的管理和线程池机制、各种并行执行区域、并行循环的静态和动态调度、各种支持并行访问的共享数据结构等;利用PMT对C++标准模板库中的若干数据结构和算法进行了并行化。 (3) 锁无关的投机并行多线程研究 讨论了未来的多核体系结构上基于事务性执行的投机并行多线程技术——SPT/TX。由于目前尚没有支持投机并行多线程的硬件产品,因此提出基于软件的SPT/TX功能性模拟算法和正确性验证算法,并在此基础上,提出利用二进制代码动态插桩技术,设计并实现了基于软件的SPT/TX功能性模拟器和正确性验证器,有效支持了对SPT/TX技术的进一步研究。 (4) 统一架构并行程序设计模型研究

论文目录

  • 中文摘要
  • 英文摘要
  • 目录
  • 插图目录
  • 表格目录
  • 第一章 绪论
  • §1.1 概述
  • §1.2 研究背景及现状
  • §1.2.1 并行计算概述
  • §1.2.2 并行硬件体系结构
  • §1.2.3 并行程序设计模型
  • §1.2.4 现代程序设计技术
  • §1.3 并行计算所面临的关键问题
  • §1.4 研究内容及思路
  • §1.5 文献资源
  • §1.6 本文组织结构
  • 第二章 泛型面向对象消息传递接口GOOMPI
  • §2.1 概述
  • §2.2 消息传递模型
  • §2.3 现有消息传递系统
  • §2.4 GOOMPI的设计和实现
  • §2.4.1 GOOMPI的层次化结构
  • §2.4.2 消息传递层
  • §2.4.3 序列化层
  • §2.4.4 集体通信层
  • §2.4.5 数据划分层
  • §2.4.6 流式用户接口
  • §2.4.7 GOOMPI的其他特性
  • §2.5 用GOOMPI进行消息传递
  • §2.5.1 序列化用户自定义数据结构
  • §2.5.2 划分用户自定义数据结构
  • §2.5.3 点对点通信
  • §2.5.4 集体通信
  • §2.6 程序示例
  • §2.6.1 Cannon矩阵乘法
  • §2.6.2 SUMMA矩阵乘法
  • §2.6.3 与MPI的比较
  • §2.7 性能评估
  • §2.8 相关工作
  • §2.9 本章小结
  • 第三章 基于锁的并行多线程程序设计接口PMT
  • §3.1 概述
  • §3.2 共享存储模型
  • §3.3 现有多线程库
  • §3.4 PMT的并行多线程支持
  • §3.4.1 线程管理
  • §3.4.2 基本并行通信原语
  • §3.4.3 并行区域
  • §3.4.4 并行循环
  • §3.4.5 归约变量
  • §3.4.6 共享变量
  • §3.4.7 共享指针
  • §3.4.8 共享数据容器
  • §3.4.9 多线程并行算法结构
  • §3.5 程序示例
  • §3.5.1 并行STL算法
  • §3.5.2 并行FFT算法
  • §3.5.3 并行矩阵乘法
  • §3.6 性能测试
  • §3.7 本章小结
  • 第四章 锁无关的投机并行多线程
  • §4.1 概述
  • §4.2 SPT/TX基本架构
  • §4.3 基于软件的功能性模拟和正确性验证
  • §4.3.1 软件整体架构
  • §4.3.2 SPT/TX软件模拟器
  • §4.3.3 正确性验证
  • §4.3.4 调试和日志
  • §4.3.5 程序示例及测试数据
  • §4.4 相关工作
  • §4.5 本章小结
  • 第五章 统一架构并行程序设计模型
  • §5.1 概述
  • §5.2 混合式并行程序设计模型
  • §5.3 统一架构并行程序设计模型
  • §5.4 PARADE系统的设计和实现
  • §5.4.1 统一架构的并行任务模型
  • §5.4.2 一致的通信模型
  • §5.4.3 一致的消息传递接口
  • §5.4.4 一致的共享存储接口
  • §5.4.5 统一架构的分布式共享数据
  • §5.4.6 数据句柄和数据体
  • §5.4.7 作用域行为
  • §5.4.8 统一架构的并行算法结构
  • §5.5 程序示例
  • §5.5.1 并行矩阵乘法
  • §5.5.2 并行Jacobi迭代
  • §5.6 相关工作
  • §5.7 本章小结
  • 第六章 面向方面的并行程序设计
  • §6.1 概述
  • §6.2 面向方面程序设计
  • §6.3 泛型面向方面程序设计框架AOP++
  • §6.3.1 AOP++概述
  • §6.3.2 AOP++框架
  • §6.3.3 AOP++程序示例
  • §6.3.4 AOP++实现
  • §6.4 AOP++在并行程序设计中的应用
  • §6.4.1 用AOP++实现线程安全的数据共享
  • §6.4.2 用AOP++实现并行化
  • §6.5 性能评估
  • §6.6 相关工作
  • §6.7 本章小结
  • 第七章 结束语
  • §7.1 本文主要工作
  • §7.2 本文主要贡献和创新点
  • §7.3 进一步工作
  • 参考文献
  • 致谢
  • 攻读学位期间所参加的科研项目
  • 攻读学位期间所发表和录用的学术论文
  • 相关论文文献

    • [1].并行程序设计语言中局部性机制的研究[J]. 计算机科学 2020(01)
    • [2].基于多任务的并行程序设计方法[J]. 计算机与数字工程 2010(12)
    • [3].关于并行程序设计方法的分析与研究[J]. 郑州大学学报(工学版) 2009(02)
    • [4].基于多核的OpenMp并行程序设计[J]. 硅谷 2010(16)
    • [5].基于SKELETON的并行程序设计方法的研究现状[J]. 硅谷 2009(01)
    • [6].一种MPI并行程序设计中的动态负载平衡策略[J]. 电脑开发与应用 2008(12)
    • [7].数据流Java并行程序设计模型的设计、实现及运行时优[J]. 电脑知识与技术 2013(35)
    • [8].Java环境下数据流并行程序设计[J]. 太原城市职业技术学院学报 2009(06)
    • [9].基于创新能力培养的并行程序设计课程建设探讨[J]. 中国电力教育 2011(17)
    • [10].数据流Java并行程序设计模型的设计、实现及运行时优化[J]. 软件学报 2008(09)
    • [11].并行程序设计中的互斥与同步问题的归纳[J]. 科技广场 2008(08)
    • [12].面向并行程序设计的扩展UML建模[J]. 计算机工程 2008(01)
    • [13].基于Windows XP的PVM的实现[J]. 计算机与信息技术 2008(05)
    • [14].并行程序设计的短课程教学方法[J]. 计算机教育 2011(04)
    • [15].一种支持容错的任务并行程序设计模型[J]. 软件学报 2016(07)
    • [16].并行程序设计课程学生作业的自动评判方法[J]. 计算机教育 2012(14)
    • [17].面向互联网计算资源共享的并行程序设计环境[J]. 计算机工程与设计 2010(09)
    • [18].并行程序设计及实现[J]. 软件导刊 2009(04)
    • [19].基于PC集群的MPI并行环境的搭建[J]. 网络安全技术与应用 2012(04)
    • [20].通信协议性能测量与分析[J]. 计算机系统应用 2012(09)
    • [21].利用对文件的读取测试并行系统的I/O性能[J]. 内蒙古科技与经济 2008(08)
    • [22].并行计算学科发展历程[J]. 计算机科学 2020(08)
    • [23].多核处理器下并行程序设计探析[J]. 福建电脑 2015(01)
    • [24].MPI并行编程及集群构建[J]. 内江科技 2012(02)
    • [25].基于分布对象的并行程序设计方法研究[J]. 现代计算机(专业版) 2011(21)
    • [26].格子Boltzmann方法三维并行程序设计[J]. 水动力学研究与进展A辑 2011(05)
    • [27].软件事务存储自适应竞争管理策略研究[J]. 电脑开发与应用 2014(03)
    • [28].基于OpenMP的电磁场FDTD多核并行程序设计[J]. 现代电子技术 2013(23)
    • [29].基于枚举的并行排序与选择算法设计[J]. 电脑知识与技术 2015(12)
    • [30].基于事务存储技术的地震前兆设备模拟系统[J]. 计算机测量与控制 2014(01)

    标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

    并行程序设计模型若干问题研究
    下载Doc文档

    猜你喜欢