首页> 中文学位 >并行程序设计模型若干问题研究
【6h】

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

代理获取

目录

文摘

英文文摘

论文说明:插图目录、表格目录

第一章绪论

第二章泛型面向对象消息传递接口GOOMPI

第三章基于锁的并行多线程程序设计接口PMT

第四章锁无关的投机并行多线程

第五章统一架构并行程序设计模型

第六章面向方面的并行程序设计

第七章结束语

参考文献

致谢

攻读学位期间所参加的科研项目

攻读学位期间所发表和录用的学术论文

展开▼

摘要

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

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号