首页> 中国专利> 一种对CPU互连系统的网络拓扑结构进行重构的方法及装置

一种对CPU互连系统的网络拓扑结构进行重构的方法及装置

摘要

本发明提供了一种对CPU互连系统的网络拓扑结构进行重构的方法,包括:获取当前CPU互连系统的全局流量信息及其占比;以及基于当前CPU互连系统的全局流量信息及其占比,动态地调整光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系,其中,CPU互连系统包括多个CPU节点,每个CPU节点包括至少一组光输入输出端口;以及光交叉互连开关,用于动态可配置地连接至少部分的多个CPU节点的输入输出端口以形成环形互连网络拓扑结构。通过本发明中的重构方法,可以较低的成本和较高的集成度实现可重构环形拓扑网络,提升网络效率。

著录项

  • 公开/公告号CN113127404A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN202110430491.3

  • 发明设计人 秦梦远;郝沁汾;叶笑春;范东睿;

    申请日2021-04-21

  • 分类号G06F15/173(20060101);G06F15/177(20060101);

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人王勇

  • 地址 100190 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-06-19 11:52:33

说明书

技术领域

本发明涉及计算机领域,尤其涉及一种对CPU互连系统的网络拓扑结构进行重构的方法及装置。

背景技术

目前在多CPU互连领域中,常见的互连技术包括环形互连(Ring)、网格互连(Mesh)以及全互连(Full-Mesh)等。这些互连技术通过允许被连接的CPU之间进行通信,使得多CPU协同工作成为可能。其中,环形互连成本低廉、易于布线,并且可以节省体积,以满足更高集成度的要求。

图1示出了现有技术中的环形互连结构示意图。如图1所示,环形互连中的CPU节点1、2、3和4往往使用两条路径相同但方向相反的环形总线进行互连,分别对应数据的发送和接收。在双向环形互连中,节点必须具备两套数据收发端口,并且一旦组网完毕,系统的拓扑结构无法再进行更改。

然而,由于环形互连内部最大时延与节点数量线性相关,随着节点数量增长,环形互连的性能会快速恶化,特别是当网络中大部分流量需要数个中间节点进行转发时,网络的总吞吐量往往会会下滑到一个非常低的水平,从而大大限制了系统性能。

因此,亟需一种更加灵活的CPU互连系统以及动态地对CPU互连系统进行重构的方法及装置。

发明内容

因此,本发明实施例的目的在于克服上述相关技术的缺陷,提供一种对CPU互连系统进行重构的方法及装置,使其可以动态适应内部负载,提升网络效率。

上述目的是通过以下技术方案实现的:

根据本发明实施例的第一方面,提供了一种CPU互连系统,包括:多个CPU节点,每个CPU节点包括至少一组光输入输出端口;以及光交叉互连开关,用于动态可配置地连接至少部分的所述多个CPU节点的输入输出端口以形成环形互连网络拓扑结构。

可选地,其中,每个CPU节点包括至少二组输入输出端口,所述光交叉互连开关包括第一光交叉互连开关和第二光交叉互连开关,所述第一光交叉互连开关用于动态地连接至少部分的所述多个CPU节点的一组输入输出端口以形成正向环形互连网络拓扑结构,所述第二光交叉互连开关用于动态地连接至少部分的所述多个CPU节点的另一组输入输出端口以形成对应的反向环形互连网络拓扑结构,所述对应的反向环形互连网络拓扑结构与所述正向环形互连网络拓扑结构的CPU节点顺序相同但方向相反。

根据本发明实施例的第二方面,还提供了一种对上述CPU互连系统的网络拓扑结构进行重构的方法,包括:获取当前CPU互连系统的全局流量信息及其占比;以及基于所述当前CPU互连系统的全局流量信息及其占比,动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系。

可选地,其中,所述全局流量信息包括:流量的源节点、流量的目的节点、流量大小、流量经过的转发节点数量。

可选地,其中,所述基于所述当前CPU互连系统的全局流量信息及其占比,动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系包括:基于所述当前CPU互连系统的全局流量中转发节点数大于指定阈值的路径的转发流量占所述系统总流量的比重,动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系。

