一种消息传递接口广播方法及装置制造方法

文档序号:7779813阅读:165来源:国知局
一种消息传递接口广播方法及装置制造方法
【专利摘要】本发明公开了一种消息传递接口广播方法及装置,属于网络通信领域。所述方法包括:判断每台交换机上是否都有前驱进程;若每台交换机上不是都有前驱进程,将数据发送给没有前驱进程的交换机上的进程;若每台交换机上都有前驱进程,则将数据发送给本交换机内的进程。本发明通过所述消息传递接口广播方法及装置,提高了广播算法的效率。
【专利说明】一种消息传递接口广播方法及装置
【技术领域】
[0001]本发明涉及网络通信领域,特别涉及一种消息传递接口广播方法及装置。
【背景技术】
[0002]随着高性能计算技术的发展,消息传递模型作为典型的并行程序开发模式得到了广泛使用。消息传递接口(Message Passing Interface,MPI)作为被广泛使用的消息传递模型之一,其适合于开发异构或同构集群上的并行应用,有较高的通信性能。
[0003]由于网络通信延时的关系,通信网络的拓扑结构对高性能计算机的性能有着非常重要的影响。不同拓扑结构的功能特性、网络时延、带宽、硬件复杂性、可扩展性和可靠性也不相同。下面是三种基本的连接方式:(a)2D或3D网络(2D、3D Mesh):连接方式非常简单,在同时对节点与其邻近节点交换数据频繁的应用场合非常有效。这种网络的性能主要取决于网络中路由器的性能。(b)超立方体(Hypercube)网络:这种连接的主要思想是减小任意两个节点间通信的“跳(Hop)”数。它的扩张性能较差,随着超立方体维数的增加所需要的节点数目按指数增长。(C)交换网络:所有的节点都直接与一个或多个高速交换开关相连,属于动态连接方式且速度很快。在大型计算机中通信网络的拓扑结构可能更为复杂,因此在节点通信时往往使用一些寻径算法,这好比在IP网上面的分组路由操作。这些典型算法有存储转发、虚拟直通、线路交换、虫蚀寻径等。此外,与IP路由类似,在寻找路径时往往会遇到死锁、冲突、消息拥塞等现象。
[0004]广播作为高性能计算和并行编程环境下的一种常见通信模式,其算法的效率,可读性,可扩展性极大的影响了程序的高性能计算应用程序的性能。复杂的网络拓扑结构为实现高效的广播算法带了挑战。
[0005]现有的广播算法是基于树的实现,该算法在任意一拍的时间内可以同时利用多个网络连接。如图1所示,在广播过程的第一拍时,O号进程首先将数据发给I号进程。在第二拍时,O号进程和I号进程分别将数据发往2号和3号进程,两个网络连接被同时使用。第三拍时,0、2、1、3号进程分别将数据发送给4、6、5、7号进程,四个网络连接被同时使用。网络的利用率在下一拍时翻倍,并且每一个进程在收到数据后不停的将数据发送给数据未到达进程,直至全部进程均获取该数据。
[0006]在高性能计算节点内一般配置有多核处理器,多个计算进程会同时运行于一个计算节点,跨界点的进程通信显然比同节点上进程通信代价要大。而且,在高性能计算集群中可能包括多层级联交换机,每个交换机范围内均有多个高性能计算节点同时工作,跨交换机的进程通信显然比同交换机内进程通信代价要大。因此,现有技术未考虑进程间的距离和节点间的拓扑关系,广播算法的效率较低。

【发明内容】

[0007]本发明实施例提供了一种消息传递接口广播方法及装置,提高了广播算法的效率。[0008]一方面,本发明实施例提供了一种消息传递接口广播方法,所述方法包括:
[0009]判断每台交换机上是否都有前驱进程;
[0010]若每台交换机上不是都有前驱进程,将数据发送给没有前驱进程的交换机上的进程;
[0011]若每台交换机上都有前驱进程,则将数据发送给本交换机内的进程。
[0012]第二方面,本发明实施例提供了一种消息传递接口广播装置,所述装置包括:
[0013]判断模块,用于判断每台交换机上是否都有前驱进程;
[0014]第一发送模块,用于若每台交换机上不是都有前驱进程,将数据发送给没有前驱进程的交换机上的进程;
[0015]第二发送模块,用于若每台交换机上都有前驱进程,则将数据发送给本交换机内的进程。
[0016]本发明提供的技术方案带来的有益效果是:
[0017]从上述本发明实施例可知,由于在广播算法中考虑节点间的拓扑关系,将数据优先发送给没有前驱进程的交换机上的进程,之后,数据在交换机内的进程间传递,因此,在提高了广播算法的效率。
【专利附图】

