交换装置、交换装置组、数据传输方法和计算机系统与流程

文档序号:13912463阅读:160来源:国知局

本发明涉及计算机技术领域,特别涉及一种交换装置、交换装置组、数据传输方法和计算机系统。



背景技术:

计算机系统中可以包括多个节点,每个节点可以包括处理器和存储器等,在多个节点之间进行数据传输时,可以由某个节点中的处理器将该节点中的存储器中的数据发往其他节点,目前通常通过串行器解串器(英文:serializer/deserializer;简称:serdes)技术来在节点间传递数据,即一节点通过serdes模块将并行的物理编码转化为串行的物理编码后再发向另一节点,该另一节点通过serdes模块将串行的物理编码转化为并行的物理编码,这样数据就能够以串行的形式在节点间传输,传输速率较高。

相关技术中有一种数据传输方法,在该方法中,多个节点与一个交换装置连接,由该交换装置对这多个节点的数据进行调度,该交换装置中包括:serdes模块、物理层(英文:physicallayer;简称:phy)模块、链路(英文:link)层模块和路由模块,节点发送的串行物理编码进入交换装置后,会首先经过serdes模块转化为并行的物理编码,再依次经过phy模块和link层模块转化为能够进行路由的报文(该报文包括目的节点等路由信息),转化得到的报文进入路由模块,由路由模块确定路径,该报文再依次经过link层模块和phy模块转化为并行物理编码,该并行物理编码再由serdes模块转化为串行物理编码并由路由模块确定的路径传输至目的节点。

在实现本发明的过程中,发明人发现现有技术至少存在以下问题:上述方法中为了使数据能够进行路由,交换装置将从节点接收的串行物理编码转化为报文,在从报文中获取路由信息后,将报文恢复为串行的物理编码并发向目的节点,数据在交换装置内经过了多次转换,使得数据传输的时延较长,影响计算机系统的工作效率。



技术实现要素:

为了解决现有技术中数据在交换装置内经过了多次转换,使得数据传输的时延较长,影响计算机系统的工作效率的问题,本发明实施例提供了一种交换装置、交换装置组、数据传输方法和计算机系统。所述技术方案如下:

根据本发明的第一方面,提供了一种交换装置,用于对n个节点的数据进行调度,n为大于1的整数,该交换装置包括:

选择电路模块、serdes模块和调度模块,其中选择电路模块可以包含有多选多的选择电路;选择电路模块与n个节点中每个节点都建立有至少n-1条静态链路,且与选择电路模块连接的任意两个属于不同节点的静态链路在选择电路模块中连接,即任一个节点与n个节点中除该任一节点外的每个节点之间都连接有至少一条静态链路,该静态链路可以用于n个节点中任意两个节点间传输数据。示例性的,n个节点中,节点a(节点a为n个节点中的任一节点)与其余的每个节点都可以建立有至少一条静态传输路径,每一条静态传输路径可以由节点a与选择电路模块间的静态链路、选择电路模块中的连接以及另一节点与选择电路模块间的静态链路组成。其中,静态链路可以指的是在选择电路模块中的连接关系固定的链路,即静态联路在选择电路模块中固定与另一条连接在选择电路模块上的静态联路连接。

serdes模块设置在与选择电路模块连接的静态链路上,用于将要通过静态链路进入选择电路模块的串行物理编码转换为并行物理编码,并将从选择电路模块发出的进入静态链路的并行物理编码转换为串行物理编码,即serdes模块可以将每个节点发往本交换装置中选择电路模块的串行物理编码在转换为能够在选择电路中传输的并行物理编码(由于串行物理编码的频率过高,难以在选择电路模块中收敛时序,因而需要将串行物理编码转换为并行物理编码后再输入选择电路模块),serdes模块还可以将选择电路模块中发往各个节点的并行物理编码转换为串行物理编码,这样可以保证数据在交换装置与节点间的传输中始终为串行物理编码,提高了传输效率。由于该交换装置通过选择电路将多个节点连接在一起,使得数据在传输时不需要进行路由,因而无需将数据转化为包含路由信息的报文,减少了数据在传输过程的转换次数,缩小了数据传输的时延,提高了计算机系统的工作效率。

