分布式运算系统、PCIe装置及生成互联拓扑结构信息的方法与流程
- 国知局
- 2024-07-31 23:11:24
本公开涉及一种分布式运算系统、pcie装置及生成互联拓扑结构信息的方法。
背景技术:
1、分布式运算系统的多个运算装置之间通常采用扣板或者通用基板(universalbase board, ubb)进行互联。值得注意的是,不同扣板或者ubb对应的互联拓扑是不同,因此主控端需要根据实际物理连接方式来进行适配,才能生成多卡互联拓扑结构的信息。然而,由于存在多类扣板或者ubb,传统的分布式运算系统往往需要通过人工的方式进行较多的适配工作。
2、另外,当多个运算装置之间临时改变互联设定时,例如链路速度或链路带宽,传统的分布式运算系统由于通过复杂的适配方式来生成多卡互联拓扑结构,因此互联设定往往需要较多的耗时来实现。
技术实现思路
1、本公开是针对一种分布式运算系统、pcie装置及生成互联拓扑结构信息的方法,可有效地生成互联拓扑结构信息。
2、根据本公开的实施例,本公开的分布式运算系统包括多个pcie装置以及主控装置。多个pcie装置分别包括多个端口。主控装置耦接所述多个pcie装置,并且用以建立所述多个pcie装置的所述多个端口之间的点对点链路。所述多个端口的第一部分操作在根端口模式,并且所述多个端口的第二部分操作在终端模式。所述主控装置将对应的根端口装置识别码以及对应的根端口识别码分别输入至所述多个端口的所述第一部分,并且所述多个端口的所述第一部分分别输出所述对应的根端口装置识别码以及所述对应的根端口识别码至所述多个端口的所述第二部分。多个端口的第一部分与多个端口的第二部分位于不同pcie装置。所述主控装置通过读取所述多个端口的所述第二部分来取得多个链路对信息,以生成互联拓扑结构信息。所述多个链路对信息的每一个包括所述对应的根端口装置识别码、所述对应的根端口识别码、对应的终端装置识别码以及对应的终端端口识别码。
3、在上述实施例中,所述多个pcie装置分别包括对应于所述多个端口的多个根端口电路以及多个终端端口电路。所述多个根端口电路的至少其中之一用于存储所述对应的根端口装置识别码以及所述对应的根端口识别码,并且所述多个终端端口电路的至少其中之一用于存储所述对应的终端装置识别码以及所述对应的终端端口识别码。
4、在上述实施例中,所述多个根端口电路分别包括第一寄存器以及触发器。所述第一寄存器用以存储所述对应的根端口装置识别码以及所述对应的根端口识别码,并且所述触发器用以决定是否输出所述对应的根端口装置识别码以及所述对应的根端口识别码。
5、在上述实施例中,所述多个终端端口电路分别包括第二寄存器。所述第二寄存器用以存储所述对应的根端口装置识别码以及所述对应的根端口识别码。
6、在上述实施例中,响应于所述主控装置判断所述多个端口的所述第一部分操作在所述根端口模式,所述主控装置将所述对应的根端口装置识别码以及所述对应的根端口识别码写入至对应端口的所述第一寄存器,并且触发所述对应端口,以将所述对应的根端口装置识别码以及所述对应的根端口识别码写入至所述对端端口的所述第二寄存器。
7、在上述实施例中,响应于所述主控装置判断所述多个端口的所述第二部分操作在终端模式,所述主控装置记录当前的终端装置识别码以及当前的终端端口识别码至初始列表。
8、在上述实施例中,所述主控装置根据所述初始列表依序读取所述多个对应端口的所述第二寄存器,以取得多个链路对信息,并且生成互联拓扑结构信息。
9、在上述实施例中,所述主控装置更新所述多个pcie装置的所述多个端口分别的第一寄存器的数值为对应的装置识别码以及对应的端口识别码。所述主控装置初始化所述多个pcie装置之间的点对点链路设定,并且进行链路训练。
10、在上述实施例中,所述主控装置枚举所述多个pcie装置,以获取所述多个pcie装置的多个地址,并且所述主控装置将所述多个地址的数据作为装置识别码的低比特位元的数据。
11、在上述实施例中,所述装置识别码的高比特位元的数据包括所述主控装置的主控装置地址的数据。
12、根据本公开的实施例,本公开的pcie装置包括多个端口、多个根端口电路以及多个终端端口电路。所述根端口电路耦接所述多个端口。所述终端端口电路耦接所述多个端口。响应于所述多个端口的至少其中之一操作在根端口模式,所述多个端口的至少其中之一接收由主控装置提供的对应于所述pcie装置的根端口装置识别码以及根端口识别码,并且将对应于所述pcie装置的所述根端口装置识别码以及所述对应的根端口识别码存储至所述多个根端口电路的至少其中之一。响应于所述多个端口的至少其中之一操作在终端端口模式,所述多个端口的至少其中之一接收对应于另一pcie装置的根端口装置识别码以及根端口识别码,并且将对应于所述另一pcie装置的根端口装置识别码以及所述根端口识别码存储至所述多个终端端口电路的至少其中之一。
13、根据本公开的实施例,本公开的生成互联拓扑结构信息的方法包括以下步骤:建立多个pcie装置的多个端口之间的点对点链路;将对应的根端口装置识别码以及对应的根端口识别码分别输入至所述多个端口的第一部分,其中所述多个端口的所述第一部分操作在根端口模式;通过所述多个端口的所述第一部分分别输出所述对应的根端口装置识别码以及所述对应的根端口识别码至所述多个端口的第二部分,其中所述多个端口的所述第二部分操作在终端模式,并且所述多个端口的所述第一部分与所述多个端口的所述第二部分位于不同pcie装置;以及读取所述多个端口的所述第二部分来取得多个链路对信息,以生成所述互联拓扑结构信息;其中,所述多个链路对信息的每一个包括所述对应的根端口装置识别码、所述对应的根端口识别码、对应的终端装置识别码以及对应的终端端口识别码。
14、在上述实施例中,所述多个pcie装置分别包括对应于所述多个端口的多个根端口电路以及多个终端端口电路;
15、在上述实施例中,所述多个根端口电路的至少其中之一用于存储所述对应的根端口装置识别码以及所述对应的根端口识别码,并且所述多个终端端口电路的至少其中之一用于存储所述对应的终端装置识别码以及所述对应的终端端口识别码。
16、在上述实施例中,所述多个根端口电路分别包括第一寄存器以及触发器。所述第一寄存器用以存储所述对应的根端口装置识别码以及所述对应的根端口识别码,并且所述触发器用以决定是否输出所述对应的根端口装置识别码以及所述对应的根端口识别码。
17、在上述实施例中,所述多个终端端口电路分别包括第二寄存器。所述第二寄存器用以存储所述对应的根端口装置识别码以及所述对应的根端口识别码。
18、在上述实施例中,将所述对应的根端口装置识别码以及所述对应的根端口识别码分别输入至所述多个端口的第一部分的步骤包括:响应于所述多个端口的所述第一部分操作在所述根端口模式,将所述对应的根端口装置识别码以及所述对应的根端口识别码写入至对应端口的所述第一寄存器。通过所述多个端口的所述第一部分分别输出所述对应的根端口装置识别码以及所述对应的根端口识别码至所述多个端口的第二部分的步骤包括:触发所述对应端口,以将所述对应的根端口装置识别码以及所述对应的根端口识别码写入至对端端口的所述第二寄存器。
19、在上述实施例中,生成互联拓扑结构信息的方法还包括以下步骤:响应于主控装置判断所述多个端口的所述第二部分操作在终端模式,记录当前的终端装置识别码以及当前的终端端口识别码至初始列表。
20、在上述实施例中,生成所述互联拓扑结构信息的步骤包括:根据所述初始列表依序读取多个对应端口的所述第二寄存器,以取得多个链路对信息,并且生成互联拓扑结构信息。
21、在上述实施例中,所述主控装置耦接所述多个pcie装置,并且用以建立所述多个pcie装置的所述多个端口之间的点对点链路。
22、在上述实施例中,生成互联拓扑结构信息的方法还包括:更新所述多个pcie装置的所述多个端口分别的第一寄存器的数值为对应的装置识别码以及对应的端口识别码;以及初始化所述多个pcie装置之间的点对点链路设定,并且进行链路训练。
23、在上述实施例中,生成互联拓扑结构信息的方法还包括:枚举所述多个pcie装置,以获取所述多个pcie装置的多个地址,并且主控装置将所述多个地址的数据作为装置识别码的低比特位元的数据;其中,所述主控装置耦接所述多个pcie装置,并且用以建立所述多个pcie装置的所述多个端口之间的点对点链路。
24、基于上述,本公开的分布式运算系统、pcie装置及生成互联拓扑结构信息的方法,可以高效地生成多个pcie装置的多个端口之间的互联拓扑结构信息。
25、通过参考以下的详细描述并同时结合附图可以理解本公开,须注意的是,为了使读者能容易了解及为了附图的简洁,本公开中的多张附图只绘出显示设备的一部分,且附图中的特定组件并非依照实际比例绘图。此外,图中各组件的数量及尺寸仅作为示意,并非用来限制本公开的范围。
本文地址:https://www.jishuxx.com/zhuanli/20240730/196308.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表