可选地,其中,所述基于所述当前CPU互连系统的全局流量信息及其占比,动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系包括:基于所述当前CPU互连系统的全局流量中转发节点数大于指定阈值的路径的转发流量占所述系统最大吞吐量的比重,动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系。

可选地,其中,通过以下方式动态地调整动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系:步骤7-1),将所述当前CPU互连系统的网络拓扑结构作为备选网络拓扑结构;步骤7-2),利用随机函数从当前备选网络拓扑结构选出两个CPU节点;步骤7-3),交换所述两个CPU节点的顺序,生成新的网络拓扑结构;步骤7-4),评估所述当前备选网络拓扑结构与所述新的网络拓扑结构,选取评估结果较优的网络拓扑结构替换当前备选网络拓扑结构;步骤7-5),重复上述步骤7-2)至步骤7-4),直至达到预设的次数,基于最终得到的网络拓扑结构调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系。

可选地,其中,基于所述全局流量信息的流量大小以及流量经过的CPU节点数量,评估所述当前备选网络拓扑结构与所述新的网络拓扑结构。

根据本发明实施例的第三方面,提供了一种对上述CPU互连系统的网络拓扑结构进行重构的装置,包括:接收模块,用于获取当前CPU互连系统的全局流量信息及其占比;以及重构模块,用于基于所述当前CPU互连系统的全局流量信息及其占比,动态地调整所述光交叉互连开关与所述多个CPU节点的输入输出端口的连接关系。

根据本发明实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被执行时实现如上述实施例第二方面所述的方法。

根据本发明实施例的第五方面,提供了一种电子设备,包括处理器和存储器,所述存储器中存储有计算机程序,在所述计算机程序被处理器执行时,能够用于实现如上述实施例第二方面所述的方法。

本发明实施例的技术方案可以包括以下有益效果:

通过在环形互连网络拓扑结构中使用光交叉互连开关动态地连接CPU节点,能够在网络内部负载不均衡时,打破传统的环形互连的流量瓶颈,实现在保持环形拓扑结构不变的同时,通过调整节点的顺序,使得大部分流量不再需要较多的转发节点即可送达,从而大大提升网络利用率和吞吐量;使用光交叉互连开关组成多CPU环形拓扑互连结构,还可以减少IO装置的使用量,提高封装密度和集成度同时降低成本,实现以较低的成本和较高的集成度构建一个小型可重构环形拓扑互连网络;此外,通过基于当前CPU互连系统的全局流量信息及其占比,动态地调整互连系统中多个CPU节点的连接顺序,使其可以动态适应内部负载,提升网络效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了现有技术中的环形互连结构示意图。。

图2示出了现有技术中光交叉互连开关的工作原理示意图。

图3示出了根据本发明的一个实施例的CPU互连系统的结构示意图。

图4示出了根据本发明的另一个实施例的CPU互连系统的结构示意图。

图5示出了根据本发明的另一个实施例的对CPU互连系统的网络拓扑结构进行重构的方法的流程图。

图6示出了根据本发明的一个实施例的不属于基本状态集的网络拓扑结构的示意图。

图7示出了根据本发明一个实施例的对CPU互连系统的网络拓扑结构进行重构的装置的结构示意图。

具体实施方式

为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动下获得的所有其他实施例,都属于本发明保护的范围。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

光交叉互连开关是应用于光路传输中的交换装置,其通过提供N个输入端口和N个输出端口,可以实现网络中N个节点的任意互连,即将N路输入中的每一路输入和对应序号的输出从外部相连,即可形成一条或多条环形通路。

图2示出了现有技术中光交叉互连开关的工作原理示意图。如图2(A)所示,在2*2BENES光交叉互连开关中,光路在2个输入端口和2个输出端口之间存在平行与交叉共2种传输方式,即能够实现节点A-A’互连、节点B-B’互连,以及节点A-B’互连、节点B-A’互连2种互连方式,且2种方式之间可以随时切换;如图2(B)所示,在4*4BENES光交叉互连开关中,光路在4个输入端口和4个输出端口之间存在平行与不同的交叉共24种传输方式,即能够实现例如包括节点A-B’互连、节点B-C’互连、节点C-D’互连、节点D-A’互连等24种互连方式,且各种方式也可以随时相互切换。