调度模块与n个节点中每个节点以及选择电路模块都建立有连接,选择电路模块还与n个节点中每个节点都建立有至少一条动态链路,该动态链路的具体数量可以根据每个节点所需要的带宽以及成本进行综合考量后决定。其中,调度模块与节点建立的连接可以为控制链路,控制链路可以是用于传输节点向调度模块发送的拥塞信息以及调度模块向节点发送的信息的链路。动态链路可以是指在选择电路模块中连接关系不固定的链路,动态链路在选择电路模块中与其他动态链路的连接关系可以由调度模块进行控制。

调度模块用于获取n个节点中发生拥塞的节点的拥塞信息,该拥塞信息可以包括拥塞的报文所要到达的目的节点的指示信息,调度模块可以根据从每个节点获取的拥塞信息控制选择电路模块将发生拥塞的节点的至少一条动态链路与目的节点的至少一条动态链路连接,这使得发生拥塞的节点与目的节点之间的带宽增加,拥塞的报文可以通过增加的动态链路进行传输,解决了节点间的拥塞问题。此外,拥塞信息还可以包括发生拥塞的节点拥塞的报文数量。示例性的,发生拥塞的节点为节点a,拥塞的报文为10个,且这10个报文所要到达的目的节点均为节点b(这10个报文的目的节点也可以不同),这时节点a可以将包含有拥塞的报文数量以及拥塞的报文所要到达的目的节点的指示信息的拥塞信息发送给调度模块,调度模块可以根据该拥塞信息控制选择电路模块将节点a的m条动态链路和节点b的m条动态链路连接,m的数量可以与拥塞的报文的数量正相关。

一种可选的实现中,serdes模块还设置在选择电路模块与节点间的动态链路上,用于将要进入选择电路模块的串行物理编码转换为并行物理编码,并将从选择电路模块发出的并行物理编码转换为串行物理编码。serdes模块设置在选择电路模块与节点间的动态链路上的作用于设置在静态链路上时类似,在此不再赘述。

一种可选的实现中,调度模块还用于在发生拥塞的节点的拥塞结束时,控制选择电路模块断开发生拥塞的节点的动态链路与目的节点的动态链路间的连接,这样可以及时释放动态链路,使得调度模块可以对动态链路的连接关系重新进行分配。示例性的,选择电路模块首先将节点a的m条动态链路与节点b的m条动态链路连接,在节点a将目的节点为节点b的拥塞的报文都传输至节点b后,调度模块可以控制选择电路模块断开节点a和节点b之间的m条动态链路,这样节点a就有m条动态链路空闲了下来,在节点a发生拥塞且拥塞的报文的目的节点为节点c时,调度模块就可以控制选择电路模块将节点a的这m条动态链路与节点c的m条动态链路连接,提高了动态链路的利用率。

一种可选的实现中,交换装置还包括转换模块,转换模块设置在调度模块与节点间的连接(该连接可以为控制链路)上,用于将要进入调度模块的并行物理编码转换为报文,以及将从调度模块发出的报文转换为并行物理编码,转换模块可以包括物理层单元和链路层单元。由于调度模块要分析从节点获取的拥塞信息的内容,因而可以在调度模块与节点间的连接上设置包括物理层单元和链路层单元的转换模块,节点发送过来的并行物理编码可以依次经过物理层单元和链路层单元并转化为报文,调度模块可以从该报文中得到拥塞信息。

一种可选的实现中,serdes模块还设置在转换模块与节点间的连接(该连接可以为控制链路)上,用于将要进入调度模块的串行物理编码转换为并行物理编码,并将从调度模块发出的并行物理编码转换为串行物理编码。这样节点就可以以串行物理编码的形式向调度模块传输拥塞信息,减少了对带宽的需求,增加了传输速率。

