CN108920252A - 一种基于多队列千兆以太网控制器的io虚拟化装置 - Google Patents

一种基于多队列千兆以太网控制器的io虚拟化装置 Download PDF

Info

Publication number
CN108920252A
CN108920252A CN201810622241.8A CN201810622241A CN108920252A CN 108920252 A CN108920252 A CN 108920252A CN 201810622241 A CN201810622241 A CN 201810622241A CN 108920252 A CN108920252 A CN 108920252A
Authority
CN
China
Prior art keywords
ring
module
host
address
virtual machine
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.)
Pending
Application number
CN201810622241.8A
Other languages
English (en)
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.)
Xian Microelectronics Technology Institute
Original Assignee
Xian Microelectronics Technology Institute
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 Xian Microelectronics Technology Institute filed Critical Xian Microelectronics Technology Institute
Priority to CN201810622241.8A priority Critical patent/CN108920252A/zh
Publication of CN108920252A publication Critical patent/CN108920252A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了一种基于多队列千兆以太网控制器的IO虚拟化装置,包括接收引擎模块,完成数据帧从以太网控制器到主机内存的传输;接收BD环模块,存放从主机内存获取的接收BD信息,包括若干个接收BD环,其中一个接收BD环与主机对应,其他的接收BD环与主机上的虚拟机唯一对应;发送引擎模块,根据目的MAC地址,将主机内存中待发送的数据帧发送到以太网控制器;发送BD环模块,存放从主机内存获取的发送BD信息,包括若干个发送BD环,其中一个发送BD环与主机对应,其他的发送BD环与主机上的虚拟机唯一对应。基于多队列千兆以太网控制器,并且对该控制器硬件构架进行优化和改进,加快同一宿主计算机上虚拟机之间的数据交换,并且降低了宿主计算机的CPU负担。

Description

