CN105518620B - 一种网卡配置方法及资源管理中心 - Google Patents

一种网卡配置方法及资源管理中心 Download PDF

Info

Publication number
CN105518620B
CN105518620B CN201480037692.5A CN201480037692A CN105518620B CN 105518620 B CN105518620 B CN 105518620B CN 201480037692 A CN201480037692 A CN 201480037692A CN 105518620 B CN105518620 B CN 105518620B
Authority
CN
China
Prior art keywords
network
card
interface card
network interface
physical network
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.)
Active
Application number
CN201480037692.5A
Other languages
English (en)
Other versions
CN105518620A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105518620A publication Critical patent/CN105518620A/zh
Application granted granted Critical
Publication of CN105518620B publication Critical patent/CN105518620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供的一种网卡配置方法及资源管理中心,涉及多核处理器领域,解决了现有技术中基于众核解耦的多核处理器系统无法跨网卡、跨网段处理数据的问题。该方法包括:资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器。本发明用于构建虚拟网卡。

Description

一种网卡配置方法及资源管理中心
技术领域
本发明涉及多核处理器领域,尤其涉及一种网卡配置方法及资源管理中心。
背景技术
目前,为了提高多核处理器的并行计算能力以及该多核处理器的性能,技术人员提出了众核解耦的概念,即通过将多核计算机系统中的内存、输入输出(Input/Output,简称IO)设备等硬件设备的解耦,形成各自管理硬件的网络,从而使得该多核计算机系统的高性能计算能力得到有效的提高。
现在常用的一种典型的基于众核解耦的多核处理器系统,是由集成有多个中央处理器(Central Processing Unit,简称CPU)的CPU板、集成了各种IO设备的设备板、以及用于管理该系统中的所有硬件资源的资源管理中心等分离部件组成。其中,上述的CPU板上通常接入多个CPU(上千个CPU内核(core)),可以同时运行多个操作系统(Operating System,简称OS)。而上述设备板中集成的IO设备中包括多个多队列网卡,每个多队列网卡中包含多个硬件队列。由于多队列网卡可以通过多队列网卡驱动的支持,将各个硬件队列通过中断绑定到不同的CPU core上,因此,当上述的CPU板中的某一操作系统需要网络服务时,该资源管理中心会为该操作系统分配部分CPU core以及对应的多队列网卡,使得该多队列网卡与该操作系统对应的CPU core绑定,从而提高网卡带宽的利用率。
但是,发明人发现,在众核解耦架构下,资源管理中心在为操作系统配置对应的多队列网卡后,该操作系统便无法察觉到外部的其他多队列网卡,而该操作系统对应的CPUcore也会与该多队列网卡中的两个收发硬件队列进行绑定,同时由于不同的多队列网卡所属的网段不同,因此,每个CPU core都只能处理与之绑定的多队列网卡及其对应的网段的数据。
发明内容
本发明的实施例提供一种网卡配置方法及资源管理中心,解决了现有技术中基于众核解耦的多核处理器系统无法跨网卡、跨网段处理数据的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种网卡配置方法,应用于多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,所述方法包括:
所述资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡;
分别从每个目标物理网卡中选择至少一个目标硬件队列;
向所述网卡控制器发送指令消息,其中,所述指令消息用于指示所述网卡控制器将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一CPU内核进行绑定,所述指令消息中包含每个目标硬件队列的队列标识ID;
接收所述网卡控制器根据所述每个目标硬件队列的队列标识ID所反馈的所述目标硬件队列的队列信息;
发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息,所述指示消息用于指示所述CPU板中的CPU控制器根据所述网卡信息和所述目标硬件队列的队列信息生成能够为所述操作系统提供所述网络服务的虚拟网卡。
在第一方面的第一种可能的实现方式中,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
根据第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡具体包括:
基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述分别从每个目标物理网卡中选择至少一个目标硬件队列具体包括:
根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
结合第一方面或第一方面的第一种至第三种可能的实现方式中的任一种实现方式,在第一方面的第四种可能的实现方式中,所述资源管理中心获取CPU板中运行的操作系统的网卡分配请求之前,所述方法还包括:
接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
为所述M个物理网卡中的每个物理网卡分配相应的网卡ID;
将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
结合第一方面或第一方面的第一种至第四种可能的实现方式中的任一种实现方式,在第一方面的第五种可能的实现方式中,所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址以及所述硬件队列当前状态,其中,所述硬件队列当前状态用于表示所述硬件队列是否被分配。
第二方面,提供一种资源管理中心,所述资源管理中心应用于多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,所述资源管理中心包括:
获取模块,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
选择模块,用于基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡;
所述选择模块,还用于分别从每个目标物理网卡中选择至少一个目标硬件队列;
第一发送模块,用于向所述网卡控制器发送指令消息,其中,所述指令消息用于指示所述网卡控制器将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一CPU内核进行绑定,所述指令消息中包含每个目标硬件队列的队列标识ID;
第一接收模块,用于接收所述网卡控制器根据所述每个目标硬件队列的队列标识ID所反馈的所述目标硬件队列的队列信息;
第二发送模块,用于发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息,所述指示消息用于指示所述CPU板中的CPU控制器根据所述网卡信息和所述目标硬件队列的队列信息生成能够为所述操作系统提供所述网络服务的虚拟网卡。
在第二方面的第一种可能的实现方式中,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
根据第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述选择模块基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡时,具体用于:
基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
结合第二方面的第一种可能的实现方式或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述选择模块分别从每个目标物理网卡中选择至少一个目标硬件队列时,具体用于:
根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
结合第二方面或第二方面的第一种至第三种可能的实现方式中的任一种实现方式,在第二方面的第四种可能的实现方式中,所述资源管理中心,还包括:
第二接收模块,用于接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
分配模块,用于为所述M个物理网卡中的每个物理网卡分配相应的网卡ID;
存储模块,用于将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
结合第二方面或第二方面的第一种至第四种可能的实现方式中的任一种实现方式,在第二方面的第五种可能的实现方式中,所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址,以及所述硬件队列当前状态,所述硬件队列当前状态表示所述硬件队列是否被分配。
第三方面,提供一种多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据。
所述资源管理中心,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
所述资源管理中心,还用于基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡,分别从每个目标物理网卡中选择至少一个目标硬件队列;
所述资源管理中心,还用于向所述网卡控制器发送指令消息,其中,所述指令消息中包含每个目标硬件队列的队列标识ID;
所述网卡控制器,用于根据所述指令消息将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一CPU内核进行绑定;
所述网卡控制器,还用于根据所述每个目标硬件队列的队列标识ID查找所述目标硬件队列的队列信息;
所述资源管理中心,还用于接收所述网卡控制器反馈的所述目标硬件队列的队列信息;
所述资源管理中心,还用于发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息;
所述CPU板中的CPU控制器,用于根据所述指示消息中的所述网卡信息和所述目标硬件队列的队列信息,生成能够为所述操作系统提供所述网络服务的虚拟网卡。
在第三方面的第一种可能的实现方式中,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
根据第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述资源管理中心基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡时,具体用于:
基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
结合第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述资源管理中心分别从每个目标物理网卡中选择至少一个目标硬件队列时,具体用于:
根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
结合第三方面或第三面的第一种至第三种可能的实现方式中的任一种实现方式,在第三方面的第四种可能的实现方式中,所述资源管理中心,还用于:
接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
为所述M个物理网卡中的每个物理网卡分配相应的网卡ID;
将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
结合第三方面或第三方面的第一种至第四种可能的实现方式中的任一种实现方式,在第三方面的第五种可能的实现方式中,所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址以及所述硬件队列当前状态,其中,所述硬件队列当前状态用于表示所述硬件队列是否被分配。
本发明实施例提供的网卡配置方法及资源管理中心,资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器,使得该CPU控制器根据该网卡信息将这些目标硬件队列生成一个能够为该CPU板中运行的操作系统提供所需网络服务的新的虚拟网卡,能够根据操作系统的需求灵活配置多队列、跨网卡的虚拟网卡,从而实现了跨网段、跨网卡的数据处理,充分利用了多网段及多网卡的资源,提高了资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例的附图。
图1为本发明的实施例提供的一种多核处理器系统的结构示意图;
图2为本发明的实施例提供的一种网卡配置方法的流程示意图;
图3为本发明的实施例提供的另一种网卡配置方法的流程示意图;
图4为本发明的实施例提供的又一种网卡配置方法的流程示意图;
图5为本发明的实施例提供的一种多核处理器系统的结构示意图;
图6为本发明的实施例提供的另一种多核处理器系统的结构示意图;
图7为本发明的实施例提供的又一种多核处理器系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
本发明的实施例所应用的基于众核解耦的多核处理器系统的系统架构如图1所示。其中,众核解耦构架是指将现有的计算机中的硬件分离,形成各自管理的硬件网络,即可以将计算机中的硬件解耦为:计算资源池、输入输出(Input/Output,简称IO)设备池、内存池、连接网络和资源管理中心等部分。具体的,图1对应的多核处理器系统1的计算资源池,即图1中的多个CPU板11(如图1中的CPU#1板、CPU#2板,……,CPU#n板,每个CPU11中包括多个CPU内核(core))组成的CPU资源池,这些CPU板11内包含多个CPU core,其中,在上述的多个CPU内核的第一CPU内核中运行有操作系统,这些CPU core可以集成在一个CPU板11上,也可以集成在多个CPU板11上。该多核处理器系统1的IO设备池即图1中的设备板12,该设备板12中集成有多个IO设备(如,磁盘,网卡、视频传输标准(英文:Video Graphics Array,简称VGA)显示卡等),具体的,该设备板12中集成有M个物理网卡121(如图1的网卡1,网卡2……,网卡M),上述的物理网卡121为多队列网卡,每个多队列网卡中包含多个硬件队列,上述的硬件队列用于收发与该硬件队列绑定的CPU内核中运行的数据。需要说明的是,该多核处理器系统1中的每个板上都集成有一个用于控制该板中硬件资源的控制器(如,云控制芯片(英文:cloud controller)),例如,用于控制CPU板11中各CPU core的CPU控制器111以及用于控制设备板中物理网卡121的网卡控制器122。而该多核处理器系统1的资源管理中心13则通过各个板中的控制器来控制硬件资源的分配及互联,管理该多核处理器系统1中的所有硬件资源。
在现有技术中,当该多核处理器系统1中的某个运行的操作系统提出网络服务请求时,资源管理中心13会从CPU板11上选择一部分CPU core,从内存池上选择一段内存,从IO设备板12上选择一些IO设备,然后通过各个板中的控制器将选定的部分连接起来,并与其它部分相互隔离,即形成一台完备的小型计算机。但由于该多核处理器系统1中的CPU板11上同时运行有多个操作系统,且每个操作系统所要求的网络需求不同,因此,资源管理中心13为每个操作系统所分配的硬件资源也不相同,从而使得操作系统之间存在硬件保护隔离,这样资源管理中心在为操作系统配置好物理网卡后,该操作系统便无法察觉到其他物理网卡。同时由于不同的物理网卡所属的网段不同,因此,每个CPU core都只能处理与之绑定的物理网卡及其对应的网段的数据。基于上述内容,本发明的实施例提供一种新的网卡配置方法。
基于图1所示的多核处理器系统,本发明的实施例提供一种网卡配置方法,如图2所示,该方法具体包括如下步骤:
201、资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求。
其中,上述的第一CPU内核为图1中的任一CPU板(如CPU#1板)中的任一内核,而上述的网卡分配请求包括该第一CPU内核中运行的操作系统所需网络服务的网络参数,该网络服务的网络参数用于请求能够提供所需网络服务的网卡。上述的网络服务的网络参数至少包括网络服务连接的网段和网络服务需要的带宽,其中,操作系统需要连接的网段可以是多个网段,即该操作系统需要同时连接到多个网段。
需要说明的是,该多核处理器系统中的CPU板上同时运行有多个操作系统,每个操作系统所要求的网络需求不同,因此,需要资源管理中心定制的虚拟网卡也不同。
202、资源管理中心基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡。
示例性的,资源管理中心可以根据该操作系统X所需网络服务连接的网段,将该网段与该M个物理网卡中的每个物理网卡的网段进行匹配,从而获取与该网段匹配的至少一个目标物理网卡。
203、资源管理中心分别从每个目标物理网卡中选择至少一个目标硬件队列。
示例性的,资源管理中心可以按照操作系统X所需网络服务需要的带宽或所需的数据流量大小,依次从获取的每个目标物理网卡的硬件队列中选择一个或多个目标硬件队列,并获取该至少一个目标硬件队列中的每个硬件队列队列标识ID(英文:Identity)。
204、资源管理中心向网卡控制器发送指令消息。
其中,上述的指令消息包含每个目标硬件队列的队列ID,用于指示网卡控制器将每个目标硬件队列的中断路由与CPU板中的第一CPU内核绑定。具体的,资源管理中心在获取到用于组成该操作系统所需的虚拟网卡的目标硬件队列的队列ID后,该资源管理中心会向网卡控制器发送指令消息,来指示该网卡控制器对每个目标硬件队列与其当前绑定的CPU内核进行解绑定,然后将每个目标硬件队列绑定到第一CPU内核上。此外,该资源管理中心会在数据库中标记这些目标硬件队列已经被分配,同时该资源管理中心会修改数据库中存储的这些目标硬件队列的队列信息,将这些目标硬件队列的队列状态修改为已分配。
205、资源管理中心接收网卡控制器根据每个目标硬件队列的队列ID所反馈的目标硬件队列的队列信息。
其中,上述的硬件队列的队列信息包括硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取(英文:Direct Memory Access,简称DMA)映射地址,以及硬件队列当前状态,上述的硬件队列当前状态表示该硬件队列是否被分配。
206、资源管理中心发送指示消息至CPU板中的CPU控制器。
其中,上述的指示消息包括用于构建虚拟网卡的网卡信息和目标硬件队列的队列信息,该指示消息用于指示CPU板中的CPU控制器根据网卡信息和目标硬件队列的队列信息生成能够为操作系统提供网络服务的虚拟网卡。
具体的,资源管理中心在接收到网卡控制器发送的目标硬件队列的队列消息后,首先会将用于构建虚拟网卡的网卡信息发送至CPU板中的CPU控制器,而该CPU控制器在根据该虚拟网卡的网卡信息构建好虚拟网卡构架后,资源管理中心会将接收到的所有目标硬件队列的队列信息发送给该CPU控制器,以便该CPU控制器将所有的目标硬件队列组合成一个为操作系统提供网络服务的虚拟网卡,可以提供跨网卡及跨网段处理数据的功能。
需要说明的是,当该CPU控制器将目标硬件队列组合成为一个新的虚拟网卡会后,该CPU控制器会与控制该M个物理网卡的网卡控制器间建立一个IO通道,该IO通道用于转发这些目标硬件队列接收到的数据包。
本发明实施例提供的网卡配置方法,资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器,使得该CPU控制器根据该网卡信息将这些目标硬件队列生成一个能够为该CPU板中运行的操作系统提供所需网络服务的新的虚拟网卡,能够根据操作系统的需求灵活配置多队列、跨网卡的虚拟网卡,从而实现了跨网段、跨网卡的数据处理,充分利用了多网段及多网卡的资源,提高了资源利用率。
实施例二
本发明的实施例二提供另一种网卡配置方法,如图3所示,该方法具体包括如下步骤:
301、资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求。
具体的,资源管理中心在执行本实施例所提供的方法之前,该资源管理中心还需要获取各个CPU内核的设备信息,以及设备板上所有的设备信息(如,该设备板上的各个物理网卡的网卡参数,例如,网卡连接的网段、带宽、网卡特性等),并且在首次或每次实现本实施例所提供的方法前,需要建立数据库(如,设备资源池)。
可选的,在步骤301之前,还包括如下步骤:
301a、资源管理中心接收网卡控制器发送的M个物理网卡中每个物理网卡的网卡参数,以及M个物理网卡中每个物理网卡中硬件队列的队列信息。
其中,上述的物理网卡的网卡参数包括该物理网卡所属网段、该物理网卡所需的带宽、该物理网卡的网卡ID、硬件队列数N和待分配硬件队列的队列ID。
上述的硬件队列的队列信息包括硬件队列的队列ID、中断路由绑定的CPU内核地址、DMA映射地址,以及硬件队列的当前状态,上述的硬件队列当前状态表示该硬件队列是否被分配。
301b、资源管理中心为M个物理网卡中的每个物理网卡分配相应的网卡ID。
301c、资源管理中心将M个物理网卡中每个物理网卡的网卡参数与每个物理网卡的网卡ID对应存储至第一数据库,将每个物理网卡中硬件队列的队列信息及每个物理网卡的网卡ID对应存储至第二数据库。
具体的,上述的第一数据库可以称作网卡数据库,用于存储相关的物理网卡的网卡参数,上述的第二数据库可以称作队列数据库,用于存储相关物理网卡中的硬件队列的队列信息。同时,需要说明的是,本实施例中描述的第一数据库与第二数据库可以是同一数据库。
302、资源管理中心基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡。
可选的,步骤302具体包括如下步骤:
302a、资源管理中心基于操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与网段匹配的目标物理网卡的网卡ID。
其中,上述的第一数据库中至少存储M个物理网卡中每个物理网卡的网卡参数;该网卡参数包括物理网卡所属网段和物理网卡的网卡ID。示例性的,若该操作系统X所需网络服务需要连接的网段为网段1、网段2和网段3,则该资源管理中心分别根据网段1、网段2、网段3,与第一数据库中存储的M个物理网卡的所属网段进行匹配,从而获取到所属网段分别为网段1、网段2、网段3的网卡A、网卡B和网卡C。
303、资源管理中心分别从每个目标物理网卡中选择至少一个目标硬件队列。
可选的,步骤303具体包括如下步骤:
303a、资源管理中心根据目标物理网卡的网卡ID,从预配置的第二数据库中查找目标物理网卡中每个硬件队列的队列信息。
其中,上述的第二数据库中至少存储M个物理网卡中每个物理网卡中每个硬件队列的队列信息。
303b、资源管理中心根据网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
示例性的,资源管理中心根据该操作系统X所需网络服务需要的带宽或该操作系统X需要的网络服务的数据流量大小,从获取到的每个目标物理网卡中选择相应数量的目标硬件队列,例如,若目标物理网卡为网卡A、网卡B、网卡C,若该操作系统X需要的带宽需求小,则该资源管理中心分别从网卡A、网卡B、网卡C选择任一硬件队列作为目标硬件队列,并从每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID,来组成一个能够跨网段和跨网卡的新的虚拟网卡。
304、资源管理中心向网卡控制器发送指令消息。
305、资源管理中心接收网卡控制器根据每个目标硬件队列的队列ID所反馈的目标硬件队列的队列消息。
306、资源管理中心发送指示消息至CPU板中的CPU控制器。
具体的,步骤301至步骤306中每个步骤的详细过程这里可以参照实施例一中的步骤201至步骤206,本发明实施例在此不再赘述。
示例性的,这里将实施例二应用于图1所示的多核处理器系统中进行具体说明。
具体的,参照图1所示的多核处理器系统示意图,该多核处理器系统中包括:N个中央处理器CPU板11,即CPU#1板、CPU#2板,……,CPU#n板、3个物理网卡121,即网卡1,网卡2,网卡3和资源管理中心13。在该多核处理器系统的架构下,若以该CPU#1板中运行的操作系统X为例,且物理网卡121的个数为3,且每个物理网卡121中包含Y个硬件队列时,本实施例所提供的方法具体实现过程如下:
(1)、该多核处理器系统中的所有设备进行初始化。
资源管理中心获取各个CPU板上运行的操作系统及程序的信息,以及即将运行的任务,以及设备板上所有的设备信息,如,该设备板上的各个物理网卡的网卡参数,例如,网卡连接的网段、带宽、网卡特性等。同时在首次执行本实施例所提供的方法前,建立设备资源池。
(2)、资源管理中心为操作系统X获取用于组成该操作系统所需网卡的硬件队列。
具体的,当CPU#1板上的第一CPU内核中运行的操作系统X(如,LINUX)需要网络服务时,资源管理中心会获取到一个X的包含网络服务优先级、连接的网段和带宽等网络参数的网卡分配请求。而资源管理中心在获取到该网卡分配请求后,会根据该操作系统X所需网络服务需要连接的网段1、网段2、网段3,与第一数据库中存储的每个物理网卡所属的网段进行匹配,从而获取到与该操作系统X所需网络服务需要连接的网段1、网段2、网段3分别匹配的目标物理网卡(如,网卡A、网卡B、网卡C),获取目标物理网卡对应的网卡ID。然后资源管理中心从第二数据库中分别查找到网卡A、网卡B、网卡C中每个硬件队列的队列信息(如,队列ID、中断路由绑定的CPU内核地址、DMA映射地址,以及硬件队列当前状态等信息),并根据该操作系统X所需网络服务需要的数据流量大小依次从网卡A中选出A1和A2两列硬件队列、从网卡B和网卡C中分别选出B1列硬件队列和C1列硬件队列,并从每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。最后,资源管理中心将A1、A2、B1和C1这四个硬件队列的队列ID发送至网卡控制器,让该网卡控制器反馈这四个硬件队列对应的队列信息,以便该资源管理中心将这四个硬件队列对应的队列信息发送至该CPU#1板中的CPU控制器。
(3)、CPU#1板中的CPU控制器将网卡信息和队列信息整合成虚拟网卡。
具体的,如图4所示,资源管理中心在接收到A1、A2、B1和C1这四个硬件队列的队列信息后,会将用于构建虚拟网卡的网卡信息发送给CPU#1板中的CPU控制器,该CPU控制器根据该网卡信息构建一个虚拟网卡的构架;接着该资源管理中心将A1、A2、B1、C1这四个硬件队列消息发送给该CPU控制器。该CPU控制器在申请的一段内存空间后,会将这四个硬件队列与虚拟网卡构架整合成一个可以为操作系统X提供网络服务的虚拟网卡。该虚拟网卡构建好后,该CPU#1板中的CPU控制器会与网卡控制器间建立一个IO通道,该网卡控制器便可通过该IO通道将这四个硬件队列接收到的数据包发送到CPU#1板中的该操作系统X对应的CPU core上。
本发明实施例提供的网卡配置方法,资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器,使得该CPU控制器根据该网卡信息将这些目标硬件队列生成一个能够为该CPU板中运行的操作系统提供所需网络服务的新的虚拟网卡,能够根据操作系统的需求灵活配置多队列、跨网卡的虚拟网卡,从而实现了跨网段、跨网卡的数据处理,充分利用了多网段及多网卡的资源,提高了资源利用率。
实施例三
本发明的实施例提供一种资源管理中心,该资源管理中心应用于多核处理器系统,如图5所示,该多核处理器系统4包括资源管理中心41、设备板42和中央处理器CPU板43。其中,设备板42中包括M个物理网卡和用于控制M个物理网卡的网卡控制器44,M个物理网卡与网卡控制器44相连;CPU板43中包括多个CPU内核和一个用于控制CPU板43中CPU内核的CPU控制器45,其中,在上述的多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,该硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据。
具体的,该资源管理中心41包括:获取模块411、选择模块412、第一发送模块413、第一接收模块414以及第二发送模块415,其中:
获取模块411,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,上述的网卡分配请求用于请求分配能够提供网络服务的网卡,该网卡分配请求中包括操作系统所需网络服务的网络参数。
选择模块412,用于基于上述的操作系统所需网络服务的网络参数,从M个物理网卡中选择符合该网络参数的目标物理网卡。
上述的选择模块412,还用于分别从每个目标物理网卡中选择至少一个目标硬件队列。
第一发送模块413,用于向网卡控制器44发送指令消息,其中,上述的指令消息用于指示网卡控制器44将每个目标硬件队列的中断路由与运行有所述操作系统的第一CPU内核进行绑定,该指令消息中包含每个目标硬件队列的队列标识ID。
第一接收模块414,用于接收上述的网卡控制器44根据每个目标硬件队列的队列标识ID所反馈的目标硬件队列的队列信息。
第二发送模块415,用于发送指示消息至CPU板43中的CPU控制器45,其中,上述的指示消息包括用于构建虚拟网卡的网卡信息和目标硬件队列的队列信息,该指示消息用于指示CPU板43中的CPU控制器45根据网卡信息和目标硬件队列的队列信息生成能够为操作系统提供网络服务的虚拟网卡。
可选的,上述的操作系统所需网络服务的网络参数至少包括该网络服务连接的网段和该网络服务所需的带宽。
可选的,上述的选择模块412基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡时,具体用于:
基于操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与上述的网段匹配的目标物理网卡的网卡ID,其中,第一数据库中存储有M个物理网卡中每个物理网卡的网卡参数,该网卡参数包括物理网卡所属网段和物理网卡的网卡ID。
可选的,上述的选择模块412分别从每个目标物理网卡中选择至少一个目标硬件队列时,具体用于:
根据目标物理网卡的网卡ID,从预配置的第二数据库中查找目标物理网卡中每个硬件队列的队列信息,其中,第二数据库中存储有M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
可选的,如图6所示,该资源管理中心,还包括:第二接收模块416、分配模块417以及存储模块418,其中:
第二接收模块416,用于接收网卡控制器44发送的M个物理网卡中每个物理网卡的网卡参数,以及M个物理网卡中每个物理网卡中硬件队列的队列信息。
分配模块417,用于为M个物理网卡中的每个物理网卡分配相应的网卡ID。
存储模块418,用于将M个物理网卡中每个物理网卡的网卡参数与每个物理网卡的网卡ID对应存储至第一数据库,将每个物理网卡中硬件队列的队列信息及每个物理网卡的网卡ID对应存储至第二数据库。
可选的,上述的硬件队列的队列信息包括该硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址,以及该硬件队列当前状态,上述的硬件队列当前状态表示该硬件队列是否被分配。
本发明实施例提供的多核处理器系统中的资源管理中心,资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器,使得该CPU控制器根据该网卡信息将这些目标硬件队列生成一个能够为该CPU板中运行的操作系统提供所需网络服务的新的虚拟网卡,能够根据操作系统的需求灵活配置多队列、跨网卡的虚拟网卡,从而实现了跨网段、跨网卡的数据处理,充分利用了多网段及多网卡的资源,提高了资源利用率。
实施例四
本发明的实施例提供一种资源管理中心,该资源管理中心应用于多核处理器系统,如图7所示,该多核处理器系统5包括:资源管理中心51、设备板52和中央处理器CPU板53。其中,设备板52中包括M个物理网卡和用于控制M个物理网卡的网卡控制器54,M个物理网卡与所述网卡控制器相连;CPU板53中包括多个CPU内核和一个用于控制CPU板53中CPU内核的CPU控制器55,其中,在上述的多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,该硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据。
具体的,该资源管理中心51包括:处理器511和通信接口512,其中:
处理器511,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,上述的网卡分配请求用于请求分配能够提供网络服务的网卡,该网卡分配请求中包括操作系统所需网络服务的网络参数。
处理器511,还用于基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡。
处理器511,还用于分别从每个目标物理网卡中选择至少一个目标硬件队列。
处理器511,还用于通过通信接口512向网卡控制器54发送指令消息,其中,上述的指令消息用于指示网卡控制器将每个目标硬件队列的中断路由与运行有所述操作系统的第一CPU内核进行绑定,该指令消息中包含每个目标硬件队列的队列标识ID。
处理器511,还用于通过通信接口512接收网卡控制器54根据每个目标硬件队列的队列标识ID所反馈的目标硬件队列的队列信息。
处理器511,还用于通过通信接口512发送指示消息至CPU板53中的CPU控制器55,其中,上述的指示消息包括用于构建虚拟网卡的网卡信息和目标硬件队列的队列信息,该指示消息用于指示CPU板53中的CPU控制器55根据网卡信息和目标硬件队列的队列信息生成能够为操作系统提供网络服务的虚拟网卡。
可选的,上述的操作系统所需网络服务的网络参数至少包括该网络服务连接的网段和该网络服务所需的带宽。
可选的,处理器511基于上述的操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡时,具体用于:
基于上述的操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与该网段匹配的目标物理网卡的网卡ID,其中,第一数据库中存储有M个物理网卡中每个物理网卡的网卡参数,该网卡参数包括物理网卡所属网段和物理网卡的网卡ID。
可选的,处理器511分别从每个目标物理网卡中选择至少一个目标硬件队列时,具体用于:
根据上述的目标物理网卡的网卡ID,从预配置的第二数据库中查找目标物理网卡中每个硬件队列的队列信息,其中,第二数据库中存储有M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
可选的,如图7所示,资源管理中心还包括:存储器513,其中:
处理器511,还用于通过通信接口512接收网卡控制器54发送的M个物理网卡中每个物理网卡的网卡参数,以及M个物理网卡中每个物理网卡中硬件队列的队列信息。
处理器511,还用于为M个物理网卡中的每个物理网卡分配相应的网卡ID。
存储器513,用于将M个物理网卡中每个物理网卡的网卡参数与每个物理网卡的网卡ID对应存储至所述第一数据库,将每个物理网卡中硬件队列的队列信息及每个物理网卡的网卡ID对应存储至第二数据库。
可选的,上述的硬件队列的队列信息包括该硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址,以及该硬件队列当前状态,上述的硬件队列当前状态表示所述硬件队列是否被分配。
本发明实施例提供的多核处理器系统中的资源管理中心,资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器,使得该CPU控制器根据该网卡信息将这些目标硬件队列生成一个能够为该CPU板中运行的操作系统提供所需网络服务的新的虚拟网卡,能够根据操作系统的需求灵活配置多队列、跨网卡的虚拟网卡,从而实现了跨网段、跨网卡的数据处理,充分利用了多网段及多网卡的资源,提高了资源利用率。
实施例五
本发明的实施例提供一种多核处理器系统1,如图1所示,该多核处理器系统1包括资源管理中心13、设备板12和中央处理器CPU板11。其中,设备板12中包括M个物理网卡121和用于控制M个物理网卡的网卡控制器122,M个物理网卡121与网卡控制器122相连;CPU板11中包括多个CPU内核和一个用于控制CPU板11中CPU内核的CPU控制器111其中,在上述的多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡121中包含多个硬件队列,该硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据。
具体的,该多核处理器系统1包括:资源管理中心13
资源管理中心13,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,上述的网卡分配请求用于请求分配能够提供网络服务的网卡,该网卡分配请求中包括所述操作系统所需网络服务的网络参数。
资源管理中心13,还用于基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡。
资源管理中心13,还用于分别从每个目标物理网卡中选择至少一个目标硬件队列。
资源管理中心13,还用于向所述网卡控制器122发送指令消息,其中,上述的指令消息中包含每个目标硬件队列的队列标识ID。
网卡控制器13,用于根据上述的指令消息将每个目标硬件队列的中断路由与运行有该操作系统的第一CPU内核进行绑定。
网卡控制器122,还用于根据每个目标硬件队列的队列标识ID查找目标硬件队列的队列信息。
资源管理中心13,还用于接收网卡控制器122反馈的目标硬件队列的队列信息。
资源管理中心13,还用于发送指示消息至CPU板11中的CPU控制器111,其中,上述的指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息。
CPU板中11的CPU控制器111,用于根据上述的指示消息中的网卡信息和目标硬件队列的队列信息,生成能够为所述操作系统提供网络服务的虚拟网卡。
可选的,上述的操作系统所需网络服务的网络参数至少包括该网络服务连接的网段和该网络服务所需的带宽。
可选的,资源管理中心13基于上述的操作系统所需网络服务的网络参数,从M个物理网卡121中选择符合网络参数的目标物理网卡121时,具体用于:
基于上述的操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与该网段匹配的目标物理网卡121的网卡ID,其中,第一数据库中存储有M个物理网卡121中每个物理网卡121的网卡参数,该网卡参数包括物理网卡121所属网段和物理网卡121的网卡ID。
可选的,资源管理中心13分别从每个目标物理网卡121中选择至少一个目标硬件队列时,具体用于:
根据上述的目标物理网卡121的网卡ID,从预配置的第二数据库中查找目标物理网卡121中每个硬件队列的队列信息,其中,第二数据库中存储有M个物理网卡121中每个物理网卡121中每个硬件队列的队列信息;
根据网络服务所需的带宽,依次从每个目标物理网卡121中选择至少一个目标硬件队列,并从每个物理网卡121中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
可选的,资源管理中心13,还用于:
接收网卡控制器122发送的M个物理网卡121中每个物理网卡121的网卡参数,以及M个物理网卡121中每个物理网卡121中硬件队列的队列信息;
为M个物理网卡121中的每个物理网卡121分配相应的网卡ID;
将M个物理网卡121中每个物理网卡121的网卡参数与每个物理网卡121的网卡ID对应存储至第一数据库,将每个物理网卡121中硬件队列的队列信息及每个物理网卡121的网卡ID对应存储至所述第二数据库。
可选的,上述的硬件队列的队列信息包括该硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址以及该硬件队列当前状态,其中,上述的硬件队列当前状态用于表示所述硬件队列是否被分配。
本发明实施例提供的多核处理器系统,资源管理中心获取第一CPU内核中运行的操作系统的网卡分配请求,基于操作系统所需网络服务的网络参数,从M个物理网卡中选择符合网络参数的目标物理网卡,并分别从每个目标物理网卡中选择至少一个目标硬件队列,接着资源管理中心向网卡控制器发送指令消息并接收网卡控制器反馈的目标硬件队列的队列信息,最后资源管理中心发送指示消息至CPU板中的CPU控制器,使得该CPU控制器根据该网卡信息将这些目标硬件队列生成一个能够为该CPU板中运行的操作系统提供所需网络服务的新的虚拟网卡,能够根据操作系统的需求灵活配置多队列、跨网卡的虚拟网卡,从而实现了跨网段、跨网卡的数据处理,充分利用了多网段及多网卡的资源,提高了资源利用率。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制。

Claims (18)

1.一种网卡配置方法,应用于多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,每个所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,其特征在于,所述方法包括:
所述资源管理中心获取所述第一CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
所述资源管理中心基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡;
所述资源管理中心分别从每个目标物理网卡中选择至少一个目标硬件队列;
所述资源管理中心向所述网卡控制器发送指令消息,其中,所述指令消息用于指示所述网卡控制器将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一CPU内核进行绑定,所述指令消息中包含每个目标硬件队列的队列标识ID;
所述资源管理中心接收所述网卡控制器根据所述每个目标硬件队列的队列ID所反馈的所述目标硬件队列的队列信息;
所述资源管理中心发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息,所述指示消息用于指示所述CPU板中的CPU控制器根据所述网卡信息和所述目标硬件队列的队列信息生成能够为所述操作系统提供所述网络服务的虚拟网卡。
2.根据权利要求1所述的方法,其特征在于,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
3.根据权利要求2所述的方法,其特征在于:
所述基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡具体包括:
基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
4.根据权利要求3所述的方法,其特征在于:
所述分别从每个目标物理网卡中选择至少一个目标硬件队列具体包括:
根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
5.根据权利要求4所述的方法,其特征在于,所述资源管理中心获取CPU板中运行的操作系统的网卡分配请求之前,所述方法还包括:
接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
为所述M个物理网卡中的每个物理网卡分配相应的网卡ID;
将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
6.根据权利要求1-3、5任一项所述的方法,其特征在于:
所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址以及所述硬件队列当前状态,其中,所述硬件队列当前状态用于表示所述硬件队列是否被分配。
7.一种资源管理中心,所述资源管理中心应用于多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,其特征在于:
所述资源管理中心包括:
获取模块,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
选择模块,用于基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡;
所述选择模块,还用于分别从每个目标物理网卡中选择至少一个目标硬件队列;
第一发送模块,用于向所述网卡控制器发送指令消息,其中,所述指令消息用于指示所述网卡控制器将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一CPU内核进行绑定,所述指令消息中包含每个目标硬件队列的队列标识ID;
第一接收模块,用于接收所述网卡控制器根据所述每个目标硬件队列的队列ID所反馈的所述目标硬件队列的队列信息;
第二发送模块,用于发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息,所述指示消息用于指示所述CPU板中的CPU控制器根据所述网卡信息和所述目标硬件队列的队列信息生成能够为所述操作系统提供所述网络服务的虚拟网卡。
8.根据权利要求7所述的资源管理中心,其特征在于,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
9.根据权利要求8所述的资源管理中心,其特征在于:
所述选择模块具体用于:
基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
10.根据权利要求9所述的资源管理中心,其特征在于:
所述选择模块具体用于:
根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
11.根据权利要求10所述的资源管理中心,其特征在于,所述资源管理中心,还包括:
第二接收模块,用于接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
分配模块,用于为所述M个物理网卡中的每个物理网卡分配相应的网卡ID;
存储模块,用于将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
12.根据权利要求7-9、11任一项所述的资源管理中心,其特征在于:
所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址,以及所述硬件队列当前状态,所述硬件队列当前状态表示所述硬件队列是否被分配。
13.一种多核处理器系统,所述多核处理器系统包括资源管理中心、设备板和中央处理器CPU板,所述设备板中包括M个物理网卡和用于控制所述M个物理网卡的网卡控制器,所述M个物理网卡与所述网卡控制器相连,所述CPU板中包括多个CPU内核和一个用于控制所述CPU板中CPU内核的CPU控制器,其中,在所述多个CPU内核的第一CPU内核中运行有操作系统,每个物理网卡中包含多个硬件队列,所述硬件队列用于收发与所述硬件队列绑定的CPU内核中运行的数据,其特征在于:
所述资源管理中心,用于获取第一CPU内核中运行的操作系统的网卡分配请求,其中,所述网卡分配请求用于请求分配能够提供网络服务的网卡,所述网卡分配请求中包括所述操作系统所需网络服务的网络参数;
所述资源管理中心,还用于基于所述操作系统所需网络服务的网络参数,从所述M个物理网卡中选择符合所述网络参数的目标物理网卡,分别从每个目标物理网卡中选择至少一个目标硬件队列;
所述资源管理中心,还用于向所述网卡控制器发送指令消息,其中,所述指令消息中包含每个目标硬件队列的队列标识ID;
所述网卡控制器,用于根据所述指令消息将所述每个目标硬件队列的中断路由与运行有所述操作系统的所述第一CPU内核进行绑定;
所述网卡控制器,还用于根据所述每个目标硬件队列的队列ID查找所述目标硬件队列的队列信息;
所述资源管理中心,还用于接收所述网卡控制器反馈的所述目标硬件队列的队列信息;
所述资源管理中心,还用于发送指示消息至所述CPU板中的CPU控制器,其中,所述指示消息包括用于构建虚拟网卡的网卡信息和所述目标硬件队列的队列信息;
所述CPU板中的CPU控制器,用于根据所述指示消息中的所述网卡信息和所述目标硬件队列的队列信息,生成能够为所述操作系统提供所述网络服务的虚拟网卡。
14.根据权利要求13所述的多核处理器系统,其特征在于,所述操作系统所需网络服务的网络参数至少包括所述网络服务连接的网段和所述网络服务所需的带宽。
15.根据权利要求14所述的多核处理器系统,其特征在于:
所述资源管理中心具体用于:
基于所述操作系统所需网络服务连接的网段,从预配置的第一数据库中获取与所述网段匹配的目标物理网卡的网卡ID,其中,所述第一数据库中存储有所述M个物理网卡中每个物理网卡的网卡参数,所述网卡参数包括所述物理网卡所属网段和所述物理网卡的网卡ID。
16.根据权利要求15所述的多核处理器系统,其特征在于:
所述资源管理中心具体用于:
根据所述目标物理网卡的网卡ID,从预配置的第二数据库中查找所述目标物理网卡中每个硬件队列的队列信息,其中,所述第二数据库中存储有所述M个物理网卡中每个物理网卡中每个硬件队列的队列信息;
根据所述网络服务所需的带宽,依次从每个目标物理网卡中选择至少一个目标硬件队列,并从所述每个物理网卡中每个硬件队列的队列信息中获取每个目标硬件队列的队列ID。
17.根据权利要求16所述的多核处理器系统,其特征在于:
所述资源管理中心,还用于:
接收所述网卡控制器发送的所述M个物理网卡中每个物理网卡的网卡参数,以及所述M个物理网卡中每个物理网卡中硬件队列的队列信息;
为所述M个物理网卡中的每个物理网卡分配相应的网卡ID;
将所述M个物理网卡中每个物理网卡的网卡参数与所述每个物理网卡的网卡ID对应存储至所述第一数据库,将所述每个物理网卡中硬件队列的队列信息及所述每个物理网卡的网卡ID对应存储至所述第二数据库。
18.根据权利要求13-15、17任一项所述的多核处理器系统,其特征在于:
所述硬件队列的队列信息包括所述硬件队列的队列ID、中断路由绑定的CPU内核地址、直接内存存取DMA映射地址以及所述硬件队列当前状态,其中,所述硬件队列当前状态用于表示所述硬件队列是否被分配。
CN201480037692.5A 2014-10-31 2014-10-31 一种网卡配置方法及资源管理中心 Active CN105518620B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/090119 WO2016065643A1 (zh) 2014-10-31 2014-10-31 一种网卡配置方法及资源管理中心

Publications (2)

Publication Number Publication Date
CN105518620A CN105518620A (zh) 2016-04-20
CN105518620B true CN105518620B (zh) 2019-02-01

Family

ID=55725011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480037692.5A Active CN105518620B (zh) 2014-10-31 2014-10-31 一种网卡配置方法及资源管理中心

Country Status (4)

Country Link
US (1) US10305823B2 (zh)
EP (1) EP3206339B1 (zh)
CN (1) CN105518620B (zh)
WO (1) WO2016065643A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10657278B2 (en) * 2013-03-15 2020-05-19 Live Nation Entertainment, Inc. Prioritized link establishment for data transfer using task scheduling
US10031786B2 (en) * 2016-01-13 2018-07-24 International Business Machines Corporation Lockless multithreaded completion queue access
EP3249541B1 (en) * 2016-05-27 2020-07-08 NXP USA, Inc. A data processor
CN106789152A (zh) * 2016-11-17 2017-05-31 东软集团股份有限公司 基于多队列网卡的处理器扩展方法及装置
CN107453898A (zh) * 2017-07-21 2017-12-08 郑州云海信息技术有限公司 一种网络系统及其网络配置方法
CN107783840B (zh) * 2017-10-27 2020-08-21 瑞芯微电子股份有限公司 一种分布式多层深度学习资源分配方法和装置
CN107832242A (zh) * 2017-10-31 2018-03-23 郑州云海信息技术有限公司 一种数据传输方法、系统、装置及计算机可读存储介质
CN108306832B (zh) * 2018-01-29 2021-07-27 北京启明星辰信息安全技术有限公司 一种网络流量分流方法及装置
DE112018007409T5 (de) 2018-03-30 2021-01-07 Intel Corporation Verfahren und vorrichtung zum planen von dienstanforderungen in einem netzwerk-rechensystem mit hilfe von hardware-warteschlangenverwaltungen
CN109284192B (zh) * 2018-09-29 2021-10-12 网宿科技股份有限公司 参数配置方法及电子设备
CN111010712B (zh) * 2019-12-16 2022-11-25 烽火通信科技股份有限公司 一种集中式资源管理系统及方法
CN113595762B (zh) * 2021-06-29 2023-05-26 联想(北京)有限公司 一种网卡配置的保存方法及装置
CN113312155B (zh) * 2021-07-29 2022-02-01 阿里云计算有限公司 虚拟机创建方法、装置、设备、系统及计算机程序产品
CN114374609B (zh) * 2021-12-06 2023-09-15 东云睿连(武汉)计算技术有限公司 基于rdma设备的深度学习作业运行方法及系统
CN114490085B (zh) * 2022-02-16 2023-09-19 北京火山引擎科技有限公司 一种网卡配置方法、装置、设备及存储介质
CN115022336A (zh) * 2022-05-31 2022-09-06 苏州浪潮智能科技有限公司 服务器资源负载均衡方法、系统、终端及存储介质
CN117527715A (zh) * 2022-07-28 2024-02-06 华为技术有限公司 报文处理方法和服务器
CN115473757A (zh) * 2022-09-29 2022-12-13 展讯通信(上海)有限公司 智能终端的动态网卡驱动管理系统、方法、装置及设备
CN117573214B (zh) * 2024-01-17 2024-04-19 深圳前海深蕾半导体有限公司 一种串口设备和Android系统框架融合的方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937499B1 (en) * 2004-07-09 2011-05-03 Oracle America, Inc. Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
CN102291428A (zh) * 2010-06-21 2011-12-21 英特尔公司 用于在多个虚拟机之间共享网络接口的方法
CN102541803A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据发送方法和计算机
CN102609298A (zh) * 2012-01-11 2012-07-25 中国科学技术大学苏州研究院 基于硬件队列扩展的网卡虚拟化系统及其方法
CN103176780A (zh) * 2011-12-22 2013-06-26 中国科学院声学研究所 一种多网络接口绑定系统及方法
US8677023B2 (en) * 2004-07-22 2014-03-18 Oracle International Corporation High availability and I/O aggregation for server environments

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4295783B2 (ja) * 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
KR101350333B1 (ko) 2009-11-03 2014-01-10 한국전자통신연구원 대규모 트래픽을 처리하는 온라인 서버 테스트를 위한 네트워크 에뮬레이션 시스템 및 방법
US8665747B2 (en) * 2009-12-03 2014-03-04 Cisco Technology, Inc. Preventing loops on network topologies built with virtual switches and VMS
JP5477112B2 (ja) * 2010-03-31 2014-04-23 富士通株式会社 ネットワークシステムの試験方法
US9146873B2 (en) * 2012-03-30 2015-09-29 Intel Corporation Adaptive queuing of a cache for a processing element
US9306870B1 (en) * 2012-06-28 2016-04-05 Amazon Technologies, Inc. Emulating circuit switching in cloud networking environments
CN102780642A (zh) 2012-08-23 2012-11-14 深圳乌托邦系统集成有限公司 多通道网络报文传输方法
US9736211B2 (en) 2012-08-27 2017-08-15 Vmware, Inc. Method and system for enabling multi-core processing of VXLAN traffic
US9251108B2 (en) * 2012-11-05 2016-02-02 International Business Machines Corporation Managing access to shared buffer resources
CN102984085A (zh) 2012-11-21 2013-03-20 网神信息技术(北京)股份有限公司 映射方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937499B1 (en) * 2004-07-09 2011-05-03 Oracle America, Inc. Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card
US8677023B2 (en) * 2004-07-22 2014-03-18 Oracle International Corporation High availability and I/O aggregation for server environments
CN102291428A (zh) * 2010-06-21 2011-12-21 英特尔公司 用于在多个虚拟机之间共享网络接口的方法
CN103176780A (zh) * 2011-12-22 2013-06-26 中国科学院声学研究所 一种多网络接口绑定系统及方法
CN102541803A (zh) * 2011-12-31 2012-07-04 曙光信息产业股份有限公司 数据发送方法和计算机
CN102609298A (zh) * 2012-01-11 2012-07-25 中国科学技术大学苏州研究院 基于硬件队列扩展的网卡虚拟化系统及其方法

Also Published As

Publication number Publication date
CN105518620A (zh) 2016-04-20
EP3206339B1 (en) 2018-12-12
EP3206339A1 (en) 2017-08-16
EP3206339A4 (en) 2017-10-11
WO2016065643A1 (zh) 2016-05-06
US10305823B2 (en) 2019-05-28
US20170228337A1 (en) 2017-08-10

Similar Documents

Publication Publication Date Title
CN105518620B (zh) 一种网卡配置方法及资源管理中心
CN107278362B (zh) 云计算系统中报文处理的方法、主机和系统
KR20220011063A (ko) 서버 리소스 할당 방법, 장치, 전자 기기 및 저장 매체
CN102486739B (zh) 高性能计算集群中分发数据的方法和系统
JP2019057303A (ja) 計算タスクを処理するためのコンピュータクラスタ構成、およびそれを動作させるための方法
CN108228354A (zh) 调度方法、系统、计算机设备和介质
CN107690622A (zh) 实现硬件加速处理的方法、设备和系统
CN110162388A (zh) 一种任务调度方法、系统及终端设备
CN110221918A (zh) 一种ns与vnf的关联方法、装置及系统
US20130091502A1 (en) System and method of providing virtual machine using device cloud
CN106656846A (zh) 一种sdn体系架构中协调层的构建方法
CN110291502A (zh) 一种调度加速资源的方法、装置及加速系统
CN108600344A (zh) 一种网络访问请求调度方法、装置和存储介质
JP2018521389A (ja) ハードウェアアクセラレーション方法及び関連デバイス
JP2013247410A (ja) ネットワーク管理装置、通信システムおよびネットワーク管理方法
CN103546557B (zh) 一种平台级服务的数据交互方法、服务平台及系统
CN109428764A (zh) 虚拟网络功能的实例化方法
CN104537045A (zh) 一种基于分布式系统的业务分配方法及装置
CN108696373B (zh) 虚拟资源分配方法、nfvo和系统
CN108536527A (zh) 一种嵌入式软件的任务调度方法及装置
CN108028806A (zh) 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置
CN110532060A (zh) 一种混合网络环境数据采集方法及系统
JP5420477B2 (ja) 情報サービスシステム
KR100845707B1 (ko) 컨테이너 터미널의 다중분산 작업계획 시스템 및 이를이용한 다중분산 작업계획 방법
CN109525443B (zh) 分布式前置采集通讯链路的处理方法、装置和计算机设备

Legal Events

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