根据本发明的第二方面,提供了一种交换装置组,该交换装置组包括至少两个相互连接的交换装置,至少一个交换装置为本发明第一方面提供的任一交换装置。即交换装置组中可以包含有第一方面提供的交换装置,还可以包含有相关技术中的交换装置。多个交换装置之间的连接方式可以参考相关技术中的交换芯片组,示例性的,一个交换装置与另一个交换装置连接时,可以将另一个交换装置看作是一个节点。

根据本发明的第三方面,提供一种数据传输方法,用于第一方面提供的交换装置,该方法包括:

在一个节点要将数据发送给另一节点时,可以将数据转换为串行物理编码并将数据通过第一静态链路传向交换装置,串行物理编码进入交换装置后,交换装置中位于第一静态链路上的serdes模块会将串行物理编码转换为并行物理编码,并将并行物理编码传输至选择电路模块,其中,第一静态链路在选择电路模块中与第二静态链路连接,第二静态链路又是另一节点连接至选择电路模块的静态链路。

在并行物理编码进入选择电路模块后,交换装置可以将并行物理编码传向与第一静态链路连接的第二静态链路中,并行物理编码经第二静态链路上的serdes模块转换为串行物理编码后传输至第二静态链路连接的另一节点。

由于该交换装置直接通过选择电路将多个节点连接在一起,在通过该交换装置将数据从一个节点发送给另一节点时,使得数据在传输时不需要进行路由,因而无需将数据转化为包含路由信息的报文,减少了数据在传输过程的转换次数,缩小了数据传输的时延,提高了计算机系统的工作效率。

而在一个节点发生拥塞(在某个节点堆积了多条没有及时发送的报文时,可以认为该节点发生了拥塞)时,该节点可以将拥塞信息发送给交换装置中的调度模块,在调度模块接收到发生拥塞的节点发送的拥塞信息时,交换装置可以根据拥塞信息控制选择电路模块将发生拥塞的节点的至少一条动态链路与目的节点的至少一条动态链路连接,形成至少一个动态路径(一个动态路径可以包括发生拥塞的节点的动态链路、目的节点的动态链路和将这两个动态链路连接的动态连接),发生拥塞的节点与目的节点间的带宽得到了增加,其中,拥塞信息可以包括目的节点的指示信息,目的节点为拥塞的报文所要到达的节点。此外,拥塞信息还可以包括发生拥塞的节点拥塞的报文数量,动态路径的数量可以和拥塞的报文数量正相关,即拥塞的报文越多,调度模块可以控制选择电路模块建立越多的动态路径。

在建立了动态路径后,交换装置可以通过发生拥塞的节点的至少一条动态链路、至少一条动态路径和目的节点的至少一条动态链路将拥塞的报文传输至目的节点,拥塞的报文的传输过程与通过静态链路传输报文的过程类似,在此不再赘述。

由于通过动态链路增大了发生拥塞的节点和目的节点间的带宽,拥塞的报文可以很快的传输完毕。

一种可选的实现中,通过所述发生拥塞的节点的至少一条动态链路、所述至少一条动态连接和所述目的节点的至少一条动态链路将所述拥塞的报文传输至所述目的节点之后,方法还包括:

断开至少一个动态连接。

在将拥塞的报文传输至目的节点之后,可以认为发生拥塞的节点的拥塞结束,此时可以控制选择电路模块断开发生拥塞的节点的动态链路与目的节点的动态链路间的连接,这样可以及时释放动态链路,使得调度模块可以对动态链路的连接关系重新进行分配。

一种可选的实现中,通过发生拥塞的节点的至少一条动态链路接收拥塞的报文之前,该方法还包括:

通过调度模块向发生拥塞的节点和目的节点发送至少一个动态连接的指示信息,该至少一个动态连接的指示信息用于指示发生拥塞的节点和目的节点通过至少一个动态连接传输拥塞的报文。即调度模块可以预先通知发生拥塞的节点和目的节点可以通过建立的动态连接传输拥塞的报文。这样发生拥塞的节点和目的节点就能够通过该动态连接来传输拥塞的报文。

