机群系统中的关键技术包括通信技术、并行程序设计环境、单一系统映像(Single
System Image, SSI)等。
随着商品处理器性能的不断提高,机群各结点的处理速度已相当高,制约机群性能的主要因素是结点间的通信速度。如果通信速度跟不上,各结点的处理能力就发挥不出来。提高通信速度目前从硬件软件都采取了措施。硬件方面是尽量使用高速网络。传统的以太网带宽只有10Mb/s。近来出现了许多新型的高速网络,比如快速以太网、ATM、Myrinet等。它们的带宽已达Gb/s数量级,这在前面已经介绍过。在软件方面,提高网络速度的主要措施是努力减小通信在软件方面的开销,包括精简通信协议,设计新的通信机制等。传统的TCP/IP协议是面向低速率、高差错和大数据包传输而设计的,其设计目标与机群系统的现实情况并不相符。TCP/IP协议有很多层次,数据传输时需要反复拷贝,带来了很大的时延。另一方面,各层中有许多重复的操作。在机群环境中这些操作是不必要的。所以,通过修改、精简协议可以降低通信开销。为了提高通信速度,UC
Berkeley开发了一种名为Active Message的通信机制。这种通信机制的思想是消息本身带有消息处理程序的地址和参数。消息到达目的结点后系统立即产生中断调用,并由中断处理机制启动消息处理程序。消息处理程序从网卡上取出消息并给发送方发送一个应答消息,然后返回原来被中断的程序。Active
Message是一种消息驱动的异步通信方式,能更好地实现通信与计算的重叠。实验证明,Active Message机制的性能是相当好的。
为了便于用户使用,机群系统必须给用户提供一个方便易用的并行程序设计环境。目前机群系统上广泛使用的并行程序设计环境有PVM、MPI、Express、P4等。它们都是基于消息传递方式的。其中PVM和MPI应用得最多。PVM是美国橡树岭国家实验室及美国几所大学联合开发的并行计算工具软件,支持C、C++和Fortran。MPI是一个消息传递标准,是由MPI委员会在1992年11月至1994年1月举行的一系列会议上逐渐产生的。它的设计非常审慎,博采众长。PVM和MPI都是免费软件,它们都可以方便地进行再开发。
单一系统映像(SSI)的目的是将整个机群系统虚拟为一个统一的系统,使用户感觉不到各工作站的存在,而好像就在使用一台普通的计算机。SSI包括多方面的内容,例如单一入口点、单一文件层次结构、单一I/O空间、单一网络、单一作业管理系统、单一存储空间和单一进程空间等。单一入口点是使用户能像登录一台虚拟主机一样登录机群系统。系统透明地将用户分配到负载较轻的物理主机上。单一文件层次结构把机群中各结点中的文件系统透明地结合成为一个大的文件系统,使用户感觉不到这些文件是分散在许多结点上的。这在每个结点都有操作系统和文件系统的机群系统中比较重要。单一存储空间的含义是把所有结点的存储器整合为一个大的虚拟存储器。总之,SSI的作用是使分散的资源看起来是一个统一的更强大的资源。在机群系统中,SSI可以用硬件实现也可以用软件实现。用软件实现时,是通过中间件(Middleware)来实现的。中间件是介于操作系统和用户层之间的一层软件。中间件与操作系统联系在一起,支持SSI、通信、并行度、负载平衡等,在所有的结点上提供对系统资源的统一访问。
机群系统中还有一些其它的重要技术。例如,全局资源的利用。数据表明,由于网络速度的提高,结点访问其它结点的内存要比访问本地硬盘快。因此有效地利用整个系统的内存减少使用磁盘可以提高计算速度。这提出了一个如何有效地利用全局资源的问题。又如负载平衡问题,尤其在异构机群中,评价各结点的计算能力以及进程迁移都很困难。
|