大规模并行计算机系统通讯问题

点赞:11132 浏览:46079 近期更新时间:2024-02-06 作者:网友分享原创网站原创

摘 要:大规模并行计算机系统之间的消息传递性能在很大程度上取决于处理机之间的通讯效率.而通讯软件的开销问题、实现计算与通讯在时间上的重叠又是提高大规模并行计算机系统内部处理机间通讯效率的关键.本文主要从通过一种新的机制--ActiveMessage解决通讯软件间的开销,来提高大规模并行计算机系统的通讯效率.

关 键 词:并行计算机系统 通讯 开销 ActiveMessage

当今世界科学技术飞速发展,尤其是计算机技术更是日新月异,传统的串行计算机速度已快达到其物理上的极限.目前最有效的一种手段就是采用并行处理技术来提高计算机的性能.

一、当前对大规模并行计算机系统通讯问题存在的认识模糊点

大规模并行计算机系统的研究有诸多方面,其中通讯问题是最重要的一个.它是大规模并行计算机系统中以互连网(注意不是互联网)为基础展开的.而相当多的研究人员却对大规模并行计算机系统的通讯问题研究存在模糊处,主要是搞不清通讯在大规模并行计算机系统中的地位;搞不清通讯对并行处理性能的影响;看不到通讯过程中产生的开销问题对大规模计算机系统的运行带来的负面影响;更不能针对通讯软件中的开销提出好的解决措施.

下面笔者根据研究情况对上述问题做逐一阐述:

二、阐述大规模并行计算机系统通讯研究过程中的关键点

1.通讯软件是实现并行计算机系统内部结点通讯的主要构件

处理结点之间通讯的实现在分布存储的大规模并行计算机系统设计中无疑是非常关键的一个环节.从概念上讲,并行处理无非是各个处理结点同时并行地处理同一应用问题的不同部分.因此,对于给定的应用问题,在结点数一定的条件下,应该有以下三个方面的因素来决定并行处理的速度:一是对应用问题求解算法的优劣;二是处理结点软硬的速度;另外,由于应用问题的不同部分之间往往有着某种数据依赖关系,因此,对于一个实际的并行处理系统来说,它的各个处理结点之间尚需有一种联系系统,这就是连接各处理结点的互连网络以及建立于其上的通讯软件,它们的速度也是影响整个并行处理速度的主要因素之一.由此看来,研究大规模并行计算机系统的通讯问题,以提高通讯的速度和效率,对于提高整个系统的性能具有非常重要的意义.

2.通讯对并行处理性能的影响

一般来说,运行在大规模并行计算机系统上的就用程序是由计算和通讯两部分组成的.目前最常用的应用程序效率评价模型往往检测定计算和通讯在时间上没有重叠,也就是说,整个应用程序的运行时间T是计算时间Tputation与通讯时间Tmunication之和,写成公式就是:

T等于Tputation+Tmunication

而进行一次通讯的时间又可用与消息长度成正比的数据传输时间Lc×Tb,外加一个通讯启动时间Tstart-up来表示.其中,Lc是消息长度,Tb是每个字节的传输时间,检测定整个应用程序的通讯次数为Nc,那么应用程序的运行时间又可以表示成:

T=Tputation+Nc×Tstart-up+Nc×Lc×Tb

在一个并行计算机系统中,处理结点的主要工作是计算和启动通讯,即上述公式的前两项,数据传输的工作则由互连网络来完成,即上述公式的最后一项,从上面的公式可以看出,在计算和通讯不重叠的检测设下,要提高系统效率,必须同时减小计算和通讯的时间.

如果计算和通讯在时间上可以重叠,情况就大不一样了.

3.利用ActiveMessage通讯新机制,解决大规模并行计算机系统中的开销

在一些基于传统消息传递机制的大规模并行计算机系统中,互连网络的硬件开销已相当小了,但由于消息发送和接收所需的软件开销过大,并且计算和通讯在时间上不能够很好地重叠,导致处理结点和互连网络的实际性能得不到充分的发挥.

为此一种新的通讯机制——ActiveMessage应运而生.它采用了与传统的通讯机制完全不同的设计思想,可以大大减少通讯的软件开销,并且比较好地实现计算和通讯之间的重叠,充分利用硬件的性能,提高通讯效率.

一般来讲,不论采用什么通讯机制来实现消息传递,对于一些比较典型的MPP机器来说,系统中的通讯硬件提供的功能都大致类似:互连网络接收源处理结点发来的消息包,并用一定的寻径算法和流控技术将它送往目的处理结点,消息包到达后,用一个中断信号去通知目的处理结点,此时的处理结点会调用相应的中断处理函数来处理到达的消息包.这实际上就是一个完全异步的过程,传统的通讯机制之所以会有比较大的软件开销,其实质上的原因就是过多地采用了与上述异步过程不匹配的同步协议.

鉴于此事,ActiveMessage更直接地使用了通讯硬件提供的功能,它的基本设计思想非常简单,就是让消息包的发送方预先指定好接收方用于处理该消息包的函数,消息互连网络到达接收方时,这个预先指定的函数被调用,来处理到达的消息包,不难看出,ActiveMessage这种简单得几乎没有任何协议的异步通讯机制,相当恰当地适应了硬件的通讯过程,因此能够更加有效地发挥通讯硬件的性能.

不需要软件提供缓存的特性使得ActiveMessage非常自然地避免了传统通讯机制存在的由于复杂的缓冲区管理和慢速的内存数据拷贝造成的大量软件开销.另外ActiveMessage比较适于直接在User-Level上实现,因此系统调用和中断所需的上下文切换造成的软件开销也不复存在了,这样一来传统通讯机制中的一些主要软件开销在大规模并行计算机系统中基本上被消除或减少了.

计算和通讯相互重叠以及足够小的通讯软件开销是提高大规模并行计算机系统通讯效率的关键.传统的通讯软件中上下文切换、复杂的缓冲区管理以及慢速的内存数据拷贝,往往会带来过大的软件开销,不利于计算和通讯的重叠,ActiveMessage充分利用了通讯硬件的异步特性,有效地提高了大规模并行计算机系统的通讯效率.

三、结论

总之,通过对上述四方面内容的分析,比较浅显地阐述了大规模并行计算机系统通讯中的一些问题.可以让更多研究者了解到大规模并行计算机系统中内部处理机之间的通讯效率在很大程度上影响到整个计算机系统的性能.这为从大规模并行计算机系统逐渐转变为超高性能计算机的研究提供了一定理论支持.

大规模并行计算机系统通讯问题参考属性评定
有关论文范文主题研究: 关于计算机系统的论文例文 大学生适用: 在职论文、硕士论文
相关参考文献下载数量: 61 写作解决问题: 写作资料
毕业论文开题报告: 论文模板、论文小结 职称论文适用: 技师论文、职称评初级
所属大学生专业类别: 写作资料 论文题目推荐度: 免费选题