然而,光交叉互连开关输入端口和输出端口之间是一一映射关系,其中任一输出端口能且仅能被一个输入端口所驱动,以及其中任一输入端口亦能且只能驱动其中的一个输出端口。因此,光交叉互连开关无法实现互连网络内多个CPU同时与同一个CPU通信,或是一个CPU同时与多个CPU通信。

基于上述研究,发明人发现,由于光交叉互连开关能够灵活地改变网络内节点的连接方式,以及其输入、输出端口的一一映射关系,可以将光交叉互连开关应用于环形互连中,通过动态地连接并调整环形互连中节点的顺序,使得大部分流量不再需要较多的转发节点即可送达,进而大大提升网络利用率和吞吐量。

根据本发明的一个实施例,提供了一种CPU互连系统,包括:多个CPU节点,每个CPU节点包括一组光输入输出端口;以及光交叉互连开关,用于动态可配置地连接多个CPU节点的输入输出端口以形成环形互连网络拓扑结构。

图3示出了根据本发明的一个实施例的CPU互连系统的结构示意图。如图3所示,该系统中包括4个CPU节点(即节点1、节点2、节点3和节点4)和1个4*4BENES光交叉互连开关,光交叉互连开关通过其4个输入端口和4个输出端口,将上述4个节点依次连接起来(例如:节点1-2-3-4-1),形成一个单向的环形互连网络拓扑结构。该光交叉互连开关也可以通过改变端口之间不同的传输方式,动态地调整4个节点之间的连接顺序(例如将节点连接顺序改为:节点1-3-2-4-1)。

在其他实施例中,也可以根据实际需求,利用光交互互连开关仅连接系统中的部分节点(例如,仅连接节点1-2-3-1),以形成局部的单向环形网络拓扑结构。

根据本发明的另一个实施例,提供了一种CPU互连系统,其中,每个CPU节点包括至少二组输入输出端口,光交叉互连开关包括第一光交叉互连开关和第二光交叉互连开关,第一光交叉互连开关用于动态地连接多个CPU节点的一组输入输出端口以形成正向环形互连网络拓扑结构,第二光交叉互连开关用于动态地连接多个CPU节点的另一组输入输出端口以形成对应的反向环形互连网络拓扑结构,对应的反向环形互连网络拓扑结构与正向环形互连网络拓扑结构的CPU节点顺序相同但方向相反。

图4示出了根据本发明的另一个实施例的CPU互连系统的结构示意图。如图4所示,该系统中包括4个CPU节点(即节点1、节点2、节点3和节点4)和2个4*4BENES光交叉互连开关,每个CPU节点包括两组输入、输出接口,其中第一光交叉互连开关通过其4个输入端口和4个输出端口,将上述4个节点依次连接起来(例如:节点1-2-3-4-1),形成一个正向环形互连网络拓扑结构;第二光交叉互连开关通过其4个输入端口和4个输出端口,将上述4个节点反向依次连接起来(例如:节点1-4-3-2-1),形成一个对应的反向环形互连网络拓扑结构,该对应的反向环形互连网络拓扑结构与正向环形互连网络拓扑结构的节点顺序相同但方向相反。同样地,该第一光交叉互连开关可以通过改变端口之间不同的传输方式,动态地调整4个节点之间的连接顺序(例如:节点1-3-2-4-1);该第二光交叉互连开关可以通过改变端口之间不同的传输方式,对应地调整4个节点之间的连接顺序(例如:节点1-4-2-3-1),使得调整后的节点顺序相同但方向相反,形成全双工互连网络。

在其他实施例中,也可以根据实际需求,利用2个光交互互连开关仅连接系统中的部分节点(例如,仅连接节点1-2-3-1以及节点1-3-2-1),以形成局部的双向环形网络拓扑结构。

通过在环形互连网络拓扑结构中使用光交叉互连开关动态地连接CPU节点,能够在网络内部负载不均衡时,打破传统的环形互连的流量瓶颈,实现在保持环形拓扑结构不变的同时,通过调整节点的顺序,使得大部分流量不再需要较多的转发节点即可送达,从而大大提升网络利用率和吞吐量。此外,使用光交叉互连开关组成多CPU环形拓扑互连结构,可以减少IO装置的使用量,提高封装密度和集成度同时降低成本,实现以较低的成本和较高的集成度构建一个小型可重构环形拓扑互连网络。