根据本发明的第四方面,提供一种计算机系统,该计算机系统包括:交换装置和n个节点,交换装置为第一方面提供的交换装置,用于对n个节点的数据进行调度。

一种可选的实现中,n个节点包括至少一个如第一方面提供的交换装置。即该计算机系统中可以包含有多个交换装置,这多个交换装置可以组成一个交换装置组,以提高该计算机系统所能够调度的节点的数量。

一种可选的实现中,n个节点包括至少一个节点控制器,节点控制器用于将n个节点与其他节点建立连接,其他节点为除n个节点外的节点。由于硬件上的限制,每个节点所能够连接的静态链接和动态链接的数量是有一定的限制的,因而可以将节点连接至节点控制器(英文:nodecontroller),再由节点控制器与交换装置连接,以增加一个交换装置所能够调度的节点的数量,节点控制器与节点之间的连接可以参考相关技术,在此不再赘述。

本发明实施例提供的技术方案带来的有益效果是:

交换装置通过选择电路模块将多个节点连接在一起,使得数据在传输时不需要进行路由,同时在节点发生拥塞时通过选择电路模块增加发生拥塞的节点和目的节点间的带宽,解决了相关技术中数据在交换装置内经过了多次转换,使得数据传输的时延较长,影响计算机系统的工作效率的问题,达到了无需将数据转化为包含路由信息的报文,减少了数据在传输过程的转换次数,缩小了数据传输的时延,提高了计算机系统的工作效率的效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例示出的一种交换装置的结构示意图;

图2是图1所示交换装置中动态链路重新连接的示意图;

图3是本发明实施例示出的另一种交换装置的结构示意图;

图4是本发明实施例中一种选择电路模块的结构示意图;

图5是本发明实施例提供的另一种数据传输方法的流程图;

图6是本发明实施例提供的一种计算机系统的结构示意图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

本发明各个实施例所提供的交换装置可以应用于多处理器互联的纵向扩展(英文:scale-up)结构的计算机系统,这种计算机系统各节点的处理器之间需要共享彼此的内存,所以各节点的处理器间需要通讯链路进行数据传输以及数据一致性维护,且这个通讯链路对时延要求较高。

图1是本发明实施例提供的一种交换装置的结构示意图。该交换装置用于对n个节点d的数据进行调度,n为大于1的整数。该交换装置10可以包括:

选择电路模块11、serdes模块12和调度模块13。其中选择电路模块11可以包含有多选多的选择电路;选择电路模块11与n个节点中每个节点d都建立有至少n-1条静态链路sl,且与选择电路模块11连接的任意两个属于不同节点d的静态链路sl在选择电路模块11中连接,即任一个节点与其他n-1个节点之间都连接有至少一条静态链路,该静态链路可以用于n个节点中任意两个节点间数据的传输。示例性的,n个节点中,节点a与其余的每个节点都可以建立有至少一条静态传输路径,每一条静态传输路径可以由节点a与选择电路模块间的静态链路,选择电路模块中的连接以及另一节点与选择电路模块间的静态链路组成。静态链路可以指的是在选择电路模块11中的连接关系固定的链路,即静态联路在选择电路模块11中固定与另一条连接在选择电路模块11上的静态联路连接。

serdes模块12设置在与选择电路模块11连接的静态链路sl上,用于将要通过静态链路sl进入选择电路模块11的串行物理编码转换为并行物理编码(由于串行物理编码的频率过高,难以在选择电路模块中收敛时序,因而需要将串行物理编码转换为并行物理编码后再输入选择电路模块),并将从选择电路模块11发出的进入静态链路sl的并行物理编码转换为串行物理编码,即serdes模块12可以将每个节点d发往交换装置10中选择电路模块11的串行物理编码转换为能够在选择电路中传输的并行物理编码,serdes模块12还可以将选择电路模块11中发往各个节点d的并行物理编码转换为串行物理编码,这样可以保证数据在交换装置10与节点d间的传输中始终为串行物理编码,这样能够提高传输效率。serdes模块12可以是一个整体的模块,也可是设置在每条静态链路上的多个模块,图1示出的是serdes模块12为多个模块的情况。