一种基于多队列千兆以太网控制器的IO虚拟化装置
技术领域
本发明属于计算机网络及计算机系统结构技术领域;具体涉及一种基于多队列千兆以太网控制器的IO虚拟化装置。
背景技术
随着虚拟机在服务器端的广泛应用,IO虚拟化技术也在不断发展以更好地支持虚拟机的应用。从最初的采用软件的方式来模拟硬件设备,IO虚拟化技术目前已广泛采用基于硬件的方式实现,更具体的说,是基于网络控制器实现。
高性能以太网控制器均支持IO虚拟化技术,以降低宿主计算机的CPU负担,提高内部虚拟机的性能。目前主流的实现方式是采用多队列以太网控制器,即在控制器中根据MAC地址对数据帧进行分类并划分为多个队列,每个队列服务于唯一的一台虚拟机。具体来说,目前主流的技术主要有英特尔提出的VMDq(Virtual Machine Device queue)技术和基于PCI-e的SR-IOV(Single Root I/O Virtualization)技术。
VMDq技术不再依赖上层的虚拟机管理软件对数据包进行分类和排序,而是使用控制器中的硬件实现。VMDq在网络控制器中为每个虚拟机分配了独立的队列,这样虚拟机可以通过管理软件与指定队列直接进行数据交换。
SR-IOV技术基于PCI-e的单根虚拟化,可以将一个PCI-e设备在上层系统中注册成为多个PCI-e设备,即多个网络控制器(每个网络控制器都有独立的中断ID、收发队列、QoS管理机制);每个控制器可以分配给虚拟机使用。
与基于软件的方式相比,尽管VMDq和SR-IOV技术显著提高了IO虚拟化的性能,但是同一宿主计算机上虚拟机之间的数据交换仍然是通过虚拟机管理软件实现的,其性能会必定受到系统计算资源的限制。上述两种主流的IO虚拟化技术均未对内部虚拟机之间的数据交换情况进行优化和考虑,然而随着网络带宽和应用需求的不断增大,同一宿主计算机上虚拟机之间的数据交换会越来越频繁,且数据交换量也会越来越大。在这种情况下,若仍然采用软件的方式来实现内部虚拟机之间的数据交换,势必会占用宿主计算机的计算资源,造成系统性能的下降。
发明内容
本发明提供了一种基于多队列千兆以太网控制器的IO虚拟化装置;基于多队列千兆以太网控制器,并且对该控制器硬件构架进行优化和改进,加快同一宿主计算机上虚拟机之间的数据交换,并且降低了宿主计算机的CPU负担。
本发明的技术方案是:一种基于多队列千兆以太网控制器的IO虚拟化装置,包括接收引擎模块,完成数据帧从以太网控制器到主机内存的传输;接收BD环模块,存放从主机内存获取的接收BD信息,包括若干个接收BD环,其中一个接收BD环与主机对应,其他的接收BD环与主机上的虚拟机唯一对应;发送引擎模块,根据目的MAC地址,将主机内存中待发送的数据帧发送到以太网控制器;发送BD环模块,存放从主机内存获取的发送BD信息,包括若干个发送BD环,其中一个发送BD环与主机对应,其他的发送BD环与主机上的虚拟机唯一对应;状态块模块,记录接收BD环模块和发送BD环模块中各个BD环的当前状态,寄存器模块,存储硬件电路中的配置信息,包括主机以及各个虚拟机的MAC地址,接收BD环和发送BD环包含的BD信息数目及其更新的阈值;所述接收引擎模块和发送引擎模块均能够从接收BD环模块中获取接收BD信息。
更进一步的,本发明的特点还在于:
其中发送引擎模块包括AHB从机接口模块,实现主机内存对间接缓存模块的访问;间接缓存模块,存储主机内存中发送的数据帧;间接缓存管理模块,对间接缓存模块中RAM的地址管理;地址过滤模块,根据数据帧的目的MAC地址对数据帧进行过滤;AHB主机接口模块,获取发送缓存管理模块中的地址,并且将数据帧传输到发送缓存模块中;发送数据引擎模块,针对接收BD环模块和发送BD环模块发起相应的DMA请求,进行数据帧的传输;发送BD引擎模块,从主机内存中获取相应的BD信息并存放在发送BD环模块中;DMA仲裁模块,采用轮询的方式对发送数据引擎模块中的两种DMA请求进行仲裁。
其中发送数据引擎模块采用轮询的方式访问发送BD环模块中的各个BD环,同时获取相应的BD信息,并且发起DMA请求,完成数据帧从主机内存到间接缓存模块的传输,并且发送数据引擎模块更新状态块模块中发送BD环的状态。
其中发送数据引擎模块收到地址过滤模块的内部交换信息,发送数据引擎模块进入内部交换模式,内部交换模式为:发送数据引擎模块根据内部交换信息,确定待交换数据帧在间接缓存模块中的地址以及该地址对应的虚拟机,然后发送数据引擎模块访问状态块模块,获得上述虚拟机的接收BD环的状态信息,并且发送数据引擎模块访问上述接收BD环,然后发起DMA请求,完成待交换数据帧到虚拟机的传输,最后发送数据引擎模块更新状态块模块中接收BD环的状态。
其中接收引擎模块分别从接收缓存模块和接收BD环模块中获取接收到的数据帧及相应的BD信息,同时向主机内存发起一个DMA请求,将接收缓存中的数据帧发送到BD信息中描述的主机地址对应的虚拟机。
其中发送引擎模块从发送BD环模块中获取待发送数据帧所对应的BD信息,并且向主机内存发送一个DMA请求,当数据帧的目的MAC地址与主机上所有虚拟机地址均不相同时,将数据帧通过MAC层发送到网络链路中;当数据中的目的MAC地址与主机上任意一个虚拟机地址相同时,发送引擎模块才能够该虚拟机所对应的接收BD环中获取BD信息,并将数据帧发送到BD信息中描述的主机地址对应的虚拟机。
与现有技术相比,本发明的有益效果是:该方法在保持对传统IO虚拟化方法兼容的基础上,在控制器中实现了对同一宿主计算机上不同虚拟机之间数据帧的快速交换。该方法不需要主机上CPU的参与,因此不会占用任何的计算资源;同时该方法对上层应用透明,不需要上层虚拟机管理程序做任何的修改。除此之外,也是最显著的优势是,与传统方法相比,该方法的交换速率更快,延时更小,从而可以进一步提高虚拟机的系统性能。
附图说明
图1为本发明的架构图;
图2为本发明中发送引擎模块的架构图。
图中:1为接收引擎模块;2为接收BD环模块;3为发送引擎模块;4为发送BD环模块;5为状态块模块;6为寄存器模块;7为AHB从机接口模块;8为间接缓存模块;9为间接缓存管理模块;10为地址过滤模块;11为DMA仲裁模块;12为发送BD引擎模块;13为发送数据引擎模块;14为AHB主机接口模块。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步说明。
本发明提供了一种基于多队列千兆以太网控制器的IO虚拟化装置,如图1所示,包括接收引擎模块1、接收BD环模块2、发送引擎模块3、发送BD环模块4、状态块模块5和寄存器模块6。
其中接收引擎模块1用于完成数据帧从以太网控制器到主机内存的传输,还包括相应的接收IO虚拟化处理。具体的,接收引擎模块1分别从接收缓存模块和接收BD环模块2获取接收到的数据帧及相应的BD(buffer descriptor)信息,然后向PCI-E模块(即主机内存)发起一个DMA请求,将接收缓存中的数据帧发送到该BD信息中描述的主机地址对应的虚拟机上。具体的,接收引擎模块1根据接收缓存管理模块提供的地址,从接收缓存模块中获取相应的数据帧,同时获取到数据帧中的目的MAC地址,接收缓存模块会根据寄存器模块6中对各个虚拟机目的MAC地址的配置,确定与上述目的MAC地址对应的虚拟机接收该数据帧,然后访问接收BD环模块2,从上述虚拟机所对应的接收BD环中获取接收BD信息,最后按照接收BD信息中所描述的主机地址,通过PCI-E模块将数据帧发送至主机内存上。接收引擎模块1还需要对接收BD环进行管理。当接收BD环模块2中接收BD环个数等于或少于寄存器模块6设定的阈值时,接收引擎模块1会发起DMA请求,通过PCI-E模块从主机内存中获取相应的接收BD信息存放于接收BD环模块2中。
接收BD环模块2,用于存放从主机内存中获取的接收BD信息。接收BD环模块2由若干个接收BD环组成,其中有且仅有一个接收BD环对应主机,其它的接收BD环分别与主机上运行的各个虚拟机对应。换句话说,根据主机上运行的虚拟机的情况,接收BD信息被分配到不同的接收BD环中。除与主机对应的接收BD环外,其它每个接收BD环唯一服务于主机上的一台虚拟机。其中接收BD环是由接收BD信息组成的队列,因此其具有队头和队尾。当接收引擎模块1需要接收BD信息时,会从队头处获取;当接收引擎模块1从主机内存获取到新的接收BD信息时,会将其存储在队尾处。每个接收BD环所具有的信息数由寄存器模块6中的配置决定。
接收BD环模块2不仅可以被接收引擎模块1访问,同时还可以被发送引擎模块3访问,即接收引擎模块和发送引擎模块均可从接收BD环模块中获取接收BD。
发送引擎模块3,完成数据帧从主机内存到以太网控制器的发送。发送引擎模块3发送BD环模块1获取待发送的数据帧所对应的发送BD信息,然后向主机内存发起一个DMA请求,获取到该发送BD信息描述的主机地址上的数据帧。然后获取到该数据帧对应的目的MAC地址。当该数据帧的目的MAC地址与主机上虚拟机的MAC地址均不相同时,则按照传统IO虚拟化的方法,将该数据帧通过MAC并最终发送到网络链路中;当该数据帧的目的MAC地址与主机上任意一个虚拟机的MAC地址相同时,即为内部虚拟机之间进行数据交换,则发送引擎模块3会实现数据帧在以太网控制器内部的交换,即发送引擎模块3会从该虚拟机所对应的接收BD环中获取一个接收BD信息,然后将该数据帧发送到接收BD信息对应的主机内存地址对应的虚拟机。该过程保持了对传统IO虚拟化方法的兼容,同时实现了内部虚拟机之间在网络控制器上快速的数据交换。
发送BD模块4,存放从主机内存获取的发送BD信息。该模块由若干个发送BD环组成,其中仅有一个发送BD环对应主机,其它的发送BD环分别与主机上运行的各个虚拟机对应。根据主机上运行的虚拟机的情况,发送BD信息被分配到不同的发送BD环中。除与主机对应的发送BD环外,其它每个发送BD环唯一服务于主机上的一台虚拟机。发送BD环是由发送BD信息组成的队列,因此其具有队头和队尾。当发送引擎模块3需要发送BD信息时,会从队头处获取发送BD信息;当发送引擎模块3从主机内存获取到新的发送BD信息时,会将其存储在队尾处。每个发送BD环所具有的发送BD信息数由寄存器模块6中的配置决定。
状态块模块5,记录各个发送BD环和接收BD环的当前状态,并进行更新。状态块模块的5记录每个发送BD环和接收BD环的队头及队尾的位置,因此可以得到其可用的BD信息的数量。当任意一个BD环的可用BD信息数量等于或少于寄存器模块6设定的阈值时,状态块模块5就会触发接收引擎模块1或发送引擎模块3对各个BD环进行更新,即从主机获取新的BD信息存储至BD环队尾。
寄存器模块6,存储硬件电路中各个模块的配置信息。主要的配置信息包括主机及各个虚拟机的MAC地址,发送BD环和接收BD环所包含的BD信息数目,及其更新的阈值等。该模块上电后由用户进行配置,并且在实时工作中,用户也可以根据需求动态地修改相应的寄存器信息,从而满足不同的应用需求。
优选的,如图2所示,发送引擎模块3包括AHB从机接口模块7,间接缓存模块8,间接缓存管理模块9,地址过滤模块10,DMA仲裁模块11,发送BD引擎模块12,发送数据引擎模块13和AHB主机模块构成14。
其中AHB从机接口模块7根据AHB总线协议规范实现主机内存对间接缓存模块的访问。间接缓存模块8为双端口RAM,主机内存和地址过滤模块10均能够对该模块进行访问,该模块的主要功能是存储从主机内存发送来的数据帧。间接缓存管理模块9的主要功能是实现对间接缓存模块8中RAM的地址管理,标示出RAM中可用的地址空间和已经被使用的地址空间。
其中地址过滤模块10的主要功能是根据数据帧的目的MAC地址对数据帧进行过滤。具体来说,该模块首先从间接缓存管理模块9获得接收到的数据帧的地址及长度,然后从间接缓存模块8获得该数据帧,并根据寄存器模块6的配置,对该数据帧的目的MAC地址进行过滤。若该数据帧的目的MAC地址与寄存器模块中的配置相匹配,则表示该数据帧为虚拟机内部交换的数据帧,因此发送内部交换指示信息给发送数据引擎模块待其处理;否则,将该数据帧发送给AHB主机接口模块14,同时通知间接缓存管理模块9释放该数据帧在RAM中的地址空间。
其中DMA仲裁模块11的主要功能是采用轮询的方式对发送BD引擎模块12和发送数据引擎模块13发起的DMA请求进行仲裁,并将仲裁后的请求发送到主机内存中的DMA请求中。发送BD引擎模块12的主要功能是根据状态块模块5统计的状态信息,在发送BD环模块4中发送BD环的个数等于或少于寄存器模块设定的阈值时,发起DMA请求,通过PCI-E模块从主机内存中获取相应的发送BD环存放于发送BD环模块4中。发送数据引擎模块13的主要功能是通过分析发送BD环模块4、地址过滤模块10、间接缓存管理模块9、接收BD环模块1以及状态块模块5提供的信息,发起相应的DMA请求,实现对数据帧的传输。
本装置的发送引擎模块3在运行的过程中有两种模式,分别为:
发送数据引擎模块13采用轮询的方式访问发送BD环模块3中的各个发送BD环,并且获取发送BD信息,然后根据发送BD信息中的主机地址等信息以及间接缓存管理模块9中获得的地址信息,发起DMA请求,实现数据帧从主机内存到间接缓存模块8的传输。DMA传输完成后,发送数据引擎模块13更新状态块模块中发送BD环的状态。
发送数据引擎模块13收到来自地址过滤模块10的内部交换信息时,该模块会在完成当前的DMA操作后进入内部交换模式。在内部交换模式下,发送数据引擎模块13首先分析内部交换信息,确定待交换数据帧在间接缓存模块8中的地址以及需要转发到的虚拟机;接着该模块访问状态块模块5,获得该虚拟机的接收BD环的状态信息;根据该状态信息,该模块访问接收BD环模块2获取到相应的接收BD信息;然后该模块根据接收BD信息中的主机地址和待交换数据帧在间接缓存模块8中的地址及长度,发起DMA请求,实现待交换数据帧到主机上虚拟机的传输;最后发送数据引擎模13块更新状态块模块中接收BD环的状态。
本发明的装置能够用于具有IO虚拟化功能的以太网控制器中,特别适用于面向服务器应用的千兆以太网控制器中。根据上述方案,用Verilog语言对本发明中各个模块的逻辑设计进行描述,并将其与千兆以太网控制器中的MAC和PCI-E、PHY模块集成在一起,在FPGA上进行系统级的验证。验证结果表明,本发明实现了设计功能。针对内部虚拟机之间数据交换的情况,其交换速率明显高于传统的方法,且不占用CPU的计算资源。