【附图说明】
[0018]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为现有的广播算法的流程示意图;
[0020]图2为本发明一种消息传递接口广播方法的第一实施例流程图;
[0021]图3为本发明一种消息传递接口广播方法第二实施例流程图;
[0022]图4为本发明一种消息传递接口广播装置实施例结构示意图;
[0023]图5为本发明一种消息传递接口广播装置第二发送模块实施例结构示意图;
[0024]图6为多交换机进程广播流程不意图;
[0025]图7为单交换机内进程广播流程示意图。
【具体实施方式】
[0026]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0027]本发明一种消息传递接口广播方法第一实施例流程,参见图2,所述方法包括:
[0028]101:判断每台交换机上是否都有前驱进程。前驱进程为发送数据的进程,后继进程为接收数据的进程。如图6所示,三个交换机相连,两个子交换机接入到主交换机,主交换机下也有多个计算节点互连,单个交换机集群内计算节点构成一个广播圆环。具体实施中,需判断三个交换机上是否都有前驱进程。
[0029]102a:若每台交换机上不是都有前驱进程,将数据发送给没有前驱进程的交换机上的进程。如图6所示,如果在交换机A和交换机B上有前驱进程,交换机C上没有前驱进程,则将数据发送给交换机C上的进程。
[0030]102b:若每台交换机上都有前驱进程,则将数据发送给本交换机内的进程。若每台交换机上都有前驱进程,根据所述前驱进程编号计算当前节拍数,具体为;其中:
a,为当前节拍数为前一节拍的节拍数;根据所述当前节拍数计算后继进程编号,具体为屯+1=1^+1723 ;其中:bi+1为后继进程号;bi为前驱进程号;L为本交换机内进程个数;a为当前节拍数;判断所述后继进程编号是否小于交换机中进程个数,若所述后继进程编号小于交换机中进程个数,将数据发送给所述后继进程。进程编号和进程对应的IP地址有对应表,查找该关系表,获取后继进程的IP地址,将数据发送给所述后继进程。
[0031]单交换机内进程广播流程示意图如图7所示,集群中涉及N个节点且每个节点对应一个进程,对应进程号分别为0,1,2,…,N-1,其中L=N,进程编号按大小顺时针放置于圆环中。其中O号进程用A表示。下表第一行中标名了在各节拍时,A进程的后继进程和计算方法。
[0032]
【权利要求】
1.一种消息传递接口广播方法,其特征在于,所述方法包括: 判断每台交换机上是否都有前驱进程; 若每台交换机上不是都有前驱进程,将数据发送给没有前驱进程的交换机上的进程; 若每台交换机上都有前驱进程,则将数据发送给本交换机内的进程。
2.根据权利要求1所述的方法,其特征在于,所述将数据发送给本交换机内的进程包括: 根据所述前驱进程编号计算当前节拍数; 根据所述当前节拍数计算后继进程编号; 将数据发送给所述后继进程。
3.根据权利要求2所述的方法,其特征在于,还包括: 判断所述后继进程编号是否小于交换机中进程个数; 若所述后继进程编号小于交换机中进程个数,则执行将数据发送给所述后继进程步骤。
4.根据权利要求2所述的方法,其特征在于,所述根据所述前驱进程编号计算当前节拍数具体为:&1=&1.1+1 ;其中:at为当前节拍数知为前一节拍的节拍数。
5.根据权利要求2所述的方法,其特征在于,所述根据所述当前节拍数计算后继进程编号具体为屯+1=4+1723 ;其中:bi+1为后继进程号;bi为前驱进程号;L为本交换机内进程个数;a为当前节拍数。
6.一种消息传递接口广播装置,其特征在于,所述装置包括: 判断模块,用于判断每台交换机上是否都有前驱进程; 第一发送模块,用于若每台交换机上不是都有前驱进程,将数据发送给没有前驱进程的交换机上的进程; 第二发送模块,用于若每台交换机上都有前驱进程,则将数据发送给本交换机内的进程。
7.根据权利要求6所述的装置,其特征在于,所述第二发送模块包括: 第一计算单元,用于根据所述前驱进程编号计算当前节拍数; 第二计算单元,用于根据所述当前节拍数计算后继进程编号; 发送单元,用于将数据发送给所述后继进程。
8.根据权利要求7所述的装置,其特征在于,还包括: 判断单元,用于判断所述后继进程编号是否小于交换机中进程个数; 若所述后继进程编号小于交换机中进程个数,则触发发送单元。
9.根据权利要求6所述的装置,其特征在于,所述第一计算单元根据所述前驱进程编号计算当前节拍数具体为:&1=&1.1+1 ;其中:at为当前节拍数知为前一节拍的节拍数。
10.根据权利要求6所述的装置,其特征在于,所述第二计算单元根据所述当前节拍数计算后继进程编号具体为屯+1=4+1723 ;其中:bi+1为后继进程号;bi为前驱进程号;L为本交换机内进程个数为当前节拍数。
【文档编号】H04L12/761GK103701621SQ201310670374
【公开日】2014年4月2日 申请日期:2013年12月10日 优先权日:2013年12月10日
【发明者】熊文, 喻之斌, 须成忠 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1