论文部分内容阅读
本文通过对无锁的软件事务内存机制的研究,将OpenMP和事务内存的优点有机结合,对OpenMP模型进行了有益的扩展。该扩展工作在保障程序并行性的同时,又能有效确保程序执行的正确性。本文主要内容和工作如下:
第一,事务内存技术及其冲突机制的研究。本文在分析各种事务内存技术的基础上,对一个基于Java的软件事务内存模型进行扩展,实现了懒惰方式的冲突检测机制和多种冲突解决方案。本文通过多个不同角度的测试分析,为事务内存技术的进一步研究提供了更多的实验依据。
第二,基于Java和事务内存技术的OpenMP扩展研究与实现。Java是一种可移植和面向对象的高级语言,在语言级别上对多线程提供了很好的支持,而现有OpenMP模型仅支持C/C++和Fortran等高级语言。本文结合Java和OpenMP的各自特点,实现了一种称为Jomp_TM的并行编程模型。该模型定义了OpenMP风格的事务内存原语,封装了事务内存的实现细节,使用户既可以得到OpenMP编程的简单性,又可得到由事务内存技术带来的程序正确性的保障。
第三,并行程序远程开发环境的设计与实现。针对并行程序开发的实际需求,本文设计并实现了基于Web Services的远程高性能计算机开发与服务系统。该系统提供了远程并行计算资源的有效共享与管理支持,使用户可以方便地使用并行程序的本地编写、远程提交、运行与调试等功能。