图1示出的是n为2的情况,n还可以其他数值,本发明实施例不作出限制。此外,图1中的节点是为了说明而示出的,其可以不包含在本发明实施例提供的交换装置中。

一个节点与其他节点之间连接的静态链路的数量较少时,较为容易发生拥塞,而受限于硬件方面的原因,一个节点所能够连接的链路的数量是有限的,因而一个节点与其他节点之间连接的静态链路的数量不可能过多,而本发明提供的交换装置通过调度模块来进行动态链路的连接解决了该问题。

在图1中,n个节点d中每个节点都与调度模块13建立有连接cl,该连接cl可以为控制链路,用于向各个节点发送信息以及接受各个节点发送的拥塞信息,调度模块13与选择电路模块11建立有连接,该连接用于向选择电路模块11发送控制信息,选择电路模块11还与n个节点中每个节点都建立有至少一条动态链路dl,该动态链路dl的具体数量可以根据每个节点所需要的带宽以及成本进行综合考量后决定。图1示出的是节点的数量n为2,节点d1和节点d2之间建立有1条静态链路sl且节点d1和节点d2均与选择电路模块11建立有两条动态链路dl的情况。n个节点中的任一节点可以由连接着的处理器和存储器组成,处理器与交换装置连接,存储器用于存储数据,处理器用于将存储器中的数据发送至交换装置,或者将从交换装置接收的数据存入存储器中。

调度模块13用于获取n个节点d中发生拥塞的节点的拥塞信息,该拥塞信息可以包括拥塞的报文所要到达的目的节点的指示信息,调度模块13可以根据从每个节点获取的拥塞信息控制选择电路模块11将发生拥塞(在某个节点堆积了多条没有及时发送的报文时,可以认为该节点发生了拥塞)的节点的至少一条动态链路与目的节点的至少一条动态链路连接,这使得发生拥塞的节点与目的节点之间的带宽增加,拥塞的报文可以通过增加的动态链路进行传输,解决了节点间的拥塞问题。此外,拥塞信息还可以包括发生拥塞的节点拥塞的报文数量。示例性的,发生拥塞的节点为节点d1,拥塞的报文为10个,且这10个报文所要到达的目的节点均为节点d2(这10个报文的目的节点也可以不同),这时节点d1可以将包含有拥塞的报文数量以及拥塞的报文所要到达的目的节点的指示信息的拥塞信息发送给调度模块13,调度模块13可以根据该拥塞信息控制选择电路模块11将节点d1的m条动态链路和节点d2的m条动态链路连接,m的数量可以与拥塞的报文的数量正相关。

本发明实施例中的静态链路和动态链路可以包括时钟链路和数据链路,具体可以参考相关技术中的数据链路,在此不再赘述。

一种可选的实现中,serdes模块12还设置在选择电路模块11与节点d间的动态链路dl上,用于将要进入选择电路模块11的串行物理编码转换为并行物理编码,并将从选择电路模块11发出的并行物理编码转换为串行物理编码。serdes模块12设置在选择电路模块与节点间的动态链路上的作用于设置在静态链路上时类似,是用于使节点与交换装置之间能够以串行物理编码的形式传输数据,提高数据的传输速率。

一种可选的实现中,调度模块13还用于在发生拥塞的节点的拥塞结束时,控制选择电路模块11断开发生拥塞的节点的动态链路与目的节点的动态链路间的连接,这样可以及时释放动态链路,使得调度模块可以对动态链路的连接关系重新进行分配。

