CN1020533C - 并行计算系统中的可适应路径选择 - Google Patents

并行计算系统中的可适应路径选择 Download PDF

Info

Publication number
CN1020533C
CN1020533C CN90103316A CN90103316A CN1020533C CN 1020533 C CN1020533 C CN 1020533C CN 90103316 A CN90103316 A CN 90103316A CN 90103316 A CN90103316 A CN 90103316A CN 1020533 C CN1020533 C CN 1020533C
Authority
CN
China
Prior art keywords
node
information
link
network
certain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CN90103316A
Other languages
English (en)
Other versions
CN1049066A (zh
Inventor
朱尔·马克·古尔德
小查理斯·马里恩·希金斯
小亚历山大·汉密尔顿·弗雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1049066A publication Critical patent/CN1049066A/zh
Application granted granted Critical
Publication of CN1020533C publication Critical patent/CN1020533C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/06Deflection routing, e.g. hot-potato routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明描述了一个多维的,多节点的路径选择装置,它使用一个由路径描述符位组组成的报头,从节点到节点发送信息。当信息传送到目的地节点时,每个节点的接收器/发送器对改变状态。报文同时在多个节点上传送很快地到达目的节点。当到达终节点时,所有备用通信链路都被释放。

Description

本发明涉及一个并行计算系统中的数据处理问题,更具体地说,本发明对于通过一个具有多条互连通路的互连网络在并行计算单元之间传送数据是一种有效的方法(如在多维环形网中)。
本发明要解决的问题是当今并行计算机中所遇到的报文处理等待时间较长的问题。这样一个计算机系统由大量通过一个高速通信网络互连的节点组成。通常在每个节点由一个处理器和存储器组成。这些节点独立工作,通过经由通信网络传送报文及数据块相互作用。
计算机通信网络使这些节点连接起来,但是因为节点数目可能非常大(如,数千)、所以在这样的系统中,每个节点都有一个专用的到其他各节点的链路是不切实际的,因此,通常采用一些互连链路的规则的拓扑结构,其中每个节点只到少数几个相邻节点有直接链路。在这样的网络中,为在没有直接链路的节点间传送信息,必须利用网内中介节点和桥链路建立一条通路。
在给定的这样一个环境下,当一个节点需向一个不相邻节点发送一个报文时,必须要有一个装置以确定要用的中介链路和节点,并且以最小延迟沿着这些中介链路发送此报文。在一个一般的网络中,及两个给定的节点间可能有许多可行的路径。本报文传送装置能从这样多可行的路径中选择一条路径,避开那些处于忙状态或断开状态的中介链路和节点。此外,本报文传递装置能够独立于每一中介节点的处理器工作。
本发明的网络拓扑结构可用于建立一个具有多节点且每个节点与其各个方向的相邻节点共享通讯链路的网络结构。这种类型拓扑结构的一个例子就是多维环形网络。
图1表示一个两维环形网的拓扑结构。每一方框-10代表一个节点,每条线-20表示一条通讯链路。图1中的20个节点以每5个节点一组被四个节点环面连接起来。一个三维环形网是许多二维网络在第三维方向上的逻辑堆叠。每一节点带有两条链路,一路连到二维网络上方对应的节点而另一路连向二维网络下方对应的节点。更大维数的环形网络也适用。
在以下的美国专利中可以找到有关并行计算系统的描述。其中转让给IBM的4636948号;给Tatsuo的4514807;给California    Institut    of    Technology的4814980及4730322;给Princetou    University的4811214;给Teradata的4814979;4445171及4543630;给Jeumontschneider的4748660;给Thinking    Machines    Corp的4598400。这些专利描述了各种并行处理的体系结构,代表了类似于本发明的路径选择系统的早期发展情况。
本发明的目的是为满足下列需求,在此之前在并行处理环境中从未可能。一个关键的要求是在一多维网络中动态地寻找最短可用通路并由此通路从一个节点到其它任一节点发送一个报文的能力,无论两节点是否直接相连。此能力还兼有使得总传输时间比原始通信链路所需时间只低不多的功能。此通信链路还需具有动态地适应不断变化的、包括拥挤和不工作链路的网络条件而且在需要时使用备用路线。 在没有中介节点缓冲情况下完成路径选择。这样就减少了花费且省去了当网络资源堵塞时的顺序搜索。最后,在报文的传送过程被暂时封锁时,任何网络资源必须被释放。
先有技术中没有满足上述要求的实例。下述几篇文献为先有技术。Dally,et    al.,“环形网的路径选择芯片”-自《Distrihuted    Computing》Springer    Verlag,New    York,1986;Chow    et    al.,“超立方计算机的超级开关网”-自《Conyurtr    Architecture    News》,Vol.16,No.2,May    1988。
“环形网路径选择芯片“一文描述了一个并行计算网络路径选择芯片,这种芯片专门用来在一个多维环形网中提供低等待时间的路径选择。此芯片预先建立一个序列,以此序列将报文通过中介节点发送到其目的地。这里采用了一种叫做“切入”(Cutthrough)路径选择的技术。这种技术使得一中介节点一收到每一字节便立刻将其转发。因此,总传输时间接近原始链路速度并且在中介节点不需要缓冲。在“A    Framework    for    Adapting    in    Multicomputer    Networks”(自《ACM    Symposium    on    Parauel    Algorithms    and    Architecture    1989》)一文中有关于“切入”路径选择更详细的叙述。
“环形网的路径选择芯片”一文,更确切地说“切入”路径选择的问题是预先建立的路径是静态的,它仅仅基于源节点和目的节点的相对位置。如果路径中的任何链路不能工作,即使能使用一个备用路径,报文也不能通过网络传送。此外,在对网络中的一些链路出现争 用情况时,将暂时封锁一个或多个报文的发送过程。这可能轮流地封锁一个或多个报文发送过程。因为被封锁的报文不释放它们正使用的通路,以致这些报文的封锁轮番冲去其它报文。因此,如果一个报文的发送过程被暂时封锁后,没有办法释放网络资源。
“超立方计算机的超级开关网络”一文用于在一个超立方计算机中传送报文。超立方体是多维环面的一种特殊情况,其中在每一维的节点数总是等于2。超级开关网络实现适应路径选择。因此,在传送一个报文以前要搜索所有可能的路径,对路径加以标志从而避开拥挤和不工作的链路。这使得超级开关路径选择具有动态地适应不断变化的网络条件及不工作的链路。这种路径选择也不需要缓冲并且当在网络的初始搜索中检测出封锁时具有释放网络资源的功能。
以上提到的超级开关一文中叙述的功能仅适用于超立方体计算机这对于当今的多维网络的实现是个极大的限制。更进一步,在传送报文以前超级开关的顺序初始搜索也不大好。
本发明没有以上提到的问题和限制。
根据本发明,只要将许多完全相同的路径选择装置安装在系统的每一节点,就可以高效率地从节点到节点传送信息。每个路径选择装置都包含一个发送器/接收器对,它们通过一个普通的纵横(空间)开关配对。每个发送器/接收器对联合起来形成到其它邻接节点的双间通讯链路。每对发送器/接收器包含到其所在节点的处理器和存储器的专用链路。
使用一个由路径描述符位组织成的报文头从节点发送信息。当此信息到达目的节点时,每个节点的接收器/发送器对改变状态。报文消息同时在若干节点上传播,横贯这些节点很快到达目的节点。当完 成最终节点的连接时,在网络上返回一个命令从而释放所有后续通信链路。
本发明具有在多维网中从任一节点到其它任意节点发送报文的功能,不论两节点是否直接相连。这种路径选择发生在总传输时间中,而点到点之间的传输链路所需时间接近总传输时间。
这种路径选择通过在需要时使用一条备用路径以及不采用报文缓冲来动态地适应不断变化的,包括拥挤及不工作链路的网路条件。这种路径选择的体系结构非常灵活,可以检测分块报文及动态地释放网络资源以减弱网络中的约束。
从下面对附图的详细描述,将对前述及本发明的其他的目的、方面和优点有更明确的了解。
图1显示了本发明中传统二维环形网的网络拓扑结构。
图2表示本发明的路径选择装置和节点间的关系。
图3表示本发明的路径选择装置的内部结构。
图4表示本发明的一个网络实例。
图5表示本发明的一个网络搜索实例。
图6表示本发明的另一个网络搜索实例。
图7表示本发明的又一网络搜索实例。
图8表示本发明的又一网络搜索实例。
图9是流程图,表示本发明的接收器和注入器组件的状态变化。
图10是流程图、表示本发明的发送器和析取器组件的空闲状态。
图11是流程图,表示本发明的接收器和析取器组件的搜索状态。
图12是流程图,表示本发明的发送器和析取器组件活动状态处理过程。
图13是流程图,表示本发明的发送器和析取器组件的延迟状态。
本发明利用了多个完全相同的路径选择装置,它们与系统中的每个节点一对一相连。参见图2,节点10,11,12,13间的通信链路直接与路径选择装置200,210,220,230相连。
这种通信链路可以是局部网络或者其它当今广泛用于节点间通信的标准的、规范的通信介质。路径选择装置中,处理器和存储器可选用普遍使用的各种处理器和存储器,如80386处理器和与之兼容的存储器。
在图2中,每一路径选择装置依次与相应节点的处理器或存储器100,110,120和130相连。节点10拥有四条分别被标号为21,22,23,24的通信链路。
该路径选择装置支持的链路数目是可变的并且依赖于网络的维数。为了简述本发明,设想一个类似于图1中所示的两维网络。在图1中,节点10通过一条通信链路20与其四个邻接节点相连。后面将讨论支持更大维数所需的附加条件。
图3显示了两维环形网的路径选择装置的内部结构。对一个两维环形网来说,每一个路径选择装置支持四条双向链路,包括到另外路径选择装置(在其他节点)的输入链路300和输出链路320及到其所在结点的处理器或存贮器的输入链路310和输出链路330。由于这些链路是双向的,所以需要5个接收器301,302,3303,304,311和5个发送器321,322,323, 324,331。纵横开关350是作为用于各种链路间转换信息的硬件的一个例子来显示的。具体实现起来,可以用一个立体开关(Space    Switch)来代替纵横开关。
每一链路按其发送数据的方向适当地加以标号。因此,标为W+301的接收器和W+321的发送器对应于图2中的通信链路21;W-302接收器和W-322发送器对应于通信链路22;接收器X+303和发送器X+323对应于通信链路23;X-304接收器和X-324发送器对应于通信链路24。“注入器”311是个特殊的接收器,它仅从本节点的处理器或存储器而不从其他节点接收数据。“析取器”331是个特殊的发送器,它仅向本节点的处理器或存储器发送数据。
纵横开关350实现了由链路接收器301-311到链路发送器321-331的一对多转移。为了形成连接,每一个接收器301-311发一个选择掩码到纵横开关350,表示它要通过发送器321-331中那一个发送。仅当这个特定的发送器可用时,纵横开关350才形成连接。打开一条通路以后,一个发送器请求纵横开关释放先前连接的通信链路。
选择掩码由一个四位命令字构成且由每个接收器发送给纵横开关。如果选择掩码为全0,那么纵横开关建立一条从发送该掩码的接收器到析取器的路径。如果选择掩码为非0,那么其每一位用来表示是否有一条路线对相应的发送器打开。例如选择掩码0001告知纵横开关从发出该掩码的接收器,也就是接收器301,到W+321发送器开辟一条通路。选择掩码1010表示要申请二条通路,一条从接收器301到W-322发送器,另一条从接收器301到X- 324发送器。当通过纵横开关开辟了一条通路,该接收器生成的每一字节被传送到所有相连的发送器。
图9为流程图,它表示了接收器和注入器的状态变化。每个接收器有两个初始状态-空闲(IDLE)和活动(ACTIVE)。在空闲状态时,通过某链路接收到的第一个字节在报文的开头加标记并使接收器进入活动状态。判定框900测试来自该链路或存储器的一个字节。如检测到一个字节,该接收器进入活动状态,否则,该接收器返回空闲状态。在功能框910中,接收器以第一个收到的字节的最低有效半字节(四位)作为一个发往纵横开关的选择掩码。当该掩码被发送到纵横开关时,它表示一组期望的到一个或多个发送器的通路。
判定框920测试发送器是否忙或不能工作。如果没有可用的发送器,则转向功能框960继续执行,在此通过链路返回一条关闭链路(LINK-CLOSE)命令。如果至少有一条通过纵横开关的通路可用,转向判定框940测试数据其它的字节。如果数据存在,如功能框950所示,它被通过纵横开关传送。如果其它的字节不存在,控制转向功能框960。
图10中,每个发送器有四种状态-空闲(IDLE)、搜索(SEARCHING),活动(ACTIVE),和延迟(DELAYED)。判定框8000表明;一个发送器开始于空闲状态,只要它没有通过纵横开关和任何接收器相连,它就一直停留在这个状态。处于该状态时,该发送器既不接收也不发送数据。当纵横开关将一个发送器连到一个接收器时,该发送器收到的第一个字节就是选择掩码。
功能框8010以选择掩码做为一个操作数,基于位屏弊的全同码做为另一操作数,然后将它们进行按位与运算。这一操作选择了一条过纵横开关350的路径。由上面操作可能得到的值及与其相关连的功能框如下所示。
1110对W+发送器(8020)
1101对W-发送器(8030)
1011对X+发送器(8040)
0111对X-发送器(8050)
0000对析取器(8055)
然后,在功能框8060中,将上面操作得出的结果存入工作(WORK)寄存器中。然后在判定框8070判定该结果是否为0。如果非0,转向8090框继续执行,在那里将掩码字节丢弃,然后该发送器进入搜索状态。如果结果值为0,则丢弃掩码字节,发送器象析取器一样进入活动状态。
在搜索状态,发送器修改它收到的每一后续字节并将结果从链路送出。图11表示发送器和析取器使用的搜索状态逻辑。
判定框9100测试接收到的字节是不是链路关闭命令。
如果收到的字节是链路关闭命令,转向功能框9190,此时关闭通过纵横开关的通路且状态置为空闲。
如果收到的字节不是链路关闭命令,判定框9110判定来自纵横开关的其他字节是否可用。如果不可用,处理转向框9100;否则工作寄存器和接收的字节进行按位或运算-这在功能框9120中完成。
然后在判定框9130中,运算结果同0000,0011, 1100,和1111相比较。如判定框9130的测试不成功(即检测不匹配),则转向功能框9140,在这里将运算结果送到下一个节点。如果检测匹配,功能框9150完成基于接收到的字节和工作寄存器的按位与运算。在功能框9160,结果成为工作寄存器的新值。
在判定框9170中,接收到的字节同0000进行比较。如果收到的字节为0000,则发送器进入延迟状态。否则转入判定框9180,将工作寄存器中的新值同0000相比。如果相等,则在功能框9200中,发送器丢弃接收到的字节进入活动状态。否则,转入9100框反复上述过程。
在活动状态和延迟状态中,不经修理就将接收到的每一字节送出发送器的链路。如果信息被指定送到析取器,就意味着该字节可直接用于本地节点的处理器和存储器。这两种状态的不同点是:在延迟状态时,需要发送一个多余的字节以使得输入字节在工作寄存器延迟一个周期。
图12表示发送器和析取器组件的活动和延迟状态。在活动状态下,判定框1200判定收到的字节是否为链路关闭命令。如果是,转向功能框1270,此时关闭到此组件的纵横开关的路径。否则,转向判定框1210,判定后续字节存在与否。如果不存在转向框1200,否则在功能框1220将最近一个字节发往下一节点。
图13表示延迟状态处理过程。从判定框1230开始,在这里进行测试来判定接收到的字节是不是链路关闭命令。如果是,转向功能框1280执行关闭到此组件的纵横开关的通路。如果不是,转向判定框1240,判定是否存在一后续字节。如果没有,返回框 1230;否则,转到功能框1250,将工作寄存器的内容发送到下一节点。在功能框1260中,存储收到的工作寄存器的字节。最后,在功能框1290丢弃收到的这个字节。
当发送器处于搜索、活动或延迟状度时,假如这个发送器正向某接收器发送数据(或者说,在链路的另一面的接收器),而该接收器又返回一条链路关闭命令,则此发送器终止参与那个报文的传输,通知纵横开关中断它和正向它发送数据的接收器间的连接,返回到空闲状态。
当连到某一接收器的所有发送器均返回到空闲状态时,马上通知该接收器:它不再与任何发送器连接且它应马上返回空闲状态。如果某条链路不工作,驱动该链路的发送器总处于空闲状态。如果驱动不工作链路的发送器通过纵横开关收到一个要发送的字节,则这个发送器立刻通知纵横开关中断这个连接(它到纵横开关的连接)就如同它收到一条链路关闭命令一样。最后,如果在传送中间一条链路变为不工作的,驱动该链路的发送器马上以同样方式中断连接。
除了数据,在每条链路上通过纵横开关还可以双向传送几条命令。这些命令作为独立的控制线或是数据中特殊的内部escape字符来实现。这种实现随链路设计的不同而不同。
链路关闭(LINK-CLOSF)命令通过某链路(以与数据流相反方向)从一节点的接收器返送到另一节点的发送器。如前所述,链路关闭命令使得发送器回到空闲状态并且关闭它通过纵横开关的连接。如果通过纵横开关仅有一条开放通路,该命令使得又一个链路关闭命令被发出,这次是通过到源点更近一级的链路传送的。
报文结束命令通过纵横开关在若干链路上与数据流方向一致从源 节点传送到目的节点。中介接收器和发送器通过本系统把报文结束命令当作一个数据字节来发送。当目的节点收到报文结束命令时,检测该报文循环冗余校验码(CRC)。如果CRC是正确的,则返回一条确认(Acknowledge)命令,随后发一个链路关闭命令。如果CRC错,仅发送一条链路关闭命令。
确认命令在每一链路上逆数据流方向从接收器送回到发送器;且通过每个纵横开关从发送器回到接收器。仅在报文接收成功以后,才由目的节点产生此命令。每个中介路径选择装置向源节点返回确认命令而没有任何动作。在源节点,确认命令用来表明报文接收成功。
为了传送一个报文,源节点形成一个包含下列部分的数据流。(以传送顺序在下面列出)。该数据应以与网络中每一链路相同的速度送入源节点的路径选择装置的注入器。
1.一个路径选择报头(0或更多字节);
2.一个0字节(结束报头);
3.将要发送的报文(0个或多个字节);
4.报文的CRC码(不包括报头);
5.一条报文结束命令。
如果报文被正确地收到,源节点应该从它的注入器先收到一条确认命令。然后收到一条链路关闭命令。如果仅有后者而没有前者,源节点就知道报文没有收到且应当重新发送。
当一个报文到达其目的节点时,被传送的字节以与该网中链路相同的速度,按发送的顺序,从目的节点的路径选择装置的析取器中输出。报头(包括标志其结束的全0字节)不出现在目的地,析取器中仅有报文,CRC码,报文结束命令。
CRC码的校验和报文结束、确认、链路关闭命令的生成均由路径选择装置和本地节点的处理器或存储器之间的硬件来控制。因为在出现最终的链路关闭命令之前,路径选择装置将一直保持一条对源节点开放的通路,所以,报文结束命令和确认命令或链路关闭命令之间的延迟应尽量短。
报头由源节点生成且在报文前面发送,它说明报文将采用哪条或哪些条通路。在两维环形网络中,每一报头字节仅有最低有效四位被使用。报头的每个字节解释如下(0位为最低有效位)。
0位:置为1表示在W+方向上移动一个链路。
1位:置为1表示在W-方向上移动一个链路。
2位:置为1表示在X+方向上移动一个链路。
3位:置为1表示在X-方向上移动一个链路。
4~7位:在两维网络中置为0。
为了生成一个最简单的报头,源节点确定它与目的节点在每一方向上的相对距离。报头的长度(以字节为单位)等于沿着最长的方向经过的距离加上一个全0字节。
将报头的字节组看成一个表,其中每个字为表中一行,每一列代表一个方向(如上所述)。在某方向上到目的节点移动了多少次,相应的那列就应填上多少。在每一列中,全0前面可能是任意值。因此报头的首字节有最多的置位,而最后一个字节为全0。
下面是个例子,从节点0,0到节点3,2发送一个报文,这须在W+方向移动3次,在X+方向上移动2次。代表这次移动的基本报文头有四个字节长,如下所述。
0000    0101    被发送的第一字节
0000    0101
0000    0001
0000    报头结束
当收到报头时,路径选择装置搜索所有的可能从源节点到目的节点的直接通路。每一路径被并行搜索。使用传到目的节点的第一个字节(在报文结束前保持开放)。所有其他的路径被丢弃(用链路关闭命令)-一旦他们没有到达目的地。
在上述例子里,下面的路径被并行地全部搜索。
1    0,0-0,1-0,2-1,2-2,2-3,2
2    0,0-0,1-1,1-1,2-2,2-3,2
3    0,0-0,1-1,1-2,1-2,2-3,2
4    0,0-0,1-2,0-2,1-3,1-3,2
5    0,0-1,0-1,1-1,2-2,2-3,2
6    0,0-1,0-1,1-2,1-2,2-3,2
7    0,0-1,0-1,1-2,1-3,1-3,2
8    0,0-1,0-2,0-2,1-2,2-3,2
9    0,0-1,0-2,0-2,1-3,1-3,2
10    0,0-1,0-2,0-3,0-3,1-3,2
这可以在用报头的时候,通过显示被搜索网络子集来图示。图4中,源节点400标以“S”,目的节点401标以“D”。其它标以402的节点是在搜索期间被访问到的(除非有不工作链路)。
如果网络中一条或多条链路是忙的或不工作的,则沿着包含上述那些链路的通路传送的数据到达不了目的地。为增加至少搜索到一条到达目的地的通路的可能性,可以使用一种大规模的搜索模式。如果没有到达目的地的路径应把没有得到确认命令的一条链路关闭命令返回源节点。这样,源节点应尝试重新发送报文。
在搜索期间,对应于一个报文的多个数据流几乎同时汇合于中介节点和目的节点。当两个数据流到达同一节点时,两接收器发给纵横开关选择掩码申请同一个发送器。纵横开关在它的多个输入中做出抉择以保证每一发送器仅与一条输出链路相连。未被选中的接收器被告知没有发送器与之连接,然后返回链路关闭命令。
路径选择装置以报头中说明的方式搜索网络。没有无效的报头。通过改变前述的基本报头模式,被搜索的通路数目可以按要求增加或减少。
例如,通过报头用的字节数是到目的地的总移动次数(加1)且在每一报头中仅仅置1位,可以说明一条通路。图5中,报头500的路径选择是从(0,0)501到(1,2)502,这也是它的搜索模式。
在报头600的列中间插入附加0位可使通过许多节点的报文的搜索模式被压缩。图6中就是这样的例子。注意除最后一行外的每一行必须为非0。
通过将冗余移动(在同一维中的正向和负向)也包括进去,扩展搜索模式以包括图7中的700及图8中的800所示的备用路径是可能的。
下面二例将一维通路扩展成二维的。在这两种情况下,路径选择 装置采用首先被找到且可用的直接通路。可以以各种方式扩展本发明的连接。扩展连接的最简单的方式是在一个两维以上的网络中使用本发明。为了增加维数,通过增加附加的接收器和发送器,可以扩展每一节点上的路径选择装置。如,下面是一个简短的表,列出了在四维环形网络中应用本发明所需改变的要点。
1.每个节点增加四条链路(Y+,Y-,Z+,Z-);
2.接收器的数目增加到8;
3.发送器的数目增加到8;
4.纵横开关加到9个端口;
5.每个报头字节的8位都被使用;
6.在目的节点要滤掉的报头表增加到16列(见搜索状态)。
在每一节点增加注入器和析取器的数目也可以增加本发明的连接。增加注入器的数量需要增加纵横开关的宽度。有多个注入器的节点可以同时发送多个报文。
增加了析取器数量的节点可以有一个编号或几个独立寻址的端口。为了增加析取器的数量,必须增加纵横开关的宽度。为对增加的析取器进行寻址,要使用通常可滤掉的报头值之一。
例如,下面列出了为在一个二维网络中加入第二对注入器/析取器所需要的附加改动。
1.增加一个附加的注入器。
2.增加一个附加的析取器。
3.纵横开关的宽度加1。
4.使用报头值0011来选择第二个析取器。当纵横开关收到选择掩码0011时,它不是把相应接收器连到W+和W-发送器; 而是把这个接收器仅仅连到第二个析取器。
5.当一个发送器处于搜索状态且它刚刚收到字节0011,它就应当完成下面的步骤而不是通常的活动。
a.如果工作寄存器的值不是0000,0011,1100,1111,那末通过到下一节点的链路发出此值。
b.将刚收到的字节(0011)存到工作寄存器。
c.切换到延迟状态。
d.丢弃刚收到的字节。
用一对附加的注入器/析取器可以形成到本路径选择系统的外部连接。为此,可用此对附加的注入器/析取器做为一条附加双向链路的接收器和发送器。这种外部链路可以通过导线连到一个外部系统。象一个终端或广域网门路。当用一个外部链路把外部系统连到本网络(符合本发明的多维环形网等),此外部系统不论是否直接接到节点的路径选择装置,都能发送和接收到它的任何节点的报文。一条外路链路的另一用途是利用本发明将两个系统连在一起。通过把一个系统中某一节点的注入器/发送器对同另一系统中的任一节点的注入器/发送器对相连,可以把报文从一个系统的任一节点发送到另一系统的任一节点。在两系统之间发送的报文的报头由以下几部分组成:
1.在第一系统中发送报文到具有外部链路的节点的报头。
2.传送通过外部链路的0011字节。
3.在第二个系统中发送报文到相应的拥有外部链路的节点为目的地的节点的报头。
4.将0000字节发送到目的节点。
用来实现内部节点链路的技术可以改变。本发明仅要求这些链路 是双向且其速度大约相同。例如两节点间的通信链路可以由相应控制链路的单字节并行总线组成。另一种实现方法是在每一方向上都有一对串行连接。这些链路可以使用各种通信协议及很多错误校验方法。
上面在一个特定的系统环境下,相当具体的阐述了本发明。这方面的专家可以看出本发明可以实现,只要在本发明的宗旨和附加要求的范围内,还可以在其它不同的操作系统下加以修改实现。

Claims (7)

1、在一个规则的具有当前网络信息的拓扑网络中的某个第一节点和某个第二节点之间传送信息的方法,其特征在于以下步骤:
(a)建立一个包含要发送的信息和当前网络信息的数据帧;
(b)确定多条在通向第二个相连节点的路径上的传送链路;
(c)保留在通向第二个相连节点的路径上的多条传送链路的一组;
(d)在被保留的多条传送链路的每条上传送该数据帧;
(e)在被保留的多条传送链路的每条上一份一份连续传送该数据帧直到这个数据帧中的信息发送完;
(f)重复(b),(c),(d),(e)直到这个数据帧到达第二个节点。
2、根据权利要求1所述的在一个具有当前网络信息的规则拓扑网络中的某个第一节点和某第二节点之间传送信息的方法,其特征还在于包含以下步骤:
(a)搜索规则拓扑网以确定网络状态;
(b)把这个状态标志存储于一个数据帧的报头;
(c)利用这个状态值帮助每个中介节点选择一组合适的输出网络链路。
3、根据权力要求1所述的在一个具有当前网络信息的规则拓扑网络中的某个第一节点和某个第二节点之间传送信息的方法,其特征还在于包含下面的步骤:
保留具有足够带宽的多条传送链路的一组,连续广播信息。
4、根据权利要求1所述的在一个具有当前网络信息的规则拓扑网络中的某个第一节点和某个第二节点之间传送信息的方法,其特征还在于包含下面的步骤:
在多条传送链路的一组中的每一链路上以数据帧的完全包形式传送信息。
5、根据权利要求1所述的在一个具有当前网络信息的规则拓扑网络中的某个第一节点和某个第二个第二节点之间传送信息的方法其特征还在于包含以下步骤:
当该信息传送到下一条网络链路则马上释放本链路。
6、根据权利要求1所述的在一个具有当前网络信息的规则拓扑网络中的某个第一节点和某第二节点之间传送信息的方法其特征还在于包含以下步骤:
每当主路径已建立则马上释放所有次路径。
7、根据权利要求1所述的在一个具有当前网络信息的规则拓扑网络中的某个第一节点和某个第二节点之间传送信息的方法其特征还在于包含以下步骤:
(a)判定一条路径是否被封锁;
(b)如果该路径被封锁,在传送中中止该节点的参与。
CN90103316A 1989-07-27 1990-06-27 并行计算系统中的可适应路径选择 Expired - Lifetime CN1020533C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US386,521 1989-07-27
US07/386,521 US5181017A (en) 1989-07-27 1989-07-27 Adaptive routing in a parallel computing system

Publications (2)

Publication Number Publication Date
CN1049066A CN1049066A (zh) 1991-02-06
CN1020533C true CN1020533C (zh) 1993-05-05

Family

ID=23525932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN90103316A Expired - Lifetime CN1020533C (zh) 1989-07-27 1990-06-27 并行计算系统中的可适应路径选择

Country Status (11)

Country Link
US (1) US5181017A (zh)
EP (1) EP0410568B1 (zh)
JP (1) JP2505060B2 (zh)
KR (1) KR930004910B1 (zh)
CN (1) CN1020533C (zh)
AR (1) AR245303A1 (zh)
AU (1) AU622815B2 (zh)
BR (1) BR9003630A (zh)
CA (1) CA2015968C (zh)
DE (1) DE69029766T2 (zh)
PE (1) PE10891A1 (zh)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991010198A1 (en) * 1990-01-05 1991-07-11 Maspar Computer Corporation Router chip with quad-crossbar and hyperbar personalities
AU630299B2 (en) * 1990-07-10 1992-10-22 Fujitsu Limited A data gathering/scattering system in a parallel computer
US5815723A (en) 1990-11-13 1998-09-29 International Business Machines Corporation Picket autonomy on a SIMD machine
US5966528A (en) 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
US5765015A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Slide network for an array processor
US5809292A (en) 1990-11-13 1998-09-15 International Business Machines Corporation Floating point for simid array machine
US5963746A (en) 1990-11-13 1999-10-05 International Business Machines Corporation Fully distributed processing memory element
US5794059A (en) 1990-11-13 1998-08-11 International Business Machines Corporation N-dimensional modified hypercube
US5617577A (en) 1990-11-13 1997-04-01 International Business Machines Corporation Advanced parallel array processor I/O connection
US5963745A (en) 1990-11-13 1999-10-05 International Business Machines Corporation APAP I/O programmable router
US5734921A (en) 1990-11-13 1998-03-31 International Business Machines Corporation Advanced parallel array processor computer package
US5765012A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Controller for a SIMD/MIMD array having an instruction sequencer utilizing a canned routine library
US5588152A (en) 1990-11-13 1996-12-24 International Business Machines Corporation Advanced parallel processor including advanced support hardware
US5630162A (en) 1990-11-13 1997-05-13 International Business Machines Corporation Array processor dotted communication network based on H-DOTs
US5590345A (en) * 1990-11-13 1996-12-31 International Business Machines Corporation Advanced parallel array processor(APAP)
US5625836A (en) 1990-11-13 1997-04-29 International Business Machines Corporation SIMD/MIMD processing memory element (PME)
US5828894A (en) 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5752067A (en) 1990-11-13 1998-05-12 International Business Machines Corporation Fully scalable parallel processing system having asynchronous SIMD processing
DE69131272T2 (de) 1990-11-13 1999-12-09 International Business Machines Corp., Armonk Paralleles Assoziativprozessor-System
US5765011A (en) 1990-11-13 1998-06-09 International Business Machines Corporation Parallel processing system having a synchronous SIMD processing with processing elements emulating SIMD operation using individual instruction streams
IE920032A1 (en) * 1991-01-11 1992-07-15 Marconi Gec Ltd Parallel processing apparatus
US5471623A (en) * 1991-02-26 1995-11-28 Napolitano, Jr.; Leonard M. Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
US5825773A (en) * 1991-03-20 1998-10-20 Hitachi, Ltd. Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port
US5408646A (en) * 1991-03-29 1995-04-18 International Business Machines Corp. Multipath torus switching apparatus
US5426427A (en) * 1991-04-04 1995-06-20 Compuserve Incorporated Data transmission routing system
US5594918A (en) 1991-05-13 1997-01-14 International Business Machines Corporation Parallel computer system providing multi-ported intelligent memory
US5689719A (en) * 1991-06-28 1997-11-18 Sanyo Electric O., Ltd. Parallel computer system including processing elements
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
JPH0752437B2 (ja) * 1991-08-07 1995-06-05 インターナショナル・ビジネス・マシーンズ・コーポレイション メッセージの進行を追跡する複数ノード・ネットワーク
US5715391A (en) * 1991-11-15 1998-02-03 International Business Machines Corporation Modular and infinitely extendable three dimensional torus packaging scheme for parallel processing
JP2642039B2 (ja) 1992-05-22 1997-08-20 インターナショナル・ビジネス・マシーンズ・コーポレイション アレイ・プロセッサ
US5758053A (en) * 1992-07-22 1998-05-26 Hitachi, Ltd. Fault handling and recovery for system having plural processors
JP3287901B2 (ja) * 1993-03-12 2002-06-04 シャープ株式会社 データ駆動型情報処理システムにおける識別データ確認方法
US5598568A (en) * 1993-05-06 1997-01-28 Mercury Computer Systems, Inc. Multicomputer memory access architecture
US5371621A (en) * 1993-08-23 1994-12-06 Unisys Corporation Self-routing multi-stage photonic interconnect
US5463486A (en) * 1993-08-23 1995-10-31 Unisys Corporation Self-routing multi-stage photonic interconnect
JP3237736B2 (ja) * 1993-09-07 2001-12-10 ヒュンダイ エレクトロニクス アメリカ データ記憶装置のマトリックス構造
US5471589A (en) * 1993-09-08 1995-11-28 Unisys Corporation Multiprocessor data processing system having nonsymmetrical channel(x) to channel(y) interconnections
JPH07143140A (ja) * 1993-11-15 1995-06-02 Fujitsu Ltd ユニバーサル・リンク・コンフィギュレータ
US5528762A (en) * 1993-12-27 1996-06-18 Intel Corporation Self-timed data streaming receiver and transmitter having reduced latency and increased data streaming capability
JP3389315B2 (ja) * 1994-03-18 2003-03-24 富士通株式会社 コネクションレス通信におけるメッセージ転送方法及び装置
US5768539A (en) * 1994-05-27 1998-06-16 Bell Atlantic Network Services, Inc. Downloading applications software through a broadcast channel
JP3172387B2 (ja) * 1994-06-01 2001-06-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 入出力通信サブシステム及び方法
US5752246A (en) * 1995-06-07 1998-05-12 International Business Machines Corporation Service agent for fulfilling requests of a web browser
US5774067A (en) * 1995-06-07 1998-06-30 International Business Machines Corporation Flash-flooding multi-stage interconnection network with parallel path seeking switching elements
US5710918A (en) * 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5793964A (en) * 1995-06-07 1998-08-11 International Business Machines Corporation Web browser system
US5835024A (en) * 1995-06-07 1998-11-10 International Business Machines Corporation Multi-stage interconnection network with selectable function switching apparatus
US5721908A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Computer network for WWW server data access over internet
US5701451A (en) * 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5745754A (en) * 1995-06-07 1998-04-28 International Business Machines Corporation Sub-agent for fulfilling requests of a web browser using an intelligent agent and providing a report
AU768042B2 (en) * 1995-07-21 2003-11-27 Coke S. Reed Multiple level minimum logic network
US5996020A (en) 1995-07-21 1999-11-30 National Security Agency Multiple level minimum logic network
JPH0962741A (ja) * 1995-08-25 1997-03-07 Casio Comput Co Ltd データ通信システムにおけるデータ処理方法
KR0170493B1 (ko) * 1995-12-08 1999-03-30 양승택 다중 프로세서 시스템을 위한 논블록킹 결함허용 감마 연결망
US6289021B1 (en) 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
US6122277A (en) * 1997-08-19 2000-09-19 International Business Machines Corporation Parallel computer network broadcasting and acknowledgement
KR100250437B1 (ko) 1997-12-26 2000-04-01 정선종 라운드로빈 중재 및 적응 경로 제어를 수행하는경로제어 장치
US6717942B1 (en) * 1998-06-25 2004-04-06 Avici Systems, Inc. Space-efficient source routing
US6687754B1 (en) * 1998-08-27 2004-02-03 Intel Corporation Method of detecting a device in a network
DE10001874A1 (de) * 2000-01-18 2001-07-19 Infineon Technologies Ag Multi-Master-Bus-System
US20020163889A1 (en) * 2000-02-02 2002-11-07 Yechiam Yemini Method and apparatus for providing services on a dynamically addressed network
US7047196B2 (en) * 2000-06-08 2006-05-16 Agiletv Corporation System and method of voice recognition near a wireline node of a network supporting cable television and/or video delivery
US7246111B1 (en) * 2000-06-30 2007-07-17 Ncr Corporation Capturing database system information
US7158511B2 (en) 2000-09-27 2007-01-02 Hrl Laboratories, Llc Method and apparatus for providing directed communications through a networked array of nodes
US20020040391A1 (en) * 2000-10-04 2002-04-04 David Chaiken Server farm formed of systems on a chip
US20040158663A1 (en) * 2000-12-21 2004-08-12 Nir Peleg Interconnect topology for a scalable distributed computer system
US7072976B2 (en) * 2001-01-04 2006-07-04 Sun Microsystems, Inc. Scalable routing scheme for a multi-path interconnection fabric
EP1370967A4 (en) * 2001-02-24 2009-10-21 Ibm OPTIMIZED RESIZING NETWORK SWITCH
JP3508857B2 (ja) * 2001-07-31 2004-03-22 日本電気株式会社 ノード間データ転送方法およびデータ転送装置
KR20050027120A (ko) * 2002-07-25 2005-03-17 코닌클리케 필립스 일렉트로닉스 엔.브이. 데이터 라우팅 시스템 및 방법
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
US7376859B2 (en) * 2003-10-20 2008-05-20 International Business Machines Corporation Method, system, and article of manufacture for data replication
US20060227774A1 (en) * 2005-04-06 2006-10-12 International Business Machines Corporation Collective network routing
US8526463B2 (en) * 2005-06-01 2013-09-03 Qualcomm Incorporated System and method to support data applications in a multi-homing, multi-mode communication device
GB0524126D0 (en) 2005-11-26 2006-01-04 Cogniscience Ltd Data transmission method
US9244793B1 (en) 2008-11-04 2016-01-26 Teradata Us, Inc. Using target database system statistics in emulation
US20110093540A1 (en) * 2009-09-30 2011-04-21 Bae Systems Information And Electronic Systems Integration Inc. Method and system for communications using cooperative helper nodes
US9426067B2 (en) * 2012-06-12 2016-08-23 International Business Machines Corporation Integrated switch for dynamic orchestration of traffic
JP2016038649A (ja) * 2014-08-06 2016-03-22 富士通株式会社 並列計算機システム及び並列計算機システムの制御方法
EP3926911A4 (en) * 2019-02-15 2022-03-23 Sony Semiconductor Solutions Corporation COMMUNICATION DEVICE, COMMUNICATION METHOD AND PROGRAM

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56111931A (en) * 1980-02-07 1981-09-04 Nippon Telegr & Teleph Corp <Ntt> Data transfer device
US4399531A (en) * 1980-09-29 1983-08-16 Rockwell International Corporation Distributed digital data communications network
EP0221360B1 (en) * 1985-11-04 1992-12-30 International Business Machines Corporation Digital data message transmission networks and the establishing of communication paths therein
US4679189A (en) * 1985-11-27 1987-07-07 American Telephone And Telegraph Company Alternate routing arrangement
DE3788577T2 (de) * 1986-01-09 1994-07-07 Nippon Electric Co Paketvermitteltes Fernmeldenetz mit parallelen virtuellen Verbindungen zur Umweglenkung von Nachrichtenpaketen.
US4872197A (en) * 1986-10-02 1989-10-03 Dti Peripherals, Inc. Dynamically configurable communications network
US4942517A (en) * 1987-10-08 1990-07-17 Eastman Kodak Company Enhanced input/output architecture for toroidally-connected distributed-memory parallel computers
JP3072646B2 (ja) * 1989-03-20 2000-07-31 富士通株式会社 並列計算機間通信制御方式

Also Published As

Publication number Publication date
AR245303A1 (es) 1993-12-30
EP0410568A3 (en) 1993-03-03
US5181017A (en) 1993-01-19
PE10891A1 (es) 1991-03-30
DE69029766D1 (de) 1997-03-06
JP2505060B2 (ja) 1996-06-05
JPH0365750A (ja) 1991-03-20
BR9003630A (pt) 1991-08-27
DE69029766T2 (de) 1997-07-17
CA2015968C (en) 1995-12-19
EP0410568B1 (en) 1997-01-22
AU5786390A (en) 1991-01-31
KR930004910B1 (ko) 1993-06-10
CN1049066A (zh) 1991-02-06
AU622815B2 (en) 1992-04-16
EP0410568A2 (en) 1991-01-30
CA2015968A1 (en) 1991-01-27
KR910003969A (ko) 1991-02-28

Similar Documents

Publication Publication Date Title
CN1020533C (zh) 并行计算系统中的可适应路径选择
CN1229739C (zh) 全局中断和障碍网络
Lee et al. A fault-tolerant communication scheme for hypercube computers
JP2825120B2 (ja) マルチキャスト伝送のための方法及び通信ネットワーク
Boppana et al. Resource deadlocks and performance of wormhole multicast routing algorithms
CN1728688A (zh) 交换节点堆叠中的交换节点的远程控制
CN1493128A (zh) 类网络路由
CN1703881A (zh) 集成电路和建立事务处理的方法
US6918063B2 (en) System and method for fault tolerance in multi-node system
MiSiC et al. Communication aspects of the star graph interconnection network
Lin et al. Adaptive multicast wormhole routing in 2D mesh multicomputers
Li et al. Metacube: a new interconnection network for large scale parallel systems
Moh et al. Four-ary tree-based barrier synchronization for 2D meshes without nonmember involvement
Theiss et al. FRoots: A fault tolerant and topology-flexible routing technique
CN100571183C (zh) 一种基于胖树拓扑的屏障操作网络系统、装置及方法
CN100341014C (zh) 用于并行计算和并行存储器访问的可伸缩互连结构
Panda et al. Fast Broadcast and Multicast in Wormhole Multistage Networks with Multidestination Worms
Fan et al. Turn grouping for multicast in wormhole-routed mesh networks supporting the turn model
Drummond et al. On reducing the complexity of matrix clocks
Tseng et al. Achieving fault-tolerant multicast in injured wormhole-routed tori and meshes based on euler path construction
Wu et al. Efficient multiple multicast on heterogeneous network of workstations
Meka et al. Demand based routing in Network-on-Chip (NoC)
Schollmeyer Multicast routing in unreliable networks
CN1479496A (zh) 在三层网络中查找路由下一跳的方法
Jaros et al. Evolutionary Design of Collective Communications on Wormhole NoCs

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C15 Extension of patent right duration from 15 to 20 years for appl. with date before 31.12.1992 and still valid on 11.12.2001 (patent law change 1993)
OR01 Other related matters
C17 Cessation of patent right
CX01 Expiry of patent term

Granted publication date: 19930505