CN111490948A - 用于siro交换系统的路由配置方法、装置以及介质 - Google Patents

用于siro交换系统的路由配置方法、装置以及介质 Download PDF

Info

Publication number
CN111490948A
CN111490948A CN202010289623.0A CN202010289623A CN111490948A CN 111490948 A CN111490948 A CN 111490948A CN 202010289623 A CN202010289623 A CN 202010289623A CN 111490948 A CN111490948 A CN 111490948A
Authority
CN
China
Prior art keywords
switching
siro
chip
shortest
communication path
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.)
Granted
Application number
CN202010289623.0A
Other languages
English (en)
Other versions
CN111490948B (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.)
Beijing Dadi Xinhe Information Technology Co ltd
Original Assignee
Beijing Dadi Xinhe Information Technology Co ltd
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 Beijing Dadi Xinhe Information Technology Co ltd filed Critical Beijing Dadi Xinhe Information Technology Co ltd
Priority to CN202010289623.0A priority Critical patent/CN111490948B/zh
Publication of CN111490948A publication Critical patent/CN111490948A/zh
Application granted granted Critical
Publication of CN111490948B publication Critical patent/CN111490948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

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

Abstract

本公开提供了一种用于SIRO交换系统的路由配置方法、装置以及电子设备、存储介质,涉及嵌入式系统技术领域,其中的方法包括:对SIRO交换系统进行拓扑探测,获得SIRO交换系统中的全部物理通信路径;根据预设的最短路径规则从全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表;根据互联通信表对交换芯片和端点装置进行路由配置;本公开的方法、装置以及电子设备、存储介质,通过自动配置互联通信表,可以节省互联通信配置时间,提高路由配置的工作效率配置以及正确性,并能够减少通信的时延,提高传输的实时性;通过设置主、备用最短通信路径,可以提高数据传输的安全性和可靠性。

Description