Claims (6)

1.一种基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,包括
接收引擎模块(1),完成数据帧从以太网控制器到主机内存的传输;
接收BD环模块(2),存放从主机内存获取的接收BD信息,包括若干个接收BD环,其中一个接收BD环与主机对应,其他的接收BD环与主机上的虚拟机唯一对应;
发送引擎模块(3),根据目的MAC地址,将主机内存中待发送的数据帧发送到以太网控制器;
发送BD环模块(4),存放从主机内存获取的发送BD信息,包括若干个发送BD环,其中一个发送BD环与主机对应,其他的发送BD环与主机上的虚拟机唯一对应;
状态块模块(5),记录接收BD环模块(2)和发送BD环模块(4)中各个BD环的当前状态,
寄存器模块(6),存储硬件电路中的配置信息,包括主机以及各个虚拟机的MAC地址,接收BD环和发送BD环包含的BD信息数目及其更新的阈值;
所述接收引擎模块(1)和发送引擎模块(3)均能够从接收BD环模块(2)中获取接收BD信息。
2.根据权利要求1所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送引擎模块(3)包括
AHB从机接口模块(7),实现主机内存对间接缓存模块(8)的访问;
间接缓存模块(8),存储主机内存中发送的数据帧;
间接缓存管理模块(9),对间接缓存模块(8)中RAM的地址管理;
地址过滤模块(10),根据数据帧的目的MAC地址对数据帧进行过滤;
AHB主机接口模块(14),获取发送缓存管理模块中的地址,并且将数据帧传输到发送缓存模块中;
发送数据引擎模块(13),针对接收BD环模块(2)和发送BD环模块(4)发起相应的DMA请求,进行数据帧的传输;
发送BD引擎模块(12),从主机内存中获取相应的BD信息并存放在发送BD环模块中;
DMA仲裁模块(11),采用轮询的方式对发送数据引擎模块(13)中的两种DMA请求进行仲裁。
3.根据权利要求2所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送数据引擎模块(13)采用轮询的方式访问发送BD环模块(1)中的各个BD环,同时获取相应的BD信息,并且发起DMA请求,完成数据帧从主机内存到间接缓存模块(8)的传输,并且发送数据引擎模块(13)更新状态块模块(5)中发送BD环的状态。
4.根据权利要求2所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送数据引擎模块(13)收到地址过滤模块(10)的内部交换信息,发送数据引擎模块(13)进入内部交换模式,内部交换模式为:发送数据引擎模块(13)根据内部交换信息,确定待交换数据帧在间接缓存模块中的地址以及该地址对应的虚拟机,然后发送数据引擎模块(13)访问状态块模块(5),获得上述虚拟机的接收BD环的状态信息,并且发送数据引擎模块(13)访问上述接收BD环,然后发起DMA请求,完成待交换数据帧到虚拟机的传输,最后发送数据引擎模块(13)更新状态块模块(5)中接收BD环的状态。
5.根据权利要求1所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述接收引擎模块(1)分别从接收缓存模块和接收BD环模块(2)中获取接收到的数据帧及相应的BD信息,同时向主机内存发起一个DMA请求,将接收缓存中的数据帧发送到BD信息中描述的主机地址对应的虚拟机。
6.根据权利要求1所述的基于多队列千兆以太网控制器的IO虚拟化装置,其特征在于,所述发送引擎模块(3)从发送BD环模块中获取待发送数据帧所对应的BD信息,并且向主机内存发送一个DMA请求,当数据帧的目的MAC地址与主机上所有虚拟机地址均不相同时,将数据帧通过MAC层发送到网络链路中;当数据中的目的MAC地址与主机上任意一个虚拟机地址相同时,发送引擎模块(3)才能够该虚拟机所对应的接收BD环中获取BD信息,并将数据帧发送到BD信息中描述的主机地址对应的虚拟机。
CN201810622241.8A 2018-06-15 2018-06-15 一种基于多队列千兆以太网控制器的io虚拟化装置 Pending CN108920252A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810622241.8A CN108920252A (zh) 2018-06-15 2018-06-15 一种基于多队列千兆以太网控制器的io虚拟化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810622241.8A CN108920252A (zh) 2018-06-15 2018-06-15 一种基于多队列千兆以太网控制器的io虚拟化装置

