论文部分内容阅读
随着计算机技术的飞速发展,并行计算的应用领域也越来越广。并行计算机从以前的大型专用向量机,发展到并行多处理器系统,以及现在比较流行的工作站机群系统。并行程序设计方式也从以前的数据并行发展到现在比较流行的共享内存和消息传递方式。网格计算平台的出现,使得任何一台计算机能够透明地使用网络上的资源,更是为并行计算开辟了更加广阔的发展前景。但是,各种硬件平台的差异,以及软件系统标准的不统一,使得并行程序的设计和移植变得非常困难,制约了并行计算的发展。 针对以上问题,本文对并行计算和并行程序设计做了综述,对依赖关系分析理论和程序并行化技术进行分析和描述。根据基于共享内存方式的多线程并行模型,对于在源代码级和中间代码级进行程序并行化做了一些研究和实验。同时,对几种比较流行的中间代码(RTL、WHIRL、JAVA虚拟机指令)进行了分析,实现了一个把中间代码编译成虚拟机目标代码的汇编器。此外,还对与中间代码密切相关的虚拟机技术进行了讨论,阅读并分析了JAVA虚拟机和HEC虚拟机实现的源代码,在此基础上,提出了并行虚拟机的设计构想,通过并行虚拟机实现对串行程序的自动并行优化和达到并行程序语言的跨平台性。最后,对一些相关的工作进行了介绍和总结。