用于SIRO交换系统的路由配置方法、装置以及介质
技术领域
本公开涉及嵌入式系统技术领域,尤其涉及一种用于SIRO交换系统的路由配置方法、装置以及电子设备、存储介质。
背景技术
SRIO总线是一种基于交换的高速串行数据总线,具有速率更高且协议简化,输出传输延迟更小及更可控等优点,非常适合于嵌入式系统的应用。SRIO总线仅包括逻辑层(Logic Layer)、传输层(Transport Layer)和物理层(Physical Layer)三层,因此其交换结构也更简单,是类似的二次数据链路层交换。以SRIO总线为基础构成一个SRIO的交换系统。Linux内核为SRIO交换系统提供了端点设备枚举或发现路由的方法。目前,在SRIO的交换系统通常有多个交换芯片,SRIO的交换系统中可能存在多条冗余的物理路径,SRIO交换系统中的Linux内核提供的动态路由方案不能获得路径最短的路由,增加数据传输的时延。因此,需要一种新的用于SIRO交换系统的路由配置的技术方案。
发明内容
为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种用于SIRO交换系统的路由配置方法、装置以及电子设备、存储介质。
根据本公开实施例的一个方面,提供一种用于SIRO交换系统的路由配置方法,其中,SIRO交换系统包括:主机装置、多个交换芯片和多个端点装置,所述主机装置和所述端点装置分别与所述交换芯片连接;所述路由配置方法执行于所述主机装置中,包括:对所述SIRO交换系统进行拓扑探测,获得所述SIRO交换系统中的全部物理通信路径;根据预设的最短路径规则从所述全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表;根据所述互联通信表对所述交换芯片和所述端点装置进行路由配置;在进行路由配置后,对所述SIRO交换系统进行地址空间映射处理。
可选地,所述物理通信路径包括:交换通信路径和挂接通信路径;所述对所述SIRO交换系统进行拓扑探测,获得所述SIRO交换系统中的全部物理通信路径包括:根据预设的遍历规则对所述SIRO交换系统中的全部交换芯片和全部端点装置进行遍历,获取所述交换芯片之间的交换通信路径和所述端点装置与所述交换芯片之间的挂接通信路径;根据所述交换通信路径和所述全部交换芯片生成包含全部交换芯片的系统交换拓扑图;其中,所述系统交换拓扑图为有向图,所述系统交换拓扑图中的连接点对应所述交换芯片,所述系统交换拓扑图中的边对应所述交换通信路径;根据所述挂接通信路径以及所述全部交换芯片和所述全部端点装置生成所述端点装置与对应的交换芯片的端点挂接关系。
可选地,所述根据预设的遍历规则对所述SIRO交换系统中的全部交换芯片和全部端点装置进行遍历包括:确定与所述主机装置连接的交换芯片,以此交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索所述SIRO交换系统中的其他交换芯片;当搜索到一个交换芯片时,如果与此交换芯片的端口连接的是所述端点装置,则确定位于此交换芯片与此端点装置之间的挂接通信链路,并为此端点装置设置唯一的ID号;如果与此交换芯片的端口连接的是另一个交换芯片,则以所述另一个交换芯片为起始点并采用所述深度优先遍历算法或所述广度优先遍历算法搜索继续搜索,直至确定全部交换芯片和全部端点装置都被搜索后,停止进行搜索。
可选地,所述根据预设的最短路径规则从所述全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表包括:获取起始端点装置所挂接的第一交换芯片、目的端点装置所挂接的第二交换芯片;根据最短路径算法并基于约束条件在所述系统交换拓扑图内确定所述第一交换芯片与所述第二交换芯片之间的最短物理路径;其中,所述最短路径算法包括:Dijkstra算法;约束条件包括:经过的交换芯片数最少;基于所述端点挂接关系获取位于所述起始端点装置和所述第一交换芯片之间的第一挂接通信路径、位于所述目的端点装置和所述第二交换芯片之间的第二挂接通信路径;将所述最短物理路径、所述第一挂接通信路径和所述第二挂接通信路径进行拼接处理,生成位于所述起始端点装置和所述目的端点装置之间的所述最短通信路径。
可选地,将与所述系统交换拓扑图中的全部边所对应的长度值都设置为同一值;其中,在所述系统交换拓扑图中的每两个连接点之间都分别设置有两条传输方向相反的边。
可选地,根据所述最短路径算法并基于所述约束条件在所述系统交换拓扑图内确定所述第一交换芯片与所述第二交换芯片之间的、与所述最短物理路径不同的其他最短物理路径,作为备用通信路径;判断所述最短通信路径是否出现故障,如果是,则分配所述备用通信路径传输所述起始端点装置发送到所述目的端点装置的数据;如果否,则分配所述最短通信路径传输所述起始端点装置发送到所述目的端点装置的数据。
可选地,将所述起始端点装置发送到所述目标端点装置的数据设置为高优先级数据或普通优先级数据;统计在单位时间内的所述高优先级数据和所述普通优先级数据的数据量;判断所述数据量是否大于阈值;如果是,则分配所述备用通信路径传输所述普通优先级数据,分配所述最短通信路径传输所述高优先级数据;如果否,则分配所述最短通信路径传输所述高优先级数据和所述普通优先级数据。
可选地,使用SRIO协议的维护事务包进行所述拓扑探测和所述路由配置;其中,所述主机装置、所述交换芯片和所述端点装置通过SRIO协议进行通信,所述SRIO协议的逻辑层采用Direct I/O模式。
根据本公开的另一方面,提供一种用于SIRO交换系统的路由配置装置,其中,SIRO交换系统包括:主机装置、多个交换芯片和多个端点装置,所述主机装置和所述端点装置分别与所述交换芯片连接;所述路由配置装置应用于所述主机装置中,包括:路径探测模块,用于对所述SIRO交换系统进行拓扑探测,获得所述SIRO交换系统中的全部物理通信路径;路由选取模块,用于根据预设的最短路径规则从所述全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表;路由配置模块,用于根据所述互联通信表对所述交换芯片和所述端点装置进行路由配置;系统初始化模块,用于在进行路由配置后,对所述SIRO交换系统进行地址空间映射处理。
可选地,所述物理通信路径包括:交换通信路径和挂接通信路径;所述路径探测模块,包括:系统遍历单元,用于根据预设的遍历规则对所述SIRO交换系统中的全部交换芯片和全部端点装置进行遍历,获取所述交换芯片之间的交换通信路径和所述端点装置与所述交换芯片之间的挂接通信路径;拓扑图生成单元,用于根据所述交换通信路径和所述全部交换芯片生成包含全部交换芯片的系统交换拓扑图;其中,所述系统交换拓扑图为有向图,所述系统交换拓扑图中的连接点对应所述交换芯片,所述系统交换拓扑图中的边对应所述交换通信路径;挂接关系生成单元,用于根据所述挂接通信路径以及所述全部交换芯片和所述全部端点装置生成所述端点装置与对应的交换芯片的端点挂接关系。
可选地,所述系统遍历单元,用于确定与所述主机装置连接的交换芯片,以此交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索所述SIRO交换系统中的其他交换芯片;当搜索到一个交换芯片时,如果与此交换芯片的端口连接的是所述端点装置,则确定位于此交换芯片与此端点装置之间的挂接通信链路,并为此端点装置设置唯一的ID号;如果与此交换芯片的端口连接的是另一个交换芯片,则以所述另一个交换芯片为起始点并采用所述深度优先遍历算法或所述广度优先遍历算法搜索继续搜索,直至确定全部交换芯片和全部端点装置都被搜索后,停止进行搜索。
可选地,所述路由选取模块,包括:交换路径获取单元,用于获取起始端点装置所挂接的第一交换芯片、目的端点装置所挂接的第二交换芯片;根据最短路径算法并基于约束条件在所述系统交换拓扑图内确定所述第一交换芯片与所述第二交换芯片之间的最短物理路径;其中,所述最短路径算法包括:Dijkstra算法;约束条件包括:经过的交换芯片数最少;挂接路径获取单元,用于基于所述端点挂接关系获取位于所述起始端点装置和所述第一交换芯片之间的第一挂接通信路径、位于所述目的端点装置和所述第二交换芯片之间的第二挂接通信路径;最短路径获取单元,用于将所述最短物理路径、所述第一挂接通信路径和所述第二挂接通信路径进行拼接处理,生成位于所述起始端点装置和所述目的端点装置之间的所述最短通信路径。
可选地,将与所述系统交换拓扑图中的全部边所对应的长度值都设置为同一值;其中,在所述系统交换拓扑图中的每两个连接点之间都分别设置有两条传输方向相反的边。
可选地,所述最短路径获取单元,还用于根据所述最短路径算法并基于所述约束条件在所述系统交换拓扑图内确定所述第一交换芯片与所述第二交换芯片之间的、与所述最短物理路径不同的其他最短物理路径,作为备用通信路径;所述路由配置装置,还包括:路由分配模块,用于判断所述最短通信路径是否出现故障,如果是,则分配所述备用通信路径传输所述起始端点装置发送到所述目的端点装置的数据;如果否,则分配所述最短通信路径传输所述起始端点装置发送到所述目的端点装置的数据。
可选地,所述路由分配模块,用于将所述起始端点装置发送到所述目标端点装置的数据设置为高优先级数据或普通优先级数据;统计在单位时间内的所述高优先级数据和所述普通优先级数据的数据量;判断所述数据量是否大于阈值;如果是,则分配所述备用通信路径传输所述普通优先级数据,分配所述最短通信路径传输所述高优先级数据;如果否,则分配所述最短通信路径传输所述高优先级数据和所述普通优先级数据。
根据本公开的又一方面,提供一种SIRO交换系统,包括:主机装置、多个交换芯片和多个端点装置,所述主机装置和所述端点装置分别与所述交换芯片连接;其中,所述主机装置包括:如上所述的用于SIRO交换系统的路由配置装置。
根据本公开实施例的又一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述的方法。
根据本公开实施例的再一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述的方法。
基于本公开上述实施例提供的一种用于SIRO交换系统的路由配置方法、装置以及电子设备、存储介质,可以对SIRO交换系统中的所有的交换芯片和端点装置进行自动探测,根据最短路径规则确定位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表,根据互联通信表进行路由配置;通过自动配置互联通信表,可以节省互联通信配置时间,提高路由配置的工作效率配置以及正确性,并能够减少通信的时延,提高传输的实时性;通过设置主、备用最短通信路径,可以提高数据传输的安全性和可靠性。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征以及优势将变得更加明显。附图用来提供对本公开实施例的进一步的理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1为本公开的用于SIRO交换系统的路由配置方法的一个实施例的流程图;
图2为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的进行拓扑探测的流程图;
图3为系统交换拓扑图的一个实施例的示意图;
图4为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的生成互联通信表的流程图;
图5为SIRO交换系统的一个实施例的示意图;
图6为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的数据传输的流程图;
图7为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的罗宇分配的流程图;
图8为本公开的用于SIRO交换系统的路由配置装置的一个实施例的结构示意图;
图9为本公开的用于SIRO交换系统的路由配置装置的一个实施例的路径探测模块的结构示意图;
图10为本公开的用于SIRO交换系统的路由配置装置的一个实施例的路由选取模块的结构示意图;
图11为本公开的用于SIRO交换系统的路由配置装置的另一个实施例的结构示意图;
图12是本公开的电子设备的一个实施例的结构图。
具体实施方式
下面将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或者两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅是一种描述关联对象的关联关系,表示可以存在三种关系,如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开的实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或者专用计算系统环境或配置一起操作。适于与终端设备、计算机系统或者服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境等等。
SRIO是Serial RapidIO的缩写,是RapidIO的标准里面的串行规范。RapidIO是一种高性能、低引脚数、基于数据包交换的互连体系结构,RapidIO主要应用于嵌入式系统内部互连,支持芯片到芯片、板到板间的通讯,可作为嵌入式设备的背板连接。
SRIO总线技术是一种高速串行总线技术,是基于包交换的系统级互连协议,与万兆以太网、PCIe相比有着更高的传输效率,其高性能、低延迟、高效率能满足未来强实时嵌入式系统的应用需求。SRIO总线技术主要满足系统内部的互连,可支持芯片间和板间的灵活高效通信,端点和交换器是构成SRIO系统的两类主要器件。端点装置是数据包和接收数据包的发起者和终结者,而数据包在各个端点终端间的路由和传送由交换器负责。
SRIO采用三层分级体系结构,逻辑层规范位于最高层,定义全部协议和包的格式。它们为端点装置发起和完成事务提供必要的信息,逻辑层支持五种规范:存储映像的系统、消息传递、全局共享存储模式、流量控制和数据流,其系统空间可以根据系统规模的大小,灵活地选择为8位或16位的器件ID;传输层规范在中间层,定义SRIO地址空间和在端点器件间传输包所需的路由信息;物理层在整个分级结构的底部,负责描述器件级接口规范,例如分组传输机制、流量控制、电特性以及低级错误管理,物理层包括8位/16位并行接口标准和lx/4x串行接口标准。
以SRIO总线构成的网络需要指定网络中的某一结点作为主机,主机使用SRIO协议中第八类的维护事务首先探测网络中所有网络节点的个数、种类、连接关系、分配网络ID号等,完成整个网络拓扑结构的构造探测;在完成SRIO网络探测后,主机将获得所有节点的个数、种类和各器件间的连接关系;之后主机根据探测网络拓扑图,完成路由路径的最优化,将结果设置到网络中的各个路由器,最终完成整个网络的建立。
SIRO交换系统包括主机装置、多个交换芯片和多个端点装置,主机装置和端点装置分别与交换芯片连接;SIRO交换系统可以为多种嵌入式设备中的SIRO交换系统,嵌入式设备包括背板等,SIRO交换系统可以使用Linux内核、windows内核等作为操作系统。本公开的用于SIRO交换系统的路由配置方法执行于主机装置中。
图1为本公开的用于SIRO交换系统的路由配置方法的一个实施例的流程图,如图1所示的方法包括步骤:S101-S104。下面对各步骤分别进行说明。
S101,对SIRO交换系统进行拓扑探测,获得SIRO交换系统中的全部物理通信路径。
SRIO交换系统中的主机装置也可以是一个端点装置,端点装置具有唯一的标识ID,通过点对点的方式与交换芯片连接,端点装置可以为多种控制器、芯片等,交换芯片也可以为其他交换器。主机设备在系统启动之前,对SIRO交换系统进行拓扑探测。
S102,根据预设的最短路径规则从全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表。最短路径规则可以为多种最短路径规则,互联通信表中存储有最短通信路径等,互联通信表可以存储在主机装置的存储器中。
S103,根据互联通信表对交换芯片和端点装置进行路由配置。可以使用现有的多种方法在SIRO交换系统中进行路由配置。
S104,在进行路由配置后,对SIRO交换系统进行地址空间映射处理。
通过进行地址空间映射处理实现对于SIRO交换系统进行初始化,可以使用现有的地址空间映射处理方法。可以使用现有的多种方法基于路由配置在端点装置进行数据传输。
交换芯片可以为CPS1848交换芯片,交换芯片的路由只需要对该交换芯片的输入端口进行路由配置,可以使用现有的多种配置方法。主机装置、交换芯片和端点装置通过SRIO协议进行通信,SRIO协议的逻辑层采用Direct I/O模式,通过SRIO协议的Direct I/O实现数据的写入等操作。
Direct I/O(加载/存储)模块用于传输Direct I/O包,Direct I/O包包含了目标设备上数据的存储地址和读取地址。Direct I/O需要Direct I/O源设备包含目标设备的本地存储器地址列表。一旦地址列表建立,Direct I/O源控制器就利用这些数据来计算目标地址,并将其插入到header里。Direct I/O目标外设从接收到的包header中提取目标地址,并通过DMA把包传递给存储设备。
在一个实施例中,物理通信路径包括交换通信路径和挂接通信路径等。图2为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的进行拓扑探测的流程图,如图2所示的方法包括步骤:S201-S203。下面对各步骤分别进行说明。
S201,根据预设的遍历规则对SIRO交换系统中的全部交换芯片和全部端点装置进行遍历,获取交换芯片之间的交换通信路径和端点装置与交换芯片之间的挂接通信路径。遍历规则可以为多种,例如为深度优先遍历算法或广度优先遍历算法等。
S202,根据交换通信路径和全部交换芯片生成包含全部交换芯片的系统交换拓扑图,系统交换拓扑图为有向图,系统交换拓扑图中的连接点对应交换芯片,系统交换拓扑图中的边对应交换通信路径。
S203,根据挂接通信路径以及全部交换芯片和全部端点装置生成端点装置与对应的交换芯片的端点挂接关系。
对SIRO交换系统中的全部交换芯片和全部端点装置进行遍历可以使用多种方法。例如,确定与主机装置连接的交换芯片,以此交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索SIRO交换系统中的其他交换芯片。
当搜索到一个交换芯片时,如果与此交换芯片的端口连接的是端点装置,则确定位于此交换芯片与此端点装置之间的挂接通信链路,并为此端点装置设置唯一的ID号;如果与此交换芯片的端口连接的是另一个交换芯片,则以另一个交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索继续搜索,直至确定全部交换芯片和全部端点装置都被搜索后,停止进行搜索。
在一个实施例中,对SIRO交换系统进行拓扑探测和设置路由都依赖于SRIO协议的维护MAINTENANCE事件。对于系统的探测过程是以预设的规则算法遍历系统中所有的交换芯片和挂接在交换芯片上的各个端点装置,建立起各个交换芯片之间的连通关系。
将挂接在交换芯片上的端点装置忽略,将每个交换芯片看成一个节点,将交换芯片之间的连接通道(交换通信路径)看成一条边,形成系统交换拓扑图,如图3所示。在图3中,系统交换拓扑图中的连接点(节点)对应交换芯片,系统交换拓扑图中的边对应交换通信路径,将交换芯片集合看成图的顶点集合V,将交换芯片之间的连接通道(交换通信路径)看成为权重(路径长度)为1的边的集合E,记为有向图G=(V,E),可以将对于SIRO交换系统的探测拓扑过程转化为有向图G=(V,E)的遍历问题。对SIRO交换系统的所有端点装置按照规则分配一个唯一的ID号,深度优先遍历算法或广度优先遍历算法类似于二叉树算法。
例如,遍历算法可以为:以SIRO交换系统中的一个端点装置为主机装置,以主机装置所连接的交换芯片V为出发顶点,首先探测交换芯片V的每个PORT,判断连接在其上的终端为端点装置还是交换芯片,如果是端点装置,则建立端点装置与交换芯片V的关系(端点挂接关系),并且设置端点装置唯一的ID号,如果是交换芯片W,则交换芯片W节点为与交换芯片V相邻的交换芯片,如果交换芯片W是未被探测DISCOVER访问过的顶点,则标记其为DISCOVERED,从交换芯片W开始进行二叉树探索,如果是已经DISCOVERED访问过的交换芯片节点则只建立连接关系。
每当到达一个其所有相邻交换芯片节点都为已被探测访问过的顶点时,从最近所访问的顶点开始依次回退,直至退回到某个顶点。如果有未曾访问过的顶点交换芯片,再从该邻接顶点开始继续进行二叉树搜索遍历。如果出现以下两种情况则终止遍历:所有顶点都已被探测访问,或从任一个已被探测访问过的顶点出发都无法到达未曾探测访问过的顶点交换芯片。
图4为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的生成互联通信表的流程图,如图4所示的方法包括步骤:S401-S404。下面对各步骤分别进行说明。
S401,获取起始端点装置所挂接的第一交换芯片、目的端点装置所挂接的第二交换芯片。
S402,根据最短路径算法并基于约束条件在系统交换拓扑图内确定第一交换芯片与第二交换芯片之间的最短物理路径。最短路径算法包括Dijkstra算法等,约束条件包括经过的交换芯片数最少。
最短路径算法可以为多种算法,例如为Dijkstra算法等,Dijkstra算法又叫狄克斯特拉算法,是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。Dijkstra算法的主要特点是从起始点开始,采用贪心算法的策略,每次遍历到始点距离最近且未访问过的顶点的邻接节点,直到扩展到终点为止。
可以将与系统交换拓扑图中的全部边所对应的长度值都设置为同一值,例如都为1,如图3所示,在系统交换拓扑图中的每两个连接点(节点)之间都分别设置有两条传输方向相反的边(连接通路)。
S403,基于端点挂接关系获取位于起始端点装置和第一交换芯片之间的第一挂接通信路径、位于目的端点装置和第二交换芯片之间的第二挂接通信路径。
S404,将最短物理路径、第一挂接通信路径和第二挂接通信路径进行拼接处理,生成位于起始端点装置和目的端点装置之间的最短通信路径。
在一个实施例中,端点装置之间的通信最短路径互联通信问题可以转换为对有向图G=(V,E)的求最短路径问题。假设端点装置i与端点装置j之间要进行通讯,需寻找两者之间的最短路径,设置互联通信。对SIRO交换系统进行拓扑探测后,建立了端点装置与交换芯片之间的通信路径关系以及交换芯片之间的通信路径关系,则通过端点装置i与端点装置j可以找到其分别连接的交换芯片I和交换芯片J,则交换芯片I和交换芯片J之间的通信最短路径问题就是寻找交换芯片I和交换芯片J之间的最短路径,即是有向图G=(V,E)中的节点I和节点J之间的最短路径。
最短路径选择算法可以为有向图中的Dijkstra最短路径算法等。Dijkstra最短路径算法为:在有向图G=(V,E)中指定交换芯片顶点v,把图中的顶点交换芯片集合V分成两组,以已求出最短路径的顶点集合为第一组,记为S;其余尚未确定最短路径的的顶点集合为第二组。按最短路径长度递增次序逐个地把第二组中的顶点移入S中,直至从指定顶点出发可以到达的顶点都在S中。在这个过程当中,需一直保持从v到S中各顶点的最短路径长度都不大于从v到第二组的任何顶点的最短路径长度。
在一个实施例中,如图5所示,SIRO交换系统包括主机装置、四个交换芯片CPS1848和多个端点装置,主机装置和端点装置分别与交换芯片连接。根据预设的遍历规则对SIRO交换系统中的全部交换芯片和全部端点装置进行遍历,获取交换芯片之间的交换通信路径和端点装置与交换芯片之间的挂接通信路径。交换通信路径为两个交换芯片端口之间的连接通道,挂接通信路径为端点装置的端口与交换芯片端口之间的连接通道。
根据交换通信路径和四个交换芯片CPS1848生成包含四个交换芯片CPS1848的系统交换拓扑图,系统交换拓扑图为有向图,系统交换拓扑图中的连接点对应四个交换芯片CPS1848,系统交换拓扑图中的边对应交换通信路径。根据挂接通信路径以及四个交换芯片CPS1848和全部端点装置生成端点装置与对应的交换芯片的端点挂接关系。
遍历规则为:确定与主机装置连接的交换芯片(节点1),以此交换芯片(节点1)为起始点并采用深度优先遍历算法或广度优先遍历算法搜索SIRO交换系统中的其他交换芯片;当搜索到一个交换芯片时,如果与此交换芯片的端口连接的是端点装置,则确定位于此交换芯片与此端点装置之间的挂接通信链路,并为此端点装置设置唯一的ID号;如果与此交换芯片的端口连接的是另一个交换芯片,则以另一个交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索继续搜索,直至确定全部交换芯片和全部端点装置都被搜索后,停止进行搜索。
选取端点装置1与端点装置2之间的最短通信路径,端点装置1为起始端点装置,端点装置2为目的端点装置。将与系统交换拓扑图中的全部边所对应的长度值都设置为1,获取端点装置1所挂接的第一交换芯片(节点1)、端点装置2所挂接的第二交换芯片(节点3);根据Dijkstra算法并基于约束条件确定第一交换芯片(节点1)与第二交换芯片(节点3)之间的最短物理路径,约束条件包括经过的交换芯片数最少。端点装置1与端点装置2之间的最短物理路径为第一交换芯片(节点1)—第二交换芯片(节点3)。
基于端点挂接关系获取位于端点装置1和第一交换芯片(节点1)之间的第一挂接通信路径、位于端点装置2和第二交换芯片(节点3)之间的第二挂接通信路径;将最短物理路径、第一挂接通信路径和第二挂接通信路径进行拼接处理,生成位于端点装置1和端点装置2之间的最短通信路径。采用相同的方法,选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表。
图6为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的数据传输的流程图,如图6所示的方法包括步骤:S601-S602。下面对各步骤分别进行说明。
S601,根据最短路径算法并基于约束条件在系统交换拓扑图内确定第一交换芯片与第二交换芯片之间的、与最短物理路径不同的其他最短物理路径,作为备用通信路径。最短路径算法包括Dijkstra算法等。
S602,判断最短通信路径是否出现故障,如果是,则分配备用通信路径传输起始端点装置发送到目的端点装置的数据;如果否,则分配最短通信路径传输起始端点装置发送到目的端点装置的数据。
在一个实施例中,如图5所示,根据Dijkstra算法并基于经过的交换芯片数最少的约束条件确定与最短物理路径(端点装置1-节点1—节点3-端点装置2)不同的其他最短物理路径(端点装置1-节点1-节点2-节点3-端点装置2),作为备用通信路径。
可以采用现有的多种方法监控最短物理路径(端点装置1-节点1—节点3-端点装置2)的通信状态。判断最短物理路径(端点装置1-节点1—节点3-端点装置2)是否出现故障,如果是,则分配备用通信路径(端点装置1-节点1-节点2-节点3-端点装置2)传输端点装置1发送到端点装置2的数据;如果否,则分配最短通信路径(端点装置1-节点1—节点3-端点装置2)传输端点装置1发送到端点装置2的数据。
图7为本公开的用于SIRO交换系统的路由配置方法的一个实施例中的罗宇分配的流程图,如图7所示的方法包括步骤:S701-S705。下面对各步骤分别进行说明。
S701,将起始端点装置发送到目标端点装置的数据设置为高优先级数据或普通优先级数据。
S702,统计在单位时间内的高优先级数据和普通优先级数据的数据量。
S703,判断数据量是否大于阈值;如果是,进入S704,如果否,进入S705。
S704,分配备用通信路径传输普通优先级数据,分配最短通信路径传输高优先级数据。
S705,分配最短通信路径传输高优先级数据和普通优先级数据。
在一个实施例中,如图5所示,端点装置1向端点装置2发送多种数据,可以根据数据包的类型,如事务、消息等类型,将数据的优先级设置为高优先级数据或普通优先级数据。可以采用循环遍历访问方式,对SRIO交换系统中的所有交换芯片的端口设置跟踪功能,以对传输的信息包进行记数。
利用交换芯片的数据包跟踪功能,可以采用现有的多种发方法统计在单位时间(单位时间可以为1分钟等)内的高优先级数据和普通优先级数据的数据量,数据量可以为双向数据包的总量等。判断数据量是否大于阈值(阈值可以为1M个等)如果是,则分配备用通信路径(端点装置1-节点1—节点3-端点装置2)传输普通优先级数据,分配最短通信路径(端点装置1-节点1—节点3-端点装置2)传输高优先级数据;如果否,则分配最短通信路径(端点装置1-节点1—节点3-端点装置2)传输高优先级数据和普通优先级数据。
在一个实施例中,依据SIRO协议用于访问SIRO能力寄存器、状态寄存器和数据结构,利用第八类的事务配置,对SIRO交换系统进行拓扑探测、进行路由配置等操作的请求和响应包格式都是现有SIRO协议中的第八类包格式。
第八类维护请求包及其相关的字段包括:字段值0b1000指定包格式是第八类格式,srcTID(SourceTransactionID)和配置偏移量(Config-offset)字段是为写端口请求保留的。交换芯片作为被访问操作的目标,这种情况发生在系统正在配置或重配置时,或发生在系统需要找回交换机的寄存器中所包含的信息时。为了处理这种情况,对维护包定义了一种可选的寻址方式。维护包附加了一个级数字段,该字段规定了网络中交换机SWITCH的数量,维护包会经过从发起处理单元到目标器件的路径。交换机的处理器件一旦接到维护包,就会检查级数字段。如果级数字段位为零,事物的目标就是该交换机;如果级数不为零,交换机将级数减1,并根据目的器件ID字段将包发送出去。
在一个实施例中,配置事务是访问SIRO能力寄存器、状态寄存器和数据结构的维护操作,整个系统的拓扑探测枚举、互联通信信息设置都是依赖于此事务。例如,配置函数包含维护包读写两个函数,函数名,入口参数和返回值如下:
EXPORTLINKAGE
DWORD
TSI721SrioMaintRead(
__inHANDLEhDev,
__inDWORDdwDestId,
__inDWORDdwHopCnt,
__inDWORDdwOffset,
__outPDWORDpData
);
EXPORTLINKAGE
DWORD
TSI721SrioMaintWrite(
__inHANDLEhDev,
__inDWORDdwDestId,
__inDWORDdwHopCnt,
__inDWORDdwOffset,
__inDWORDdwValue
);
可以基于X86处理器及PCIE-SRIO芯片组成的SIRO交换系统的互连系统硬件平台,在此平台上进行了基于Windows操作系统的对SIRO交换系统进行拓扑探测的开发,采用二叉树算法,可以自动探测对SIRO交换系统中的所有的交换芯片和节点,并配置节点之间的互联通信,相对比手动配置互联通信(手工方法逐一确认每个交换芯片的端口和互联关系),可以大大节省互联通信配置时间和正确性,实现SIRO交换系统的自动互联通信配置。
根据SRIO协议,SIRO交换系统上电后,将系统中主机装置器件ID设置为O,其他所有节点的器件ID在最多支持256个节点的SIRO系统中设置为0xFF,在支持65536个结点的大系统中设置为0xFFFF,路由配置流程如下:
1、设置X86 PCIe-Direct I/O桥片ID为O;
函数名为:TSI721SetLocalHostId(HANDLEhDev,doubleworddestId);
2、进行拓扑探测,探寻连接交换芯片的端点装置,构造网络拓扑图:判断是否已经枚举过;读取设备属性,针对交换芯片和端点装置分别处理;针对交换芯片,扫描第一个有链接的端口,然后进入下一级;针对SRIO节点,设置从主机装置到该外设节点之间的路由;递归调用深度优先函数(二叉树函数),直到扫描出SRIO网络中所有的交换芯片和节点;最短路径选择,设置SWITCHTsi578互联通信表。
通过对所述SIRO交换系统进行拓扑探测,使用根据最短路径算法选取各个端点装置两两之间的最短通信路径,生成互联通信表,进行路由配置。
示例性装置
在一个实施例中,如图8所示,本公开提供一种用于SIRO交换系统的路由配置装置,SIRO交换系统包括主机装置、多个交换芯片和多个端点装置,主机装置和端点装置分别与交换芯片连接。路由配置装置应用于主机装置中,包括:路径探测模块801、路由选取模块802、路由配置模块803和系统初始化模块804。
路径探测模块801对SIRO交换系统进行拓扑探测,获得SIRO交换系统中的全部物理通信路径。路由选取模块802根据预设的最短路径规则从全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表。路由配置模块803根据互联通信表对交换芯片和端点装置进行路由配置。系统初始化模块804在进行路由配置后,对SIRO交换系统进行地址空间映射处理。
在一个实施例中,物理通信路径包括交换通信路径和挂接通信路径;如图9所示,路径探测模块801包括:系统遍历单元8011、拓扑图生成单元8012和挂接关系生成单元8013。
系统遍历单元8011根据预设的遍历规则对SIRO交换系统中的全部交换芯片和全部端点装置进行遍历,获取交换芯片之间的交换通信路径和端点装置与交换芯片之间的挂接通信路径。拓扑图生成单元8012根据交换通信路径和全部交换芯片生成包含全部交换芯片的系统交换拓扑图;其中,系统交换拓扑图为有向图,系统交换拓扑图中的连接点对应交换芯片,系统交换拓扑图中的边对应交换通信路径。挂接关系生成单元8013根据挂接通信路径以及全部交换芯片和全部端点装置生成端点装置与对应的交换芯片的端点挂接关系。
系统遍历单元8011确定与主机装置连接的交换芯片,以此交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索SIRO交换系统中的其他交换芯片。当搜索到一个交换芯片时,如果与此交换芯片的端口连接的是端点装置,则系统遍历单元8011确定位于此交换芯片与此端点装置之间的挂接通信链路,并为此端点装置设置唯一的ID号;如果与此交换芯片的端口连接的是另一个交换芯片,则系统遍历单元8011以另一个交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索继续搜索,直至确定全部交换芯片和全部端点装置都被搜索后,停止进行搜索。
在一个实施例中,如图10所示,路由选取模块802包括交换路径获取单元8021、挂接路径获取单元8022和最短路径获取单元8023。交换路径获取单元8021获取起始端点装置所挂接的第一交换芯片、目的端点装置所挂接的第二交换芯片。交换路径获取单元8021根据最短路径算法并基于约束条件在系统交换拓扑图内确定第一交换芯片与第二交换芯片之间的最短物理路径,最短路径算法包括:Dijkstra算法;约束条件包括经过的交换芯片数最少等。
挂接路径获取单元8022基于端点挂接关系获取位于起始端点装置和第一交换芯片之间的第一挂接通信路径、位于目的端点装置和第二交换芯片之间的第二挂接通信路径。最短路径获取单元8023将最短物理路径、第一挂接通信路径和第二挂接通信路径进行拼接处理,生成位于起始端点装置和目的端点装置之间的最短通信路径。最短路径获取单元8023将与系统交换拓扑图中的全部边所对应的长度值都设置为同一值,其中,在系统交换拓扑图中的每两个连接点之间都分别设置有两条传输方向相反的边。
在一个实施例中,最短路径获取单元8023根据最短路径算法并基于约束条件在系统交换拓扑图内确定第一交换芯片与第二交换芯片之间的、与最短物理路径不同的其他最短物理路径,作为备用通信路径。
如图11所示,路由分配模块805判断最短通信路径是否出现故障,如果是,则路由分配模块805分配备用通信路径传输起始端点装置发送到目的端点装置的数据;如果否,则路由分配模块805分配最短通信路径传输起始端点装置发送到目的端点装置的数据。
路由分配模块805将起始端点装置发送到目标端点装置的数据设置为高优先级数据或普通优先级数据,统计在单位时间内的高优先级数据和普通优先级数据的数据量。路由分配模块805判断数据量是否大于阈值;如果是,则路由分配模块805分配备用通信路径传输普通优先级数据,分配最短通信路径传输高优先级数据;如果否,则路由分配模块805分配最短通信路径传输高优先级数据和普通优先级数据。
在一个实施例中,本公开提供一种SIRO交换系统,包括主机装置、多个交换芯片和多个端点装置,主机装置和端点装置分别与交换芯片连接;其中,主机装置包括如上任一实施例中的用于SIRO交换系统的路由配置装置。
图12是本公开的电子设备的一个实施例的结构图,如图12所示,电子设备121包括一个或多个处理器1211和存储器1212。
处理器1211可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备121中的其他组件以执行期望的功能。
存储器1212可以包括一个或多个计算机程序产品,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器,例如,可以包括:随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器,例如,可以包括:只读存储器(ROM)、硬盘以及闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1211可以运行程序指令,以实现上文的本公开的各个实施例的用于SIRO交换系统的路由配置方法以及/或者其他期望的功能。在计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备121还可以包括:输入装置1213以及输出装置1214等,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。此外,该输入设备1213还可以包括例如键盘、鼠标等等。该输出装置1214可以向外部输出各种信息。该输出设备1214可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图12中仅示出了该电子设备121中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备121还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,计算机程序指令在被处理器运行时使得处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于SIRO交换系统的路由配置方法中的步骤。
计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于SIRO交换系统的路由配置方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列举)可以包括:具有一个或者多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势以及效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
上述实施例中的用于SIRO交换系统的路由配置方法、装置以及电子设备、存储介质,可以对SIRO交换系统中的所有的交换芯片和端点装置进行自动探测,根据最短路径规则确定位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表,根据所述互联通信表进行路由配置;通过自动配置互联通信表,可以节省互联通信配置时间,提高路由配置的工作效率配置以及正确性,并能够减少通信的时延,提高传输的实时性;通过设置主、备用最短通信路径,可以提高数据传输的安全性和可靠性。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述,以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改等对于本领域技术人员而言,是非常显而易见的,并且在此定义的一般原理可以应用于其他方面,而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式中。尽管以上已经讨论了多个示例方面以及实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种用于SIRO交换系统的路由配置方法,其中,SIRO交换系统包括:主机装置、多个交换芯片和多个端点装置,所述主机装置和所述端点装置分别与所述交换芯片连接;所述路由配置方法执行于所述主机装置中,包括:
对所述SIRO交换系统进行拓扑探测,获得所述SIRO交换系统中的全部物理通信路径;
根据预设的最短路径规则从所述全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表;
根据所述互联通信表对所述交换芯片和所述端点装置进行路由配置;
在进行路由配置后,对所述SIRO交换系统进行地址空间映射处理。
2.如权利要求1所述的方法,其中,所述物理通信路径包括:交换通信路径和挂接通信路径;所述对所述SIRO交换系统进行拓扑探测,获得所述SIRO交换系统中的全部物理通信路径包括:
根据预设的遍历规则对所述SIRO交换系统中的全部交换芯片和全部端点装置进行遍历,获取所述交换芯片之间的交换通信路径和所述端点装置与所述交换芯片之间的挂接通信路径;
根据所述交换通信路径和所述全部交换芯片生成包含全部交换芯片的系统交换拓扑图;其中,所述系统交换拓扑图为有向图,所述系统交换拓扑图中的连接点对应所述交换芯片,所述系统交换拓扑图中的边对应所述交换通信路径;
根据所述挂接通信路径以及所述全部交换芯片和所述全部端点装置生成所述端点装置与对应的交换芯片的端点挂接关系。
3.如权利要求2所述的方法,其中,所述根据预设的遍历规则对所述SIRO交换系统中的全部交换芯片和全部端点装置进行遍历包括:
确定与所述主机装置连接的交换芯片,以此交换芯片为起始点并采用深度优先遍历算法或广度优先遍历算法搜索所述SIRO交换系统中的其他交换芯片;
当搜索到一个交换芯片时,如果与此交换芯片的端口连接的是所述端点装置,则确定位于此交换芯片与此端点装置之间的挂接通信链路,并为此端点装置设置唯一的ID号;如果与此交换芯片的端口连接的是另一个交换芯片,则以所述另一个交换芯片为起始点并采用所述深度优先遍历算法或所述广度优先遍历算法搜索继续搜索,直至确定全部交换芯片和全部端点装置都被搜索后,停止进行搜索。
4.如权利要求3所述的方法,所述根据预设的最短路径规则从所述全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表包括:
获取起始端点装置所挂接的第一交换芯片、目的端点装置所挂接的第二交换芯片;
根据最短路径算法并基于约束条件在所述系统交换拓扑图内确定所述第一交换芯片与所述第二交换芯片之间的最短物理路径;其中,所述最短路径算法包括:Dijkstra算法;约束条件包括:经过的交换芯片数最少;
基于所述端点挂接关系获取位于所述起始端点装置和所述第一交换芯片之间的第一挂接通信路径、位于所述目的端点装置和所述第二交换芯片之间的第二挂接通信路径;
将所述最短物理路径、所述第一挂接通信路径和所述第二挂接通信路径进行拼接处理,生成位于所述起始端点装置和所述目的端点装置之间的所述最短通信路径。
5.如权利要求4所述的方法,其中,
将与所述系统交换拓扑图中的全部边所对应的长度值都设置为同一值;
其中,在所述系统交换拓扑图中的每两个连接点之间都分别设置有两条传输方向相反的边。
6.如权利要求4所述的方法,还包括:
根据所述最短路径算法并基于所述约束条件在所述系统交换拓扑图内确定所述第一交换芯片与所述第二交换芯片之间的、与所述最短物理路径不同的其他最短物理路径,作为备用通信路径;
判断所述最短通信路径是否出现故障,如果是,则分配所述备用通信路径传输所述起始端点装置发送到所述目的端点装置的数据;如果否,则分配所述最短通信路径传输所述起始端点装置发送到所述目的端点装置的数据。
7.一种用于SIRO交换系统的路由配置装置,其中,SIRO交换系统包括:主机装置、多个交换芯片和多个端点装置,所述主机装置和所述端点装置分别与所述交换芯片连接;所述路由配置装置应用于所述主机装置中,包括:
路径探测模块,用于对所述SIRO交换系统进行拓扑探测,获得所述SIRO交换系统中的全部物理通信路径;
路由选取模块,用于根据预设的最短路径规则从所述全部物理通信路径中选取位于每个端点装置与其他端点装置之间的最短通信路径,生成互联通信表;
路由配置模块,用于根据所述互联通信表对所述交换芯片和所述端点装置进行路由配置;
系统初始化模块,用于在进行路由配置后,对所述SIRO交换系统进行地址空间映射处理。
8.一种SIRO交换系统,包括:
主机装置、多个交换芯片和多个端点装置,所述主机装置和所述端点装置分别与所述交换芯片连接;其中,所述主机装置包括:如权利要求7所述的用于SIRO交换系统的路由配置装置。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-6任一项所述的方法。
10.一种电子设备,所述电子设备包括:
处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-6任一项所述的方法。
CN202010289623.0A 2020-04-14 2020-04-14 用于siro交换系统的路由配置方法、装置以及介质 Active CN111490948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010289623.0A CN111490948B (zh) 2020-04-14 2020-04-14 用于siro交换系统的路由配置方法、装置以及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010289623.0A CN111490948B (zh) 2020-04-14 2020-04-14 用于siro交换系统的路由配置方法、装置以及介质