Publications (1)

Publication Number Publication Date
CN108920252A true CN108920252A (zh) 2018-11-30

Family

ID=64419710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810622241.8A Pending CN108920252A (zh) 2018-06-15 2018-06-15 一种基于多队列千兆以太网控制器的io虚拟化装置

Country Status (1)

Country Link
CN (1) CN108920252A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532063A (zh) * 2019-08-13 2019-12-03 南京芯驰半导体科技有限公司 一种同时支持总线虚拟化和功能安全的系统及方法
CN113037604A (zh) * 2021-03-16 2021-06-25 西安微电子技术研究所 一种基于两级描述符表征的以太网控制系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103036759A (zh) * 2012-12-08 2013-04-10 中国科学院软件研究所 一种x86虚拟化条件下降低网络i/o操作cpu开销的系统
CN103155520A (zh) * 2010-08-06 2013-06-12 思杰系统有限公司 用于多核虚拟分组引擎装置中的半虚拟化驱动程序的系统和方法
CN103621026A (zh) * 2013-04-01 2014-03-05 华为技术有限公司 虚拟机的数据交换方法、装置和系统
EP2897007A1 (en) * 2014-01-20 2015-07-22 Yokogawa Electric Corporation Process controller and updating method thereof
CN106445628A (zh) * 2015-08-11 2017-02-22 华为技术有限公司 一种虚拟化方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155520A (zh) * 2010-08-06 2013-06-12 思杰系统有限公司 用于多核虚拟分组引擎装置中的半虚拟化驱动程序的系统和方法
CN103036759A (zh) * 2012-12-08 2013-04-10 中国科学院软件研究所 一种x86虚拟化条件下降低网络i/o操作cpu开销的系统
CN103621026A (zh) * 2013-04-01 2014-03-05 华为技术有限公司 虚拟机的数据交换方法、装置和系统
EP2897007A1 (en) * 2014-01-20 2015-07-22 Yokogawa Electric Corporation Process controller and updating method thereof
CN106445628A (zh) * 2015-08-11 2017-02-22 华为技术有限公司 一种虚拟化方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LONGFEI LI等: "A VM-Friendly NIC Architecture for Cloud Computing", 《2017 IEEE 2ND INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND BIG DATA ANALYSIS》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532063A (zh) * 2019-08-13 2019-12-03 南京芯驰半导体科技有限公司 一种同时支持总线虚拟化和功能安全的系统及方法
CN110532063B (zh) * 2019-08-13 2022-04-01 南京芯驰半导体科技有限公司 一种同时支持总线虚拟化和功能安全的系统及方法
CN113037604A (zh) * 2021-03-16 2021-06-25 西安微电子技术研究所 一种基于两级描述符表征的以太网控制系统