示例性的,节点d1的m条动态链路dl与节点d2的m条动态链路dl连接,在节点d1将目的节点为节点b的拥塞的报文都传输至节点d2后,调度模块13可以控制选择电路模块11断开节点d1的动态链路和节点d2的动态链路的连接,这样节点d1就有动态链路空闲了下来。如图2所示,在节点d1发生拥塞且拥塞的报文的目的节点为节点d3时,调度模块13就可以控制选择电路模块11将节点d1的空闲的动态链路dl与节点d3的动态链路dl连接,及时断开动态链路间的连接能够提高动态链路的利用率,进而提高交换装置对于拥塞的处理能力。图2其他标记的含义可以参考图1,在此不再赘述。

如图3所示,其为本发明实施例提供的另一种交换装置10的结构示意图,该交换装置10还包括转换模块14,转换模块14设置在调度模块13与节点d间的控制链路cl上,用于将要进入调度模块13的并行物理编码转换为报文,以及将从调度模块13发出的报文转换为并行物理编码,转换模块13可以包括物理层单元和链路层单元(图3未示出)。由于调度模块13要分析从节点d获取的拥塞信息的内容,因而可以在调度模块13与节点间的控制链路上设置包括物理层单元和链路层单元的转换模块14,节点发送过来的并行物理编码可以依次经过物理层单元和链路层单元并转化为报文,调度模块13可以从该报文中得到拥塞信息。图3中其他标记的含义可以参考图1,在此不再赘述。

一种可选的实现中,serdes模块12还设置在转换模块14与节点d间的控制链路cl上,用于将要进入调度模块13的串行物理编码转换为并行物理编码,并将从调度模块13发出的并行物理编码转换为串行物理编码。这样节点d就可以以串行物理编码的形式向调度模块13传输拥塞信息,减少了对带宽的需求,增加了传输速率。

图4是本发明实施例中一种选择电路模块11的结构示意图,其中,选择电路模块11中包含有多个多路选择器(图4示出的选择电路模块中包含151、152和153这三个多路选择器的情况),多路选择器是数据选择器的别称。在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。每个多路选择器与调度模块13连接,调度模块13可以控制多路选择器的选择。图4中,每个多路选择器的一端连接有一条动态链路,另一端连接有选择电路模块内部的两条动态连接,多路选择器可以在调度模块的控制下选择一条动态连接与该多路选择器连接的动态链路连接。

节点d2的一条静态链路sl和节点d3的一条静态链路sl在选择电路模块11中连接,节点d2的另一条静态链路sl和节点d1的一条静态链路sl在选择电路模块11中连接,节点d1、d2和d3均与选择电路模块11建立有两条动态链路dl,节点d2的一条静态链路dl与多路选择器151及153连接,另一条动态链路dl与多路选择器152连接,在要将节点d2的动态链路和节点d3的动态链路连接时,可以通过调度模块11控制多路选择器153选择动态连接dl2与节点d3的一条静态链路dl连接,形成一动态路径(该动态路径包括动态连接dl2以及动态连接dl2连接的两条动态链路),并控制多路选择器152选择动态链路dl1与节点d2的一条静态链路dl连接,再形成一条动态路径(该动态路径包括动态连接dl1以及动态连接dl1连接的两条动态链路),这样节点d2和节点d3之间就有两条动态路径可以用于传输数据。

需要说明的是,为便于说明以及观察,图4中未画出节点d1和节点d3之间连接的静态链路。此外,图4中每个节点均有一条动态链路在选择电路模块中与一个多路选择器连接,另一动态链路在选择电路模块中与两个多路选择器连接,但这只是一种可能的实现方式,每个节点的动态链路都可以与一个多路选择器连接,或者与更多个多路选择器连接,本发明实施例不作出限制。

图1、图2、图3和图4中的节点均是为了进行说明而示出的,其可以不包含在本发明提供的交换装置中。

综上所述,本发明实施例提供的交换装置,通过选择电路模块将多个节点连接在一起,使得数据在传输时不需要进行路由,同时在节点发生拥塞时通过选择电路模块增加发生拥塞的节点和目的节点间的带宽,解决了相关技术中数据在交换装置内经过了多次转换,使得数据传输的时延较长,影响计算机系统的工作效率的问题,达到了无需将数据转化为包含路由信息的报文,减少了数据在传输过程的转换次数,缩小了数据传输的时延,提高了计算机系统的工作效率的效果。

