一种多根CPU下的PCIe交换芯片上、下游端口路由表构建方法技术

技术编号:32884657 阅读:32 留言:0更新日期:2022-04-02 12:19
本发明专利技术提供了一种多根CPU下的PCIe交换芯片上、下游游端口路由表构建方法,用于构建上、下游端口路由表,所述PCIe芯片被划分为多个虚拟交换机,每一个虚拟交换机配置有唯一的虚拟机交换标识,每个虚拟交换机均包括一个上游端口和多个下游端口,其中,上游端口路由表构建方法包括:在每个虚拟交换机的上游端口重复执行如下步骤直至完成上游端口到当前虚拟交换机下的所有下游端口的路由表项构建:S1、上游端口捕获与其相连的操作系统下发的包含当前上游端口所属虚拟交换机标识的且与下游端口路由相关的配置包;S2、解析所述配置包中与路由相关的信息并根据解析到的路由相关信息构建当前虚拟交换机下的上游端口路由表项。建当前虚拟交换机下的上游端口路由表项。建当前虚拟交换机下的上游端口路由表项。

【技术实现步骤摘要】
一种多根CPU下的PCIe交换芯片上、下游端口路由表构建方法


[0001]本专利技术涉及通信
,具体来说,涉及支持PCIe协议的数据通信,更具体地说,涉及一种支持PCIe协议的多根CPU下的PCIe交换芯片上、下游端口路由表构建方法及系统。

技术介绍

[0002]随着科技的发展和进步,互联网业务变得更加丰富多样,业务需求也在持续增长,例如大数据、人工智能、图像计算等应用,它们对存储设备、智能加速卡等I/O设备的需求不断增长,其中,数据爆炸式增长使得对存储设备的需求量极速增加,人工智能等领域为加速模型训练要求有更多的专用加速卡。存储设备(NVMe SSD等)、加速卡(NVIDIA GPU、寒武纪思元智能加速卡等)都支持通用的I/O互连协议即PCIe协议,但是主机主板的PCIe扩展插槽有限,限制设备的可扩展性,影响应用的性能。因此,需要通过PCIe交换芯片进行拓展。在这基础上,随着多核处理器系统发展得越来越普遍,尤其是在高性能计算中,过去通常只有一个CPU与PCIe芯片相连,但如今出现了多个CPU通过多个根复合体与一个PCIe交换芯片相连的情本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种多根CPU下的PCIe交换芯片上游端口路由表构建方法,所述PCIe芯片被划分为多个虚拟交换机,每一个虚拟交换机配置有唯一的虚拟机交换标识,其特征在于,对于每一个虚拟交换机,所述方法包括:S1、上游端口捕获与其相连的操作系统下发的包含当前上游端口所属虚拟交换机标识的且与下游端口路由相关的配置包;S2、解析所述配置包中与路由相关的信息并根据解析到的路由相关信息构建所述虚拟交换机下的上游端口路由表项,其中,所述上游端口路由表项中至少包括所述虚拟交换机标识、下游端口设备号信息以及与每一个下游端口设备号对应的路由信息。2.根据权利要求1所述的方法,其特征在于,所述上游端口路由表项为:地址路由表项、和/或ID路由表项、和/或隐式路由表项、和/或组播表项。3.根据权利要求2所述的方法,其特征在于,所述地址路由表项为:IO地址空间路由表项、和/或可预取内存地址空间路由表项、和/或非预取内存地址空间路由表项;其中,IO地址空间路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的IO地址空间范围;可预取内存地址空间路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的可预取内存地址空间范围;非预取内存地址空间路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的非预取内存地址空间范围。4.根据权利要求2所述的方法,其特征在于,所述ID路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的BUS号范围。5.一种用于多根CPU下的PCIe交换芯片的数据转发方法,所述PCIe芯片被划分为多个虚拟交换机,每一个虚拟交换机配置有唯一的虚拟机交换标识,其中,每一个虚拟交换机的上游端口包括如权利要求1

4任一所述方法配置的上游端口路由表,所述方法包括:T1、上游端口接收来自于与其相连的操作系统下发的数据包;T2、基于步骤T1中接收到的数据包中的目的信息以及虚拟交换机标识在上游端口路由表中查找与数据包目的信息以及虚拟交换机标识对应的目的下游端口;T3、将数据包转发给步骤T2获得的对应虚拟交换机的目的下游端口。6.一种多根CPU下的PCIe交换芯片上游端口路由表系统,其特征在于,所述上游端口路由表系统包括:配置模块,用于将PCIe芯片划分为多个虚拟交换机,确定每个虚拟交换机中上游和下游的连接关系并为每个虚拟交换机配置唯一标识,其中,同一个虚拟交换机下的上游和下游端口共用相同的标识;多个上游端口路由表单元,其中,每个上游端口路由表单元均包括:上游端口配置包解析模块,用于捕获包含当前上游端口所属虚拟交换机标识的且与下游端口路由相关的配置包,解析配置包以提取与配置下游端口路由相关的信息并发送给上游端口路由表构建模块;上游端口路由表构建模块,用于接收上游端口配置包解析模块提取到的信息并构建上游端口路由表项,其中,所述上游端口路由表项至少包括当前上游端口所属虚拟交换机标识、下游端口设备号信息以及与每一个下游端口设备号对应的路由信息;
上游端口路由表存储模块,用于存储上游端口路由表构建模块构建好的上游端口路由表。7.根据权利要求6所述的上游端口路由表系统,其特征在于,所述上游端口路由表系统中的每个上游端口路由表单元还包括:上游端口路由查找模块,用于根据上游端口接收到的操作系统发出的数据包中的目的信息以及虚拟交换机标识在上游端口路由表中查找与数据包目的信息以及虚拟交换机标识对应的目的下游端口并进行路由。8.一种多根CPU下的PCIe交换芯片下游端口路由表构建方法,所述PCIe芯片被划分为多个虚拟交换机,每一个虚拟交换机配置有唯一的虚拟机交换标识,其特征在于,对于每一个虚拟交换机,所述方法包括:P1、下游端口接收其所属虚拟交换机的上游端口捕获的操作系统下发的包含当前下游端口所属虚拟交换机标识的且与下游端口路由相关的配置包;P2、解析所述配置包中与路由相关的信息并根据解析到的路由相关的信息构建所述虚拟交换机下的下游端口路由表项,其中,所述下游端口路由表项中至少包括所述虚拟交换机标识、下游端口设备号信息以及与每一个下游端口设备号对应的路由信息。9.根据权利要求8所述的方法,其特征在于,所述下游端口路由表项为:地址路由表项、和/或ID路由表项、和/或隐式路由表项、和/或组播表项。10.根据权利要求9所述的方法,其特征在于,所述地址路由表项为:IO地址空间路由表项、和/或可预取内存地址空间路由表项、和/或非预取内存地址空间路由表项;其中,IO地址空间路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的IO地址空间范围;可预取内存地址空间路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的可预取内存地址空间范围;非预取内存地址空间路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的非预取内存地址空间范围。11.根据权利要求9所述的方法,其特征在于,所述ID路由表项至少包括:虚拟交换机标识、下游端口设备号以及与下游端口设备号对应的BUS号范围。12.一种用于多根CPU下的PCIe交换芯片的数据转发方法,所述PCIe芯片被划分为多个虚拟交换机,每一个虚拟交换机配置有唯一的虚拟机交换标识,其中,每一个虚拟交换机的下游端口包括如权利要求8
‑...

【专利技术属性】
技术研发人员:许晶王展元国军李剑雄谭光明孙凝晖
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1