2 机群系统通信技术
通信子系统是并行计算机系统的重要组成部分,它完成系统中各结点之间数据传递的功能,其性能的好坏直接影响到并行计算的加速比和效率。这是因为并行计算时间是由各结点计算时间和结点间数据通信时间两部分组成,如果通信时间所占的比例过大,则必然使得并行计算的加速比下降,整个系统的效率也不会高。
并行机群系统是基于高性能工作站或高档微机和局域网(LAN)而发展起来的新系统,它是一个由若干微机或工作站通过普通LAN互联而成的松耦合计算机系统,这与大规模并行计算机(MPP)有较大差别,MPP则通常是采用专用网络以紧耦合方式进行结点间的互联。与MPP相比,机群系统具有可扩展性好、性能/价格比高的特点,但网络带宽通常较低,如,使用广泛的传统以太网的带宽只有10Mb/s,即使是新出现的一些高速网络的带宽也只不过上百Mb/s,另外,局域网LAN所使用的通信协议通常是TCP/IP协议,这种协议处理开销比较大,影响了网络硬件特性的发挥;而MPP的内部网络带宽通常都在数百Mb/s以上,而且是采用专用的通信协议,如Paragon
XP/S的网络带宽可达到1.4Gb/s,其通信协议是NX通信库。可见,机群系统中性能过低的通信系统会影响到整个并行计算效率的提高,因此要大力发展并行机群系统,一个关键的问题是对其通信技术进行深入的研究,以期大幅度地提高网络通信系统的性能。
(1) 影响通信系统性能的因素
机群系统下的通信子系统的性能是整个系统的薄弱环节,在介绍提高通信系统性能的方法措施之前,先从网络硬件、通信软件两方面分析影响通信系统性能的主要因素。
1) 网络带宽低
机群系统使用的网络是普通的局域网,而局域网的带宽通常都比较低,如传统以太网的带宽只有10Mb/s。局域网的带宽之所以低,原因主要是局域网是为长距离的数据通信而设计的,由于通信距离较长,限制了通信速度的提高,因为信号的频率越高,它能够传输的距离也越短。另外一个原因是出于价格上的考虑。为了降低网络系统布线所需的成本,大多数LAN是共享一根信号总线进行数据传输,因此这也在很大程度上影响了网络系统的性能,特别是在网络负载较重时,由于各结点都要抢占信号总线,很容易造成通信阻塞,使得实际通信带宽比其最大带宽要小得多。
2) 传统TCP/IP协议的多层次结构带来了很大的处理开销
TCP/IP协议是面向低速率、高差错和大数据包传输而设计的,它是一个多层次的软件结构,按自底向上的顺序划分,可分为四层:网络接口层、网间网层(IP)、传输层(TCP)和应用层。由于协议层次多,在进行数据传输时,数据需要经过多次拷贝才能从应用层传递到网络接口或从网络接口传送到应用层,而多次的拷贝带来了很大的网络延迟时间。另外,在多层协议的实现中,各层还重复实现了很多相同的功能,比如:
o 从IP层到传输层都要进行差错控制
o 从网络接口层到应用层都要进行协议的处理机调度
o 从IP层到应用层都要进行流量控制
o 从IP层到应用层都要进行数据包组装和定序的缓冲
这些冗余的功能虽然可确保数据的无差错传送,但随着链路传输出错率从 降至于 ,这种冗余处理反而限制了数据及时提交给应用程序处理。可见,多层次的协议结构是造成通信瓶颈的主要原因之一,合并某些层次,删除冗余的处理,设计一种轻型通信协议,是提高通信性能的重要方法。
3) 协议复杂的缓冲管理增加了网络延迟
网络协议处理包括很多功能,如流量控制、差错控制、出错重发机制、拥塞控制等,而这些功能的实现都与缓冲管理密切相关。
缓冲管理的作用是完成数据的分组和组装,缓冲区可看成一种网络资源,这种资源是有限的,对它的管理很重要。不过通常的缓冲管理机制都比较复杂,例如,Berkeley
UNIX 采用一种叫mbufs的结构对协议的数据包进行缓冲管理,但mbufs的算法很复杂,开销很大。在DECstation 5000上,对单字节TCP消息缓冲管理,mbufs需要100微秒,而对512字节数据包需要300微秒,可见缓冲管理带来的网络延迟也很大,如何简化协议复杂的缓冲管理也是通信技术研究的主要内容。
4) 操作系统额外开销不可忽视
操作系统提供的系统调用和原语是网络协议实现的底层软件支持。在网络协议实现中涉及到上下文切换、调入/调出页面、启动I/O设备、中断响应等操作系统处理,有时这些开销可能比协议本身的处理开销还大。比如,在Sun
3/60系统上TCP/IP对一个数据包的协议处理时间为100微秒,而操作系统的额外开销却高达240微秒,这就造成了通信性能对操作系统一定程度上的依赖。因此,要提高通信系统的性能,降低网络延迟,应当尽量减少网络协议对主机操作系统的服务请求,最大限度地使通信与计算重叠。