图5示出了本发明实施例提供的一种数据传输方法的流程图,该方法可以用于图1所示的交换装置、图2所示的交换装置或图3所示的交换装置,该方法包括:

步骤401,在节点d1要向节点d2传输多个报文时,节点d1将报文转换为串行物理编码并通过第一静态链路发送至交换装置。

节点d1和节点d2为交换装置调度的n个节点中的两个节点,在节点d1要向节点d2传输多个报文时,节点d1可以将报文转换为串行物理编码,然后通过第一静态链路发送至交换装置,第一静态链路在交换装置中与第二静态链路连接,第二静态链路与节点d2连接。

需要说明的是,第一静态链路可以包含有多条静态链路,这多条静态链路可以是在交换装置中与第二节点d2的多条静态链路连接的静态链路。

步骤402,交换装置中的第一serdes模块将串行物理编码转换为并行物理编码后传输至选择电路模块。

串行物理编码在进入交换装置中后,第一静态链路上的第一serdes模块会先将串行物理编码转换为并行物理编码,然后将并行物理编码传输至选择电路模块中。

步骤403,选择电路模块将并行物理编码传输至与第一静态链路连接的第二静态链路上的第二serdes模块。

选择电路模块在通过第一静态链路获取了并行物理编码后,会将该并行物理编码传输至在选择电路模块内部与第一静态链路连接的第二静态链路,并行物理编码会进入第二静态链路上的第二serdes模块。

步骤404,第二serdes模块将并行物理编码转换为串行物理编码后传输至节点d2。

并行物理编码在进入第二serdes模块后,第二serdes模块会将并行物理编码转换为串行物理编码后传输至节点d2。

步骤405,节点d1在发生拥塞时,向交换装置中的调度模块发送拥塞信息。

在节点d1要发送给节点d2的报文较多,通过第一静态链路难以及时的完成传输时(即发生拥塞时),可以向交换装置中的调度模块发送拥塞信息。该调度信息可以包含有拥塞的报文所要到达的目的节点的指示信息,本发明实施例以目的节点为节点d2进行说明,但目的节点还可以为其他节点,本发明实施例不作出限制。此外,拥塞信息还可以包括拥塞的报文的数量及节点的等待时间(节点的等待时间可以认为是节点中处理器由于拥塞而等待将报文传输至目的节点的时间),以便于调度模块根据拥塞的报文的数量来决定连接的动态链路的数量。

步骤406,调度模块根据拥塞信息控制选择电路模块通过至少一个动态连接将发生拥塞的节点的至少一条动态链路与目的节点的至少一条动态链路连接。

调度模块在获取了拥塞信息后,可以根据拥塞信息控制选择电路模块通过至少一个动态连接将节点d1的至少一条动态链路与节点d2的至少一条动态链路连接,形成至少一个动态路径。连接的动态链路的数量可以和节点d1拥塞的报文的数量正相关。

本发明实施例示出的是交换装置调度的两个节点间发生拥塞的情况,由于交换装置用于对n个节点进行调度,因而调度模块可能接收到多个节点发送的拥塞信息,在这多个节点发送的拥塞信息所涉及的多对发生拥塞的节点和目的节点都为不同的节点时,可以分别连接每对发生拥塞的节点和目的节点的动态链路,而在多对发生拥塞的节点和目的节点有重叠时,可以根据一定的调度策略来连接动态链路,示例性的,节点d1和节点d3均向节点d2发送报文且均发生了拥塞,此时节点d1和节点d3会向调度模块发送拥塞信息,调度模块可以根据拥塞信息中拥塞报文的数量以及节点的等待时间来分配节点d2的动态链路,使节点d2的动态链路一部分与节点d1连接,另一部分与节点d3连接。

步骤407,调度模块向节点d1和节点d2发送至少一个动态连接的指示信息。

