论文部分内容阅读
分布式并行计算系统使用众多廉价计算机组成网络计算平台,将计算任务进行分解,并通过网络传递到各个机器上进行并行求解,从而为高性能并行计算提供了新的选择。这类系统提供与专用目的的复杂而昂贵的超级计算机一样的并行处理能力。然而它需要相应的系统来屏蔽网络计算机在硬件上和软件上的差异,支持分布式并行计算架构,并透明地、高效地利用参加并行运算的计算节点。多Java虚拟机系统的出现为支持分布式并行计算提供了很好的解决办法,从而满足了人们对高性能并行计算的需求,因此它已逐渐成为分布式并行计算学科领域新的研究焦点。
本论文在深入研究现有的不同类型的多Java虚拟机系统的实现方式,分析Java的特点,包括Java的内存模型、线程模型、同步模型、基于Java的分布式并行计算技术,结合现有的分布式并行计算技术的基础上提出多Java虚拟机系统的体系结构。同时对多Java虚拟机系统所涉及到的关键技术及相关问题进行深入研究分析和探讨,包括计算节点的组织管理技术、并行任务管理技术、分布式内存管理技术、底层节点通信管理技术等。
除此之外,由于现有的多Java虚拟机系统项目的实现都缺少一些多Java虚拟机系统的主要特性来在异构环境中作为构建和运行Java并行程序的底层基础设施,所以本论文在对多Java虚拟机系统体系结构研究的基础上提出MJVM系统来支持Java的分布式并行运行。
MJVM系统是纯Java实现的多Java虚拟机系统,它基于我们提出的多Java虚拟机系统体系结构,并提供基于Java的分布式并行计算环境来支持数据并行类型或共享变量类型的Java多线程程序的并行运行。MJVM系统采用雇佣者模型来组织Java虚拟机计算节点,并通过驻留在每个Java虚拟机计算节点上的守护线程构成了多Java虚拟机系统的分布式并行运行环境,具有良好的平台无关性和可扩展性。分布式并行运行环境屏蔽了底层结构的异构特性和分布特性,提供集中式动态任务调度和分配管理、基于对象的懒惰释放内存一致性模型的分布式共享内存管理、全互连Socket连接方式的节点通信管理。这些细节的实现完全对用户透明。