基于上述CPU互连系统,根据本发明的一个实施例,提供了一种对上述CPU互连系统的网络拓扑结构进行重构的方法,包括:计算当前CPU互连系统的全局流量信息及其占比;以及基于当前CPU互连系统的全局流量信息及其占比,动态地调整光交叉互连开关与多个CPU节点的输入输出端口的连接关系。

图5示出了根据本发明的另一个实施例的对CPU互连系统的网络拓扑结构进行重构的方法的流程图。如图5所示,该方法包括以下步骤:

S510,获取当前CPU互连系统的全局流量信息及其占比。

通过获取当前CPU互连系统的全局流量信息及其占比,可以判断是否应当重构当前的网络拓扑结构以减少或改变相关的转发节点,提高网络性能。

在一个实施例中,当网络正常工作时,可以通过一些统计方式(例如通过CPU节点自身),来统计全局流量信息以及其占比。全局流量信息例如可以包括:流量的源节点、流量目的节点、流量大小以及流量经过的转发节点数等。通过分析汇总后的全局流量信息,可以得到例如包括当前全局流量中转发节点数大于指定阈值的路径(例如占用转发节点数≥N/4的超长路径)的转发流量占总流量的比重、或者转发节点数大于指定阈值的路径的转发流量占系统最大吞吐量的比重等有效信息。

S520,基于当前CPU互连系统的全局流量信息及其占比,动态地调整光交叉互连开关与多个CPU节点的输入输出端口的连接关系。

对于当前全局流量中转发节点数大于指定阈值的路径(例如占用转发节点数≥N/4的超长路径)的转发流量占总流量的比重、或者转发节点数大于指定阈值的路径的转发流量占系统最大吞吐量的比重来说,无论是哪一个比重占据过大,都会导致整个系统通信效率的降低。因此,在一个实施例中,可以基于当前CPU互连系统的全局流量中转发节点数大于指定阈值的路径的转发流量占系统总流量的比重,动态地调整多个CPU节点的连接顺序。例如,调整超长路径转发流量内源节点和目的节点的距离(例如调整至相邻位置),使其变为短距流量,从而释放出原转发节点的转发/发送能力,降低系统的负担,提升系统总吞吐量。同样地,在另一个实施例中,基于当前CPU互连系统的全局流量中转发节点数大于指定阈值的路径的转发流量占系统最大吞吐量的比重,动态地调整多个CPU节点的连接顺序。

在一个实施例中,通过以下方式动态地调整动态地调整多个CPU节点的连接顺序:

S521,将当前CPU互连系统的网络拓扑结构作为备选网络拓扑结构。

S522,利用随机函数从当前备选网络拓扑结构选出两个CPU节点。

S523,交换所述两个CPU节点的顺序,生成新的网络拓扑结构。

S524,评估所述当前备选网络拓扑结构与所述新的网络拓扑结构,选取评估结果较优的网络拓扑结构替换当前备选网络拓扑结构。

在一个实施例中,可以基于全局流量信息的流量大小以及流量经过的CPU节点数量,评估当前备选网络拓扑结构与新的网络拓扑结构。在一个实施例中,可以对每一条流量信息进行评估,得到单个流量的评估值,并对全部单个流量的评估值进行求和运算,得到最终评估值,以评估当前备选网络拓扑结构或新的网络拓扑结构。其中,单个流量的评估值为流量大小/流量经过的节点数。

S525,重复上述S522至S524,直至达到预设的次数,基于最终得到的网络拓扑结构调整光交叉互连开关与多个CPU节点的输入输出端口的连接关系。

上述实施例中,通过基于当前CPU互连系统的全局流量信息及其占比,动态地调整互连系统中多个CPU节点的连接顺序,以调节不同节点的相对位置来优化环形拓扑内部结构,使其可以动态适应内部负载,提升网络效率。同时,在物理层通过光交叉互连开关重构网络拓扑结构,可以较低的成本和较高的集成度实现可重构环形拓扑网络。