Similar Documents

Publication Publication Date Title
US12001681B2 (en) Distributed storage system and data processing method
US8990801B2 (en) Server switch integration in a virtualized system
CN106850565B (zh) 一种高速的网络数据传输方法
DE60204213T2 (de) Level 2 Cache mit lokaler Beibehaltung von Kohärenzblöcken
US8539199B2 (en) Hash processing in a network communications processor architecture
US20050235072A1 (en) Data storage controller
CN108881348A (zh) 服务质量控制方法、装置和存储服务器
US20110225168A1 (en) Hash processing in a network communications processor architecture
US9330002B2 (en) Multi-core interconnect in a network processor
WO2019153702A1 (zh) 一种中断处理方法、装置及服务器
CN108984571A (zh) 事务标识操作方法、系统和计算机可读存储介质
CN108920252A (zh) 一种基于多队列千兆以太网控制器的io虚拟化装置
CN103634374B (zh) 一种并发访问请求的处理方法及装置
US10585598B2 (en) Modifying accessibility based on memory access patterns
CN109101439B (zh) 一种报文处理的方法及装置
CN104750614B (zh) 用于管理存储器的方法和装置
CN104281539B (zh) 一种缓存管理方法及装置
CN114253733B (zh) 一种内存管理方法、装置、计算机设备和存储介质
CN114625220B (zh) 服务器及其数据处理方法
CN102902593A (zh) 基于缓存机制的协议分发处理系统
CN102497431B (zh) 一种tcp连接缓存应用数据的内存申请方法和系统
CN1930555A (zh) 用于合并相干信息的方法和系统
CN115756296A (zh) 缓存管理方法和装置、控制程序及控制器
CN104303474B (zh) 资源配置方法、交换机及控制器
US20150254100A1 (en) Software Enabled Network Storage Accelerator (SENSA) - Storage Virtualization Offload Engine (SVOE)

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181130