【技术实现步骤摘要】
并行计算系统中的“所有到所有”消息交换
本专利技术概括地涉及并行计算系统中的“所有到所有”(all-to-all)消息交换。提供了用于在由层级互联网络连接的程序任务之间的“所有到所有”消息交换的方法,连同用于实现这样的方法的装置和计算机程序。
技术介绍
在并行计算系统中,程序能够由并行操作的多个计算节点执行。取决于实现并行化的硬件水平,计算节点通常可以是分离的机器(例如,工作站、服务器)、处理器、核心等等。单独的计算节点可以执行并行算法的并行程序实体或者任务中的一个或多个(在此术语“任务”在并不意指粒度的任何特定水平的情况下在本文中通常指代这样的程序实体)。大多数并行算法计算在计算和通信的阶段之间交替,其中,通过程序任务来交换数据。共同实现并行算法的计算节点的集合通常经由网络互连以便允许这一数据交换。在一组并行任务之间交换数据的方式可以宽泛地变化,但是在实际中,可以将涉及多于一对任务的大多数数据交换映射到典型交换的小的集合。最广泛使用的共同通信操作之一是“所有到所有”交换(有时被称为所有交换,索引操作或者个性化“所有到所有”交换)。在“所有到所有”消息交换中,给定 ...
【技术保护点】
一种用于在由具有层级网络拓扑的互连网络连接的程序任务之间的“所有到所有”消息交换的方法,所述层级网络拓扑包括N>1个层级级别ln,n=1到N,其中第一级别l1包括所述任务的多个组,并且每一个较高级别l(n>1)包括级别l(n‑1)组的至少一个组,所述方法包括:对于每一个任务,在所述网络拓扑的相应层级级别中定义取决于所述任务属于的组的唯一的层级标识符;以及在每一个任务处,在所述交换的连续阶段的每一个阶段中,取决于发送任务的层级标识符和所述网络拓扑,经由所述网络向其层级标识符被确定的相应目的地任务发送消息,以使得对于所述“所有到所有”消息交换的产生的交换模式按照期望 ...
【技术特征摘要】
2013.02.22 GB 1303181.01.一种用于在由具有层级网络拓扑的互连网络连接的程序任务之间的“所有到所有”消息交换的方法,所述层级网络拓扑包括N>1个层级级别ln,n=1到N,其中第一级别l1包括所述任务的多个组,并且每一个较高级别l(n>1)包括级别l(n-1)组的至少一个组,所述方法包括:对于每一个任务,在所述网络拓扑的相应层级级别中定义取决于所述任务属于的组的唯一的层级标识符;以及在每一个任务处,在所述交换的连续阶段的每一个阶段中,取决于发送任务的层级标识符和所述网络拓扑,经由所述网络向其层级标识符被确定的相应目的地任务发送消息,以使得对于所述“所有到所有”消息交换的产生的交换模式按照期望的方式利用所述网络拓扑中的层级距离,其中:相同层级级别ln中的所有组具有相同的尺寸Mn;对于每一个级别l1组中的每一个任务,并且对于每一个级别l(n>1)组中的每一个级别l(n-1)组,定义唯一的子组标签si,i=1到Mn;以及用于所述任务的所述层级标识符包括与相应的层级级别相对应的N个标识符元素的集合,其中与层级级别l1相对应的标识符元素m1取决于用于所述任务的子组标签si,并且与层级级别l(n>1)相对应的标识符元素m(n>1)取决于用于所述任务属于的所述级别l(n-1)组的所述子组标签si;其中对于在所述交换中发送的每一个消息,用于所述消息的所述目的地任务的所述层级标识符进一步取决于其值对于所述交换的每一个连续阶段改变的阶段索引;其中所述阶段索引包括与所述层级标识符的相应识别元素mn相对应的N个阶段元素pn的集合;其中对于所述交换的每一个连续阶段,所述阶段索引p取整数值中的不同的值,所述N个阶段元素pn的集合提供所述值的可变基数表示,其中每一个阶段元素pn与基数Mn相对应。2.根据权利要求1所述的方法,其中每一个子组标签si=(i-1)。3.根据权利要求1所述的方法,其中在用于所述任务的所述层级标识符中,所述标识符元素m1是用于所述任务的所述子组标签si,并且每一个标识符元素m(n>1)是用于所述任务属于的所述级别l(n-1)组的所述子组标签si。4.根据权利要求1所述的方法,其中对于在所述交换的所述阶段的每一个阶段中发送的每一个消息,将用于所述消息的所述目的地任务的所述层级标识符的N个识别元素确定为:n=1到N,其中是所述目的地任务的所述层级标识符的第n个识别元素,并且是用于所述消息的所述发送任务的所述层级标识符的第n个识别元素。5.根据权利要求1所述的方法,其中:对于属于每一个级别ln组的任务,对于每一个任务定义偏移值Ο,所述偏移值在所述组中的任务之间唯一;以及对于在所述交换的每一个阶段中由每一个任务发送的每一个消息,用于所述消息的所述目的地任务的所述层级标识符取决于偏移-阶段表示ps,该偏移-阶段表示ps取决于用于所述阶段的阶段索引p以及对于在相应层级级别中所述任务属于的所述组中的所述任务而定义的偏移值。6.根据权利要求5所述的方法,其中对于在所述交换的每一个阶段中由每一个任务发送的每一个消息,所述偏移-阶段表示ps包括N个分量的集合,所述N个分量的集合取决于用于所述阶段的所述阶段索引p的相应相对应的阶段元素pn,以使得:对于n>1,如果所述相对应的阶段元素pn=0,则以及否则加上(pn-1)与所述任务在所述任务属于的级别l(n-1)组中的偏移值Ο之和对(Mn-1)取模的结果。7.根据权利要求6所述的方法,其中对于在所述交换的所述阶段的每一个中发送的每一个消息,将用于所述消息的所述目的地任务的所述层级标识符的所述N个识别元素确定为:n=1到N,其中,是所述目的地任务的所述层级标识符的第n个识别元素,以及是用于所述消息的所述发送任务的所述层级标识符的第n个识别元素。8.根据权利要求2所述的方法,包括将用于每一个任务的次要标识符定义为用于所述任务在可变基数MN,M(N-1),……,Mk+2,Mk+1,M1,M2……,Mk中的任务索引t表示,其中k是预定的调节参数以使得1≤k≤N,其中所述任务索引t是由可变基数表示中用于所述任务的所述层级标识符的N个标识符元素mn的上述集合指示的值,其中每一个标识符元素mn与基数Mn相对应,从而所述次要标识符包括与相应基数Mj相对应的N个次要元素mj的集合,其中j=N,(N-1),……,k+2,k+1,1,2,……,k;其中,对于在所述交换的所述阶段的每一个中发送的每一个消息,用于所述消息的所述目的地任务的所述层级标识符进一步取决于阶段索引p,所述阶段索引p对于所述交换的每一个连续阶段取整数值中的不同值,所述阶段索引p包括在所述可变基数MN,M(N-1),……,Mk+2,Mk+1,M1,M2……,Mk中提供所述整数值的可变基数表示的N个阶段元素pj的集合;以及其中,对于在所述交换的所述阶段的每一个中发送的每一个消息,通过将所述目的地任务的所述次要标识符获得如下来确定用于所述消息的所述目的地任务的所述层级标识符的所述N个识别元素:j=N,(N-1),……,k+2,k+1,1,2,……,k,其中,是所述目的地任务的所述次要标识符的第j个元素,并且是用于所述消息的所述发送任务的所述次要标识符的第j个元素,并且继而将所述目的地任务的所述次要标识符的N个元素排列为所述基数顺序Mn,n=1到N。9.根据权利要求1所述的方法,其中所述网络包括蜻蜓网络,其中所述层级级别lc中的所述组与连接到包含所述任务的计算节点的相应交换机相对应,其中,如果每一个计算节点包含单个任务则c=1,并且如果每一个计算节点包含多个任务则c=2,其中每一个级别lc+1组与级别lc交换机的本地组相对应,所述级别lc交换机的每一个经由远距离链路连接到位于至少一个其他级别lc+1组中的交换机,并且每一个级别lc+2组与级别lc+1组中的组相对应,并且其中在所述交换的连续阶段中,每一个任务向按照下面的顺序选择的相应目的地任务发送消息:a.与所述任务位于相同计算节点中的任务;b.在连接到与所述任务相同级别lc交换机S的计算节点中的任务;c.在连接到与所述交换机S位于相同级别lc+1本地组中的交换机的计算节点中的任务;d.在连接到交换机S’的计算节点中的任务,在所述至少一个其他级别lc+1组中,所述交换机S’经由所述远距离链路连接到所述交换机S;e.在连接到与所述交换机S’位于相同级别lc+1本地组中的级别lc交换机的计算节点中的任务;f.在连接到所述交换机S’的计算节点中的任务,在所述至少一个其他级别lc+1组中,所述交换机S’经由所述远距离链路连接到与所述交换机S位于相同的级别lc+1本地组中的另一交换机;g.所有其他任务。10.根据权利要求9所述的方法,其中按照另一阶段顺序来执行所述交换的产生的阶段。11.根据前述权利要求中的任意一项所述的方法,包括:在每一个任务处,动态地确定用于在所述交换的每一个阶段中发送的所述消息的所述目的地任务的所述层级标识符。12.一种用于在由具有层级网络拓扑的互连网络连接的程序任务之间的“所有到所有”消息交换的方法,所述层级网络拓扑包括N>1个层级级别ln,n=1到N,其中第一级别l1包括所述任务的多个组,并且每一个较高级别l(n>1)包括级别l(n-1)组的至少一个组,所述方法包括:对于每一个任务,在所述网络拓扑的相应层级级别中定义取决于所述任务属于的组的唯一的层级标识符;以及在每一个任务处,在所述交换的连续阶段的每一个阶段中,取决于发送任务的层级标识符和所述网络拓扑,经由所述网络向其层级标识符被确定的相应目的地任务发送消息,以使得对于所述“所有到所有”消息交换的产生的交换模式按照期望的方式利用所述网络拓扑中的层级距离,其中所述网络包括蜻蜓网络,其中所述层级级别lc中的所述组与连接到包含所述任务的计算节点的相应交换机相对应,其中,如果每一个计算节点包含单个任务则c=1,并且如果每一个计算节点包含多个任务则c=2,其中每一个级别lc+1组与级别lc交换机的本地组相对应,所述级别lc交换机的每一个经由远距离链路连接到位于至少一个其他级别lc+1组中的交换机,并且每一个级别lc+2组与级别lc+1组中的组相对应,并且其中在所述交换的连续阶段中,每一个任务向按照下面的顺序选择的相应目的地任务发送消息:a.与所述任务位于相同计算节点中的任务;b.在连接到与所述任务相同级别lc交换机S的计算节点中的任务;c.在连接到与所述交换机S位于相同级别lc+1本地组中的交换机的计算节点中的任务;d.在连接到交换机S’的计算节点中的任务,在所述至少一个其他级别lc+1组中,...
【专利技术属性】
技术研发人员:B·普里萨卡里,C·J·明肯伯格,G·罗德里奎兹赫瑞拉,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。