一种网卡配置方法及资源管理中心的制作方法

文档序号:9756860阅读:799来源:国知局
一种网卡配置方法及资源管理中心的制作方法
【技术领域】
[0001]本发明涉及多核处理器领域,尤其涉及一种网卡配置方法及资源管理中心。
【背景技术】
[0002]目前,为了提高多核处理器的并行计算能力以及该多核处理器的性能,技术人员提出了众核解親的概念,即通过将多核计算机系统中的内存、输入输出(Input/Output,简称10)设备等硬件设备的解耦,形成各自管理硬件的网络,从而使得该多核计算机系统的尚性能计算能力得到有效的提尚。
[0003]现在常用的一种典型的基于众核解耦的多核处理器系统,是由集成有多个中央处理器(Central Processing Unit,简称CPU)的CPU板、集成了各种1设备的设备板、以及用于管理该系统中的所有硬件资源的资源管理中心等分离部件组成。其中,上述的CPU板上通常接入多个CPU(上千个CPU内核(core)),可以同时运行多个操作系统(OperatingSystem,简称OS)。而上述设备板中集成的1设备中包括多个多队列网卡,每个多队列网卡中包含多个硬件队列。由于多队列网卡可以通过多队列网卡驱动的支持,将各个硬件队列通过中断绑定到不同的CPU core上,因此,当上述的CPU板中的某一操作系统需要网络服务时,该资源管理中心会为该操作系统分配部分CPU core以及对应的多队列网卡,使得该多队列网卡与该操作系统对应的CPU core绑定,从而提高网卡带宽的利用率。
[0004]但是,发明人发现,在众核解耦架构下,资源管理中心在为操作系统配置对应的多队列网卡后,该操作系统便无法察觉到外部的其他多队列网卡,而该操作系统对应的CPUcore也会与该多队列网卡中的两个收发硬件队列进行绑定,同时由于不同的多队列网卡所属的网段不同,因此,每个CPU core都只能处理与之绑定的多队列网卡及其对应的网段的数据。

【发明内容】

[0005]本发明的实施例提供一种网卡配置方法及资源管理中心,解决了现有技术中基于众核解耦的多核处理器系统无法跨网卡、跨网段处理数据的问题。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种网卡配置方法,应用于多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一 CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,所述方法包括:
[0008]所述资源管理中心获取第一 CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
[0009]基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡;
[0010]分别从每个目标物理网卡中选择至少一个目标硬件队列;
[0011]向所述网卡控制器发送指令消息,其中,所述指令消息用于指示所述网卡控制器将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一 CPU内核进行绑定,所述指令消息中包含每个目标硬件队列的队列标识ID ;
[0012]接收所述网卡控制器根据所述每个目标硬件队列的队列标识ID所反馈的所述目标硬件队列的队列信息;
[0013]发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息,所述指示消息用于指示所述CPU板中的CPU控制器根据所述网卡信息和所述目标硬件队列的队列信息生成能够为所述操作系统提供所述网络服务的虚拟网卡。
[0014]在第一方面的第一种可能的实现方式中,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
[0015]根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡具体包括:
[0016]基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
[0017]结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述分别从每个目标物理网卡中选择至少一个目标硬件队列具体包括:
[0018]根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
[0019]根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID0
[0020]结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种实现方式,在第一方面的第四种可能的实现方式中,所述资源管理中心获取CPU板中运行的操作系统的网卡分配请求之前,所述方法还包括:
[0021]接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
[0022]为所述M个物理网卡中的每个物理网卡分配相应的网卡ID ;
[0023]将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
[0024]结合第一方面或第一方面的第一种至第四种可能的实现方式中的任一种实现方式,在第一方面的第五种可能的实现方式中,所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址以及所述硬件队列当前状态,其中,所述硬件队列当前状态用于表示所述硬件队列是否被分配。
[0025]第二方面,提供一种资源管理中心,所述资源管理中心应用于多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一 CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,所述资源管理中心包括:
[0026]获取模块,用于获取第一 CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
[0027]选择模块,用于基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡;
[0028]所述选择模块,还用于分别从每个目标物理网卡中选择至少一个目标硬件队列;
[0029]第一发送模块,用于向所述网卡控制器发送指令消息,其中,所述指令消息用于指示所述网卡控制器将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一 CPU内核进行绑定,所述指令消息中包含每个目标硬件队列的队列标识ID ;
[0030]第一接收模块,用于接收所述网卡控制器根据所述每个目标硬件队列的队列标识ID所反馈的所述目标硬件队列的队列信息;
[0031]第二发送模块,用于发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息,所述指示消息用于指示所述CPU板中的CPU控制器根据所述网卡信息和所述目标硬件队列的队列信息生成能够为所述操作系统提供所述网络服务的虚拟网卡。
[0032]在第二方面的第一种可能的实现方式中,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
[0033]根据第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述选择模块基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡时,具体用于:
[0034]基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
[0035]结合第二方面的第一种可能的实现方式或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述选择模块分别从每个目标物理网卡中选择至少一个目标硬件队列时,具体用于:
[0036]根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
[0037]根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID0
[0038]结合第二方面或第二方面的第一种至第三种可能的实现方式中的任一种实现方式,在第二方面的第四种可能的实现方式中,所述资源管理中心,还包括:
[0039]第二接收模块,用于接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
[0040]分配模块,用于为所述M个物理网卡中的每个物理网卡分配相应的网卡ID ;
[004
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1