3 并行程序设计环境
近几年,并行处理技术发展很快,各种并行机已经广泛应用到了军事、石油、地震等多个应用领域。然而,由于并行应用程序开发设计上的复杂性,以及并行系统中应用软件的缺乏,使得并行程序的编写和调试变得相当困难,阻碍了并行计算机系统的进一步推广与应用。因此,为了适应并行处理技术的发展,充分发掘并行计算机系统中的冗余资源与计算能力,需要为用户提供一个良好的并行程序开发环境,提供多种层次的丰富的并行系统调用和工具包,使并行计算机系统的结构对用户透明,以减少并行应用程序开发设计上的复杂性。
广义地说,并行程序设计环境应包括硬件平台、操作系统和并行程序语言、编译、编程、调试及性能分析工具等,狭义的并行程序设计环境则仅指系统核心之上的工具软件部分。作为一个并行程序的支撑环境,至少应包括以下两个方面:
1) 并行语言支持或并行操作库函数支持;
2) 一种或多种并行编程模型;
并行计算机系统,依据其处理机间的连接结构,可以分为具有共享存储器的并行计算机系统和处理机间没有共享存储器的分布式并行计算机系统,像现在广为流行的机群系统即属于后一种。在分布式并行计算机系统中,由于处理机间没有共享内存支持,因而各处理机间通过消息传递机制来实现数据通讯,消息传递成为并行程序设计环境构造的基础。下面我们就对目前在分布存储多机系统以及机群系统上广泛使用的几个并行程序设计环境作一介绍。