在一个实施例中,可以设定仅允许能且仅能在系统的多个CPU节点之间形成一条环形通路,且该通路经过该系统所有CPU节点全部的输入输出端口的内部连接方式为可行的连接方式,则满足条件的连接方式组成的集合构成了环形拓扑的基本状态集。任何生成新的网络拓扑结构都应当为该基本状态集的子集。

图6示出了根据本发明的一个实施例的不属于基本状态集的网络拓扑结构的示意图。如图6(A)所示,其中光交叉互连开关将4个CPU节点(即节点1、节点2、节点3和节点4)连接,形成两个独立的环形互连网络拓扑,即网络拓扑结构1(节点1-2-1)和网络拓扑结构2(节点3-4-3);如图6(B)所示,其中光交叉互连开关将4个CPU节点(即节点1、节点2、节点3和节点4)连接,形成节点1自连接和网络拓扑结构3(节点2-3-4-2)。由于这两种连接方式形成的环形网络拓扑结构均不在基本状态集内,因此不能作为重构后的网络拓扑结构来调整CPU节点的连接顺序。

通过上述实施例,可以根据实际需求限定重构后的网络拓扑结构,使其仅通过一个环形互连就能够涵盖系统中的所有CPU节点,避免了频繁重构导致的性能低下以及环形网络对特定网络负载的低效率。

本领域内技术人员应当了解,重构后的网络拓扑计算方式多种多样,包括但不限于依靠枚举、依靠梯度下降等寻求最优解的方式。进行重构后的网络拓扑计算的位置同样多种多样,包括但不限于专门的计算组件、某一个特定的CPU节点或是全体CPU节点。

图7示出了根据本发明一个实施例的对CPU互连系统的网络拓扑结构进行重构的装置的结构示意图。如图7所示,该系统700包括接收模块701和重构模块702。尽管该框图以功能上分开的方式来描述组件,但这样的描述仅为了说明的目的。图中所示的组件可以任意地进行组合或被分为独立的软件、固件和/或硬件组件。而且,无论这样的组件是如何被组合或划分的,它们都可以在同一计算装置或多个计算装置上执行,其中多个计算装置可以是由一个或多个网络连接。

其中接收模块701获取当前CPU互连系统的全局流量信息及其占比。重构模块702如上文介绍的那样基于当前CPU互连系统的全局流量信息及其占比,动态地调整光交叉互连开关与多个CPU节点的输入输出端口的连接关系。

在本发明的又一个实施例中,还提供了一种计算机可读存储介质,其上存储有计算机程序或可执行指令,当所述计算机程序或可执行指令被执行时实现如前述实施例中所述的技术方案,其实现原理类似,此处不再赘述。在本发明的实施例中,计算机可读存储介质可以是任何能够存储数据且可以被计算装置读取的有形介质。计算机可读存储介质的实例包括硬盘驱动器、网络附加存储器(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其它光学或非光学数据存储装置。计算机可读存储介质也可以包括分布在网络耦合计算机系统上的计算机可读介质,以便可以分布式地存储和执行计算机程序或指令。

在本发明的另一个实施例中,可以以电子设备的形式来实现本发明。该电子设备包括处理器和存储器,在存储器中存储有计算机程序,当该计算机程序被处理器执行时,能够用于实现本发明的方法。

本说明书中针对“各个实施例”、“一些实施例”、“一个实施例”、或“实施例”等的参考指代的是结合所述实施例所描述的特定特征、结构、或性质包括在至少一个实施例中。因此,短语“在各个实施例中”、“在一些实施例中”、“在一个实施例中”、或“在实施例中”等在整个说明书中各地方的出现并非必须指代相同的实施例。此外,特定特征、结构、或性质可以在一个或多个实施例中以任何合适方式组合。因此,结合一个实施例中所示出或描述的特定特征、结构或性质可以整体地或部分地与一个或多个其他实施例的特征、结构、或性质无限制地组合,只要该组合不是非逻辑性的或不能工作。

本说明书中“包括”和“具有”以及类似含义的术语表达,意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备并不限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。“一”或“一个”也不排除多个的情况。另外,本申请附图中的各个元素仅仅为了示意说明,并非按比例绘制。

虽然本发明已经通过上述实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所做出的各种改变以及变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号