调度模块在建立了连接节点d1和节点d2的动态连接之后,可以向节点d1和节点d2发送至少一个动态连接的指示信息,以指示节点d1和节点d2通过至少一个动态连接传输拥塞的报文。即调度模块可以预先通知发生拥塞的节点和目的节点可以通过建立的动态连接传输拥塞的报文。

步骤408,交换装置通过节点d1的至少一条动态链路、至少一条动态连接和节点d2的至少一条动态链路将拥塞的报文传输至节点d2。

调度模块在向节点d1和节点d2发送了动态连接的指示信息后,节点d1会通过该至少一条动态连接来传输拥塞的报文,直至拥塞的报文传输完毕。拥塞的报文的传输过程与通过静态链路传输报文的过程类似,在此不再赘述。

由于通过动态链路增大了发生拥塞的节点和目的节点间的带宽,拥塞的报文可以很快的传输完毕。

步骤409,调度模块控制选择电路模块断开节点d1和节点d2间的至少一个动态连接。

在节点d1将拥塞的报文均传输至节点d2,即拥塞结束时,调度模块可以控制选择电路模块断开节点d1和节点d2间的至少一个动态连接。这样可以及时释放动态链路,使得调度模块可以对动态链路的连接关系重新进行分配。及时断开动态链路间的连接能够提高动态链路的利用率,进而提高交换装置对于拥塞的处理能力。

示例性的,节点d1的m条动态链路与节点d2的m条动态链路连接,在节点d1将目的节点为节点b的拥塞的报文都传输至节点d2后,调度模块可以控制选择电路模块断开节点d1的动态链路和节点d2的动态链路的连接,这样节点d1就有动态链路空闲了下来,这样在节点d1发生拥塞且拥塞的报文的目的节点为节点d3时,调度模块就可以控制选择电路模块将节点d1的空闲的动态链路与节点d3的动态链路连接,使得d1能够更多的动态链路用来传输数据,提高了数据的传输速率。

需要说明的是,本发明的各个实施例中的serdes模块、静态链路和动态链路等概念前面附加的第一、第二和第三等均是为了对这些概念进行区分,而并非是这些概念的特有命名。

综上所述,本发明实施例提供的数据传输方法,通过选择电路模块将多个节点连接在一起,使得数据在传输时不需要进行路由,解决了相关技术中数据在交换装置内经过了多次转换,使得数据传输的时延较长,影响计算机系统的工作效率的问题,达到了无需将数据转化为包含路由信息的报文,减少了数据在传输过程的转换次数,缩小了数据传输的时延,提高了计算机系统的工作效率的效果。

本发明实施例还提供一种交换装置组,该交换装置组包括至少两个相互连接的交换装置,至少一个交换装置为图1、图2、图3所示的交换装置。即交换装置组中可以包含有图1、图2、图3所示的交换装置,还可以包含有相关技术中的交换装置。多个交换装置之间的连接方式可以参考相关技术中的交换芯片组,示例性的,一个交换装置与另一个交换装置连接时,可以将另一个交换装置看作是一个节点。

本发明实施例还提供一种计算机系统,该计算机系统包括:交换装置和n个节点,交换装置可以为图1、图2或图3所示的交换装置,用于对n个节点的数据进行调度。

一种可选的实现中,n个节点包括至少一个图1、图2或图3所示的交换装置。即该计算机系统中可以包含有多个交换装置,这多个交换装置可以组成一个交换装置组,以提高该计算机系统所能够调度的节点的数量。

一种可选的实现中,如图6所示,n个节点包括至少一个节点控制器51,节点控制器51用于将n个节点与其他节点(图6中的节点d4、d5、d6和d7)建立连接,其他节点为除n个节点外的节点。由于硬件上的限制,每个节点所能够连接的静态链接和动态链接的数量是有一定的限制的,因而可以将节点连接至节点控制器,以增加一个交换装置所能够调度的节点的数量,节点控制器与节点之间的连接可以参考相关技术,在此不再赘述。图6中其他标记的含义可以参考图1。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1