Publications (2)

Publication Number Publication Date
CN111490948A true CN111490948A (zh) 2020-08-04
CN111490948B CN111490948B (zh) 2022-06-28

Family

ID=71811730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010289623.0A Active CN111490948B (zh) 2020-04-14 2020-04-14 用于siro交换系统的路由配置方法、装置以及介质

Country Status (1)

Country Link
CN (1) CN111490948B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112019389A (zh) * 2020-09-09 2020-12-01 中国航空工业集团公司雷华电子技术研究所 拓扑系统配置方法、装置、设备及介质
CN112039703A (zh) * 2020-08-28 2020-12-04 迈普通信技术股份有限公司 路径确定方法、装置、设备及可读存储介质
CN112104484A (zh) * 2020-08-14 2020-12-18 陕西千山航空电子有限责任公司 一种基于srio总线的网络结构
CN112737867A (zh) * 2021-02-10 2021-04-30 西南电子技术研究所(中国电子科技集团公司第十研究所) 集群rio网络管理方法
CN113806270A (zh) * 2021-09-23 2021-12-17 北京润科通用技术有限公司 RapidIO网络的路径规划方法、装置、电子设备及存储介质
CN114363188A (zh) * 2021-11-26 2022-04-15 中国航空无线电电子研究所 一种网络动态搜索及路由配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093827A (en) * 1989-09-21 1992-03-03 At&T Bell Laboratories Control architecture of a multi-node circuit- and packet-switching system
CN103746910A (zh) * 2013-11-28 2014-04-23 苏州长风航空电子有限公司 一种RapidIO网络递归枚举方法
CN109218231A (zh) * 2018-09-21 2019-01-15 中国航空无线电电子研究所 一种RapidIO交换网络
CN110380962A (zh) * 2019-07-18 2019-10-25 北京国科环宇科技股份有限公司 一种在srio的交换系统中配置路由的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093827A (en) * 1989-09-21 1992-03-03 At&T Bell Laboratories Control architecture of a multi-node circuit- and packet-switching system
CN103746910A (zh) * 2013-11-28 2014-04-23 苏州长风航空电子有限公司 一种RapidIO网络递归枚举方法
CN109218231A (zh) * 2018-09-21 2019-01-15 中国航空无线电电子研究所 一种RapidIO交换网络
CN110380962A (zh) * 2019-07-18 2019-10-25 北京国科环宇科技股份有限公司 一种在srio的交换系统中配置路由的方法及装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104484A (zh) * 2020-08-14 2020-12-18 陕西千山航空电子有限责任公司 一种基于srio总线的网络结构
CN112039703A (zh) * 2020-08-28 2020-12-04 迈普通信技术股份有限公司 路径确定方法、装置、设备及可读存储介质
CN112039703B (zh) * 2020-08-28 2022-04-22 迈普通信技术股份有限公司 路径确定方法、装置、设备及可读存储介质
CN112019389A (zh) * 2020-09-09 2020-12-01 中国航空工业集团公司雷华电子技术研究所 拓扑系统配置方法、装置、设备及介质
CN112737867A (zh) * 2021-02-10 2021-04-30 西南电子技术研究所(中国电子科技集团公司第十研究所) 集群rio网络管理方法
CN113806270A (zh) * 2021-09-23 2021-12-17 北京润科通用技术有限公司 RapidIO网络的路径规划方法、装置、电子设备及存储介质
CN113806270B (zh) * 2021-09-23 2023-10-20 北京润科通用技术有限公司 RapidIO网络的路径规划方法、装置、电子设备及存储介质
CN114363188A (zh) * 2021-11-26 2022-04-15 中国航空无线电电子研究所 一种网络动态搜索及路由配置方法

Also Published As

Publication number Publication date
CN111490948B (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
CN111490948B (zh) 用于siro交换系统的路由配置方法、装置以及介质
US7907604B2 (en) Creation and management of routing table for PCI bus address based routing with integrated DID
US9009648B2 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
US20140310393A1 (en) Virtual Network and Management Method of Virtual Network
US20070136458A1 (en) Creation and management of ATPT in switches of multi-host PCI topologies
US9712427B1 (en) Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US20090198956A1 (en) System and Method for Data Processing Using a Low-Cost Two-Tier Full-Graph Interconnect Architecture
US7307962B2 (en) System for inference of presence of network infrastructure devices
TW200818821A (en) Optimisation of the selection of storage device ports
KR20060015324A (ko) 트리 기반 메모리 구조
US10348612B2 (en) Set up of direct mapped routers located across independently managed compute and storage networks
CN114691599A (zh) 使用性能约束和目标的片上网络(NoC)的合成
US20150067695A1 (en) Information processing system and graph processing method
JP2008228150A (ja) スイッチ装置及びフレーム交換方法とそのプログラム
CN110380962B (zh) 一种在srio的交换系统中配置路由的方法及装置
CN110932981B (zh) 一种支持自动路由的数据交换系统
WO2014086193A1 (en) Data flow affinity for heterogenous virtual machines
US9232000B1 (en) Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server
US9942174B2 (en) Bus control device, relay device, and bus system
CN108881506A (zh) 一种基于多可用分区az的域名解析方法及装置
WO2024103690A1 (zh) 一种数据请求方法、装置、设备及非易失性可读存储介质
US20230161726A1 (en) Multiprocessor System and Method for Configuring Multiprocessor System
US9237057B1 (en) Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain
JP2006157285A (ja) サーバ装置
US9509797B1 (en) Client communication over fibre channel using a block device access model

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant