CN104395895A - 用于输入/输出虚拟化的系统和方法 - Google Patents
用于输入/输出虚拟化的系统和方法 Download PDFInfo
- Publication number
- CN104395895A CN104395895A CN201380033532.9A CN201380033532A CN104395895A CN 104395895 A CN104395895 A CN 104395895A CN 201380033532 A CN201380033532 A CN 201380033532A CN 104395895 A CN104395895 A CN 104395895A
- Authority
- CN
- China
- Prior art keywords
- data
- server node
- nic
- virtual
- place
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2854—Wide area networks, e.g. public data networks
- H04L12/2856—Access arrangements, e.g. Internet access
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q1/00—Details of selecting apparatus or arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0058—Bus-related hardware virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3808—Network interface controller
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明描述一种包括多个虚拟网络接口卡(vNIC)和输入/输出(I/O)处理复合体的集合装置。vNIC与多个处理装置通信。每个处理装置具有至少一个虚拟机(VM)。所述I/O处理复合体介于所述vNIC与至少一个物理NIC之间。所述I/O处理复合体包括至少一个代理NIC和虚拟交换机。所述虚拟交换机经由所述多个vNIC中的vNIC在至少一个VM与至少一个代理NIC之间建立的通信路径与所述多个处理装置中的处理装置交换数据。
Description
发明领域
本发明一般来说涉及虚拟化网络,并且更具体来说涉及用于输入/输出(I/O)虚拟化的系统和方法。
技术背景
数据中心通常是提供支持企业和组织的互联网和内联网服务的集中式设施。典型的数据中心可装有各种类型的电子设备,如计算机、域名系统(DNS)服务器、网络交换机、路由器、数据存储装置等。给定的数据中心可具有成百上千个互连的服务器节点,所述服务器节点经由包括交换机、路由器等的交换体系结构来彼此通信并且与外部装置通信。数据中心可被配置用于虚拟化,从而容许服务器节点共享网络接口卡(NIC)、硬盘驱动器或其它硬件。虚拟化环境通常需要较少的硬件,进而减少功耗、所占空间、电缆敷设和运行数据中心的相关成本。
实施方案概述
根据一个方面,提供一种包括多个虚拟网络接口卡(vNIC)和输入/输出(I/O)处理复合体的集合装置。vNIC与多个处理装置通信。每个处理装置具有至少一个虚拟机(VM)。I/O处理复合体逻辑上介于vNIC与至少一个物理NIC之间。I/O处理复合体包括至少一个代理NIC和虚拟交换机。虚拟交换机经由多个vNIC中的vNIC在至少一个VM与至少一个代理NIC之间建立的通信路径与多个处理装置中的处理装置交换数据。
根据另一个方面,提供一种包括多个服务器节点和集合装置的服务器集合系统。每个服务器节点具有至少一个虚拟机(VM)。集合装置耦接在多个服务器节点之间并且包括:与服务器节点通信的多个虚拟网络接口卡(vNIC);以及输入输出(I/O)处理复合体。I/O处理复合体包括至少一个代理NIC和虚拟交换机,所述虚拟交换机经由多个vNIC中的vNIC在至少一个VM与至少一个代理NIC之间建立的通信路径与多个服务器节点中的服务器节点交换数据。
根据一个方面,提供一种在虚拟化网络中执行I/O操作的方法。所述方法包括在集合装置处创建虚拟交换机以及在服务器节点处的虚拟机与集合装置处的虚拟交换机之间形成通信路径。
根据一个方面,提供一种包括计算机可读存储介质的计算机程序产品,所述计算机可读存储介质体现有计算机可读程序代码。计算机可读程序代码包括被配置来在集合装置处创建虚拟交换机的计算机可读程序代码;以及被配置来在服务器节点处的虚拟机与集合装置处的虚拟交换机之间形成通信路径的计算机可读程序代码。
根据一个方面,提供一种用于减少与I/O虚拟化操作相关联的开销的方法,所述方法包括:在服务器节点集合装置处构建并且布置虚拟交换机;以及在一个或多个服务器节点虚拟机与物理装置之间的通信信道上形成数据路径,所述物理装置与虚拟交换机通信。
根据一个方面,提供一种集合系统,所述集合系统包括:一个或多个处理装置处的多个虚拟机;以及与所述一个或多个处理装置通信的输入/输出(I/O)处理复合体。I/O处理复合体包括虚拟交换机。I/O处理复合体在一个或多个虚拟机中的虚拟机与虚拟交换机之间的通信信道上建立数据路径。
图式中的若干视图的简要描述
通过参考结合附图进行的以下描述,可更好地理解本发明的以上和其它优势,在附图中相同数字指示各个图中的相同结构元件和特征。附图未必按比例绘制,而是将重点放在示出本发明的原理上。
图1是常规服务器节点的方框图;
图2是根据一个实施方案的计算基础设施的方框图,所述计算基础设施包括与集合系统通信的多个服务器节点;
图3是根据一个实施方案的I/O处理复合体的方框图;
图4是示出根据一个实施方案的一种用于服务器节点与集合系统之间的电子通信的方法的流程图;
图5是示出根据一个实施方案的一种用于虚拟交换机与目的地服务器节点之间的电子通信的方法的流程图;
图6是根据另一个实施方案的计算基础设施中的数据流路径的图解;以及
图7是根据另一个实施方案的计算基础设施中的数据流路径的图解。
详述
以下描述中阐述特定细节,但是本领域的普通技术人员应了解的是,可在无需至少一些细节的情况下实践系统和方法。在一些情况下,并未详细描述已知特征或过程以免混淆本发明。
图1是常规服务器节点112的方框图。服务器节点112包括一个或多个处理器102,例如微处理器、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、存储器控制器、多核处理器、总线适配器和其它类型的数据处理装置或这些装置和其它装置的组合。
服务器节点112还包括局部存储器104和网络接口卡(NIC)164。局部存储器104可包括非易失性存储器或易失性存储器,例如动态随机存取存储器(DRAM)或静态RAM(SRAM)。NIC 164可包括以太网、高速外设部件互连(PCIe)或其它网络连接器118,以用于与例如网络交换机或路由器的交换装置建立电子通信。
服务器节点112可被配置用于虚拟化。因此,在局部存储器104处所提供的可包括一个或多个虚拟机(VM)114-1、114-2(总体为114),从而容许不同处理环境在服务器节点112处出现。VM 114-1、114-2可分别包括对应于虚拟机152的操作系统154-1、154-2(总体为154)、客体装置驱动器156-1、156-2(总体为156)和虚拟网络接口卡(vNIC)158-1、158-2(总体为158)。服务器节点112包括超级管理程序160,所述超级管理程序提供服务器节点112的物理元件的虚拟化抽象,进而容许VM 114共享例如NIC 164的硬件资源。VM 114可使用如virtio的I/O虚拟化框架与超级管理程序160通信。
每个客体操作系统154-1、154-2可执行对应于一个或多个应用程序的程序代码。这一特征在如下数据中心环境中是可取的:其中一个客户可在包括VM 114-1的第一虚拟化环境处运行一组应用程序,而另一客户可在包括VM 114-2的第二虚拟化环境处运行一组不同应用程序。超级管理程序160可包括在虚拟化环境中提供网络连接性以使得在VM 114-1、114-2处运行的应用程序可在虚拟网络中通信的虚拟交换机162或vswitch。除了提供选路发送之外,服务器节点112处的虚拟交换机162还可提供如包检查和安全控制的其它特征,所述安全控制例如用于网络防火墙的访问控制列表(ACL)。
超级管理程序160和虚拟交换机162在服务器节点112处执行I/O虚拟化操作,所述I/O虚拟化操作可包括在VM 114之间使用缓慢且处理器密集型的“世界交换机”。超级管理程序160处的虚拟交换以这种方式增加开销并且降低VM I/O性能,从而导致带宽、CPU资源的低效利用,并且还导致高延迟。可能发生不一致的CPU利用,因为虚拟交换机162可假设CPU周期预期用于一个VM(例如,VM 114-1)下的客户端应用程序,这可能影响在另一个VM(例如,VM 114-2)处运行的应用程序。
为了减少与虚拟化环境相关联的CPU开销和流量延迟,希望提供NIC装置到客体虚拟机的直接通过。然而,这样做需要绕过超级管理程序160和虚拟交换机162,从而导致与虚拟交换机162所提供的功能性和安全性有关的限制。
本发明概念提供一种集合系统和方法,用来减少与在服务器节点VM与如NIC、基本输入输出系统(BIOS)、主机总线适配器(HBA)硬盘驱动器等物理装置之间执行的I/O虚拟化操作相关联的开销,其实现方式是:在服务器节点集合系统处构建并且布置虚拟交换机,以及在从服务器节点VM到服务器节点集合系统的通信信道(例如,PCIe连接等)上形成数据路径。服务器节点集合系统处的虚拟交换机从服务器节点处的超级管理程序卸载虚拟交换功能。这样做减少了与服务器节点处的I/O虚拟化操作相关的CPU密集型处理,因为超级管理程序在这些操作中的作用被减少或消除。虚拟网络可因此延伸到集合装置,从而在需要电子装置之间的大规模通信的数据中心或其它环境处提供可扩缩性。虚拟交换机在处理ACL、监测虚拟机之间的安全性方面不受限制,或与选路发送决定、隧道效应(例如,IP或通用路由封装(GRE)隧道效应)或虚拟化主机处的相关特征相关。相反,这些特征在服务器节点集合系统处是可用的。
如上所述,附接的服务器节点处的VM可使用virtio(本领域中已知的用于I/O的虚拟化框架)与超级管理程序通信。本发明概念的实施方案证实,当执行I/O操作时,超级管理程序的与I/O有关的作用被减少或消除。相反,例如可提供硬件来执行VM的I/O操作,从而在VM与服务器节点集合系统之间建立直接通信、减少I/O延迟和在其它情况下由VM消耗的CPU资源。相反,服务器节点集合系统与互连的服务器节点的局部存储器通信,例如以在I/O操作中读取/写入数据。服务器节点集合系统可包括输入/输出存储器管理单元(IOMMU)。IOMMU可由超级管理程序控制,例如以在提供存储器保护的同时促进跨超级管理程序的通过,例如当执行直接存储器存取(DMA)操作时。这一特征可消除在超级管理程序的引导下发生的存储器到存储器的数据复制。另一特征在于,vNIC可供虚拟化服务器节点处的客体使用,从而容许在无需超级管理程序干预的情况下直接附接到集合系统。
图2是根据一个实施方案的计算基础设施的方框图,所述计算基础设施包括与集合系统200通信的多个服务器节点212-1至212-N(总体为212)。
集合系统200包括多个vNIC 222-1至222-N(总体为222)、交换机结构224和I/O处理复合体226。服务器节点212或相关处理装置可依靠集合系统200来共享如NIC 242的物理装置,或共享与集合系统300通信的存储器、BIOS或其它计算机硬件部件。
交换机结构224包括多个I/O端口(未示出),所述I/O端口在服务器节点212至212-N和/或一个或多个电子装置252之间交换数据或其它电子信息,所述一个或多个电子装置通过网络路由器324等与集合系统通信。交换机结构224可包括用于在I/O端口之间移动数据的交换配置,例如纵横式交换,如本领域的普通技术人员所熟知。交换机结构224和I/O处理复合体226可经由I/O通信信道227加以互连,所述I/O通信信道227提供带宽以用于在交换机结构224处的输出端口与I/O处理复合体226之间交换数据。
I/O处理复合体226处理在服务器节点212与例如远程电子装置252的一个或多个外部电子装置之间交换的数据。在一个实施方案中,I/O处理复合体226包括用于在服务器节点212和/或远程电子装置252之间交换数据的网络处理器。在另一个实施方案中,I/O处理复合体226包括用于根据控制平面处理器(未示出)向交换机结构224执行数据传递或从交换机结构224执行数据传递的多路复用器和其它逻辑,可在所述控制平面处理器处提供多个vNIC 222-1至222-N(总体为222)。这里,I/O处理复合体226可充当用于例如在两个或更多个服务器节点312之间或在服务器节点212与远程计算装置252之间将数据传输到集合系统200中并且将数据从集合系统200传输出去的暂存区。
每个vNIC 222可连接到下文详细描述的I/O处理复合体226处的虚拟交换机。每个vNIC 222可将服务器节点212处的VM 252逻辑上连接到I/O处理复合体226处的虚拟交换机处的端口。这可通过在vNIC 222与服务器节点222处的vNIC接口258-1至258-N(总体为258)之间经由PCIe连接214或相关网络连接建立通信路径以及通过vNIC接口258交换数据来达成。每个vNIC 222可指派有一个地址,例如MAC地址和/或IP地址。
服务器节点212-1至212-N(总体为212)可为单套接字服务器或其它低功耗的基于处理器的服务器。服务器节点212可配置为处理器群集或其它熟知的布置。服务器节点212可被配置成包括例如本文所描述的一个或多个虚拟化环境。服务器节点212可维持存储器204中所定义的环形缓冲器等,用来处理数据以用于执行数据传输和/或接收操作。
服务器节点212可各自包括至少一个处理器202,所述至少一个处理器202可包括一个或多个微处理器、CPU、GPU、DSP、ASIC、存储器控制器、多核处理器或其它数据处理装置或以上各者的元件的组合。
服务器节点212各自包括局部存储器204。局部存储器204可为非易失性或易失性存储器,例如DRAM或静态RAM(SRAM)的一个或多个信道。服务器节点112可各自包括I/O逻辑(未示出),所述I/O逻辑包括用于管理服务器节点212与集合系统200之间的数据传递并且用于执行本领域的普通技术人员已知的其它I/O功能的南桥或相关I/O控制器。I/O逻辑可包括用于经由单向或双向通信路径214与集合系统200通信的以太网接口、PCIe接口和/或其它网络连接器、接口等。
存储在局部存储器204处的可包括程序代码,如与一个或多个VM 252、操作系统(未示出)和软件应用程序(未示出)(例如数据中心环境中的客户应用程序)相关的程序代码。
服务器节点212的局部存储器204可包括至少一个vNIC接口258-1、258-N(总体为258)。每个vNIC接口258被构建并且布置来在服务器节点112处的一个或多个VM 252与在集合系统200处生成的vNIC 222之间建立通信。在一个实施方案中,在vNIC接口258与对应vNIC 222之间建立1:1关系。在另一个实施方案中,在vNIC接口258与vNIC 222之间建立N:l关系,其中N是大于1的整数。
vNIC接口258可包括一组寄存器,所述一组寄存器包括用于控制对应vNIC 222的数据。vNIC接口258可包括用于在服务器节点存储器204与集合系统200之间传递数据的虚拟DMA引擎。vNIC接口258可包括邮箱,所述邮箱用来与对应vNIC 222通信,例如告知vNIC222发送到vNIC 222的数据将被处理。vNIC接口258可包括向CPU202提供中断的中断生成器。例如,可中断CPU 202,从而指示数据到达。
vNIC接口258可通过PCIe总线或其它通信路径214向对应vNIC222提供通知,这个通知指示数据已经移动到服务器节点212处的局部存储器204以用于传输。经由vNIC接口258及其对应vNIC 222将VM I/O直接发送到I/O处理复合体226,更具体来说,发送到I/O处理复合体226处的虚拟交换机。
在一个实施方案中,VM 252根据如virtio的联盟提供标准与超级管理程序260通信。在另一个实施方案中,VM 252根据专有通信与超级管理程序260通信。不管VM 252与超级管理程序260之间的通信方式如何,可经由VM 252与I/O处理复合体226处的虚拟交换机(未示出)之间的通信来执行I/O操作,其中超级管理程序260所执行的干扰性I/O相关通信很少或根本没有。因此,这一特征可改进I/O性能并且减少与介于VM 252与I/O处理复合体226之间的数据传递相关的延迟。
图3是根据例如图2中示出的一个实施方案的I/O处理复合体226的方框图。I/O处理复合体226可包括处理器302、存储器装置304、至少一个代理NIC 306和至少一个虚拟交换机308。
处理器302执行程序代码以用于执行I/O处理复合体226的功能,例如与虚拟交换机308相关的功能,如基于与数据包相关联的目的地地址将数据引导到代理NIC 306,以及协调与存储器装置304的数据传递及服务器节点212和/或外部装置之间经由NIC 242的数据传递。处理器302可包括一个或多个CPU、GPU、DSP、ASIC、存储器控制器、多核处理器或其它类型的数据处理装置或以上各者的元件的组合。处理器302可由虚拟交换机308和/或与虚拟交换机308通信的一个或多个代理NIC 306使用。
存储器装置304可存储一组描述符和/或数据,以供虚拟交换机308处理。存储器装置304可维持用于NIC 242的缓冲器,例如接收缓冲器。处理器302可将数据串流传输到虚拟交换机308。这一特征可消除复制缓冲器的需要,可通过创建指向存储器装置304中的原始缓冲器的新描述符在适当位置使用所述缓冲器。在一个实施方案中,存储器装置304是I/O处理复合体226的一部分。在另一个实施方案中,存储器装置304与I/O处理复合体226分离并且定位在别处,例如集合系统200的另一个位置处。存储器304可包括规则、ACL或相关准则,其中包括可由虚拟交换机308用来例如处理数据的可执行CPU代码和数据。可处理规则、ACL等来确定可将数据转递到目的地的条件,例如:是否拒绝或转递数据、将数据转递到哪里或关于如何处理含有数据的包的其它信息。
每个代理NIC306被构建并且布置来例如被以1:1关系直接与vNIC 222通信。vNIC 222-1可根据关于从对应服务器节点212-1接收到的数据的目的地信息在处理器302的控制下建立与代理NIC 306的通信。vNIC 222-1可向代理NIC 306发送针对接收数据的可用性的请求。代理NIC 306可发送指示其可接收数据的响应。否则,vNIC 222-1可等到代理NIC 306可用来处理从vNIC 222-1接收的数据。vNIC222-1和代理NIC 306可进入轮询模式,藉此,代理NIC 306可接收关于存储器位置状态的定期轮询以及针对接收并且处理来自vNIC222-1的数据的可用性的请求。
在数据传递操作期间,代理NIC 306可将数据放置在存储器304中和/或从存储器304检索数据。代理NIC 306可向虚拟交换机308生成通知,这个通知指示存储器装置304处的数据可用于处理。代理NIC 306还可从存储器装置304检索数据以供虚拟交换机308处理并且用于输出到目的地。确定有足够的存储器位置可用之后,代理NIC306可将数据分配到存储器304。处理器302可管理代理NIC 306所执行的到存储器304的数据分配。
虚拟交换机308处理来自存储器304或代理NIC 306的数据包、数据帧、数据单元或其它数据单位。虚拟交换机308可根据数据包、数据帧等的标头信息将数据选路发送到其目的地。虚拟交换机308可在服务器节点212处的VM 252之间和/或在VM 252与例如物理NIC242或相关输出装置的物理装置之间提供逻辑连接。集合系统200可包括各自与不同代理NIC 306相关联的多个虚拟交换机308。从代理NIC 306到虚拟交换机308的数据路径可提供目的地信息,虚拟交换机308使用所述目的地信息来选路发送所接收的数据。虚拟交换机308可执行本领域的普通技术人员已知的其它功能,例如包分类、包检查和安全控制(例如,用于网络防火墙的ACL)等。虚拟交换机308可根据规则引擎(未示出)来处理数据,所述规则引擎例如为确定何时删除或转递数据包的防火墙规则。
图4是示出根据一个实施方案的一种用于服务器节点与集合系统之间的电子通信的方法400的流程图。在描述方法400的过程中,对参照图2和图3所描述的服务器节点212和集合系统200进行参考。方法400可由存储在一个或多个服务器节点212的局部存储器204和/或图2和图3的集合系统200中的指令来管控。方法400的一些或全部可在芯片上、在ASIC、片上系统(SOC)或相关装置处执行。
在方框402处,可将数据单元、数据包、数据帧或其它固定长度或可变长度的数据单位提供到服务器节点(例如,源服务器节点212-1)的局部存储器,以用于输出到目的地(例如,服务器节点212-N或外部电子装置252)。源服务器节点212-1的CPU 202可生成关于局部存储器中将要从服务器节点212输出的数据的描述符或相关信息。描述符可包括与将要传递到集合系统200的数据相关的命令、分散-集中列表等。描述符信息可识别:服务器节点局部存储器204中驻留数据内容的位置;数据将要传输到的目的地地址;将要移动的数据的字节数;和/或用于将数据传输到目的地电子装置的其它相关信息。
在方框404处,源服务器节点212-1的vNIC接口258-1可生成如下通知:数据位于局部存储器204中并且可用于传输。vNIC接口258-1可向对应vNIC 222-1通知数据用于传输的可用性。CPU 202可生成经由vNIC接口252-1在通信路径214(例如,PCIE总线)上发送到vNIC 222-1的邮箱写入或相关事件通知。
在方框406处,vNIC 222-1读取并且处理描述符,以确定目的地地址或相关信息。或者,元信息可具备识别目的地端口的传输描述符或包。因此,vNIC 222-1确定数据可用于传递。
在方框408处,vNIC 222-1可使用目的地信息来识别代理NIC 306,所述代理NIC 306与特定虚拟交换机308处的接口通信,所述虚拟交换机用于处理来自源服务器节点212-1的数据。vNIC 222-1可根据通信模式与代理NIC 306通信。根据一个模式,不管代理NIC 306的状态如何,例如不管是否存在用于数据的可用缓冲器位置,vNIC 222-1可建立与代理NIC 306的直接通信。根据另一个模式,可确定缓冲器位置是否可用于数据。如果可用,那么在vNIC 222-1与代理NIC 306之间建立通信路径。I/O处理复合体226可手动或自动被配置用于至少一个通信模式。因此,可形成从数据源(例如,源服务器节点212-1处的VM 252)到代理NIC 306的数据路径,所述代理NIC 306转而与虚拟交换机308通信。参见例如图6中示出的数据路径602。vNIC 222被构建并且布置来沿数据路径将数据从相关联的VM 252输出到虚拟交换机308。
在方框410处,代理NIC 306可将数据传递到存储器装置304处的缓冲器,以供虚拟交换机308进行后续处理。vNIC 222-1可从服务器节点存储器204提取描述符,并且因此在代理NIC 306的引导和控制下通过建立的数据路径将数据移动到存储器装置304。
在方框412处,代理NIC 306生成通知,所述通知向虚拟交换机308告知存储器装置304处可由虚拟交换机308处理的数据。
在方框414处,虚拟交换机308可处理数据,例如检查数据包等。虚拟交换机308可检查数据,以根据描述符和/或标头信息来确定是否应过滤或转递数据。虚拟交换机308可例如根据预先确定的政策来协调一个或多个代理NIC 306与一个或多个目的地服务器节点212存储器和/或远程计算装置252之间的数据传递。虚拟交换机308可识别来自代理NIC 306的数据的来源,从而容许虚拟交换机308执行如维持ACL、包检查等的功能。虚拟交换机308可应用预先确定的规则,处理目的地MAC地址,并且执行本领域的普通技术人员已知的其它虚拟交换机功能。以这种方式,可减少或消除与服务器节点超级管理程序相关的处理器密集型操作。而且,可避免与可变负载相关的问题,例如分配给虚拟机的CPU资源被其它过程消耗。
图5是示出根据一个实施方案的一种用于虚拟交换机与目的地服务器节点之间的电子通信的方法500的流程图。在描述方法500的过程中,对图2至图4进行参考。方法500可由存储在一个或多个服务器节点212的局部存储器204和/或图2和图3的集合系统200中的指令来管控。方法500的一些或全部可在芯片上、在ASIC、片上系统(SOC)或相关装置处执行。
虚拟交换机308从代理NIC 306接收数据,所述代理NIC 306转而可从存储器304检索数据。虚拟交换机308可分类、选路发送或以其它方式处理数据,例如以便将数据转递到目的地服务器节点212-N或远程计算装置252。虚拟交换机308可执行其它熟知的虚拟交换机功能,如包封装/解封装、第2层安全和其它熟知的虚拟交换机特征。
在方框502处,虚拟交换机308通知代理NIC 306数据可用于传输。可根据如地址的目的地信息来确定代理NIC 306。
在方框504处,代理NIC 306建立与目的地vNIC 222-N的通信。可在代理NIC 306与vNIC 222-N之间的双向路径处建立通信。代理NIC 306可处理对应于由虚拟交换机308转递的数据有效负载的包标头或其它字段中的目的地信息,以识别要接收数据的vNIC 222。代理NIC 306可通知vNIC 222-N数据可用于由虚拟交换机308选路发送。处理器302可创建含有命令/分散数据的传输描述符。处理器302可告知代理NIC 306传输数据可用于从虚拟交换机308输出。
在方框506处,目的地服务器节点212-N处的CPU 202可发布接收描述符,所述接收描述符指向目的地服务器节点212-N的局部存储器204中的可用数据缓冲器。接收描述符可包括缓冲器地址、长度或相关信息。可通过在硬件中发生的按响门铃来发布描述符。
在方框508处,目的地vNIC 222-N可从目的地节点存储器204分配接收缓冲器,以用于从虚拟交换机308接收数据。如果当前没有可用的接收缓冲器,那么I/O处理复合体226可等待接收缓冲器在目的地服务器节点存储器204处变得可用。
在方框510处,目的地vNIC 222-N提取并且处理用于接收缓冲器的描述符,并且将数据移动到目的地服务器节点212-N处的局部存储器204。
图6是根据另一个实施方案的计算基础设施20中的数据流路径的图解。在描述方法6的过程中,对图2至图5进行参考。
形成从源服务器节点212-1处的VM 252到集合系统200处的代理NIC 306-1的数据路径602。可根据本文描述的方法400来形成数据路径602。根据沿数据路径602提供到vNIC 222-1的目的地信息来确定代理NIC 306-1。代理NIC 306-1将经由数据路径602接收到的数据604输出到存储器304处的可用位置中。
代理NIC 306-1向虚拟交换机308发送通知606,这个通知告知虚拟交换机308数据可用于处理。虚拟交换机306可处理608数据,例如将数据转递到目的地,应用规则、ACL或其它安全特征。虚拟交换机308可例如根据参照图5所描述的方框502将数据输出610到所选代理NIC 306-2。
形成从虚拟交换机308到目的地服务器节点212-2处的目标VM252的数据路径612。可根据本文描述的方法400和/或方法500来形成数据路径612。
图7是根据另一个实施方案的计算基础设施20中的数据流路径的另一个图解。
将数据包从远程计算机252输出702到与NIC 242通信的存储器304处的接收缓冲器。
处理器302可通知704虚拟交换机308存储器304中存在用于处理的数据。
虚拟交换机308可从存储器304检索706数据并且处理数据,例如选路发送、检查等。
形成从代理NIC 306到目的地服务器节点212-2处的目标VM 252的数据路径708。可根据本文描述的方法400和/或方法500来形成数据路径708。
如本领域的技术人员将了解,本发明的各方面可体现为系统、方法或计算机程序产品。因此,本发明的各方面可以采用以下形式:完全硬件实施方案、完全软件实施方案(包括固件、常驻软件、微代码等)或结合软件方面与硬件方面的实施方案,所述实施方案在本文中全部可总体上称为“电路”、“模块”或“系统”。另外,本发明的各方面可采用体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质上体现有计算机可读程序代码。
可利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或装置或前述各者的任何合适组合。计算机可读存储介质的更具体实例(非详尽列表)将包括以下介质:具有一个或多个导线的电气连接、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光学存储装置、磁性存储装置或前述各者的任何合适组合。在本文档的上下文中,计算机可读存储介质可以是可含有或存储供指令执行系统、设备或装置使用或结合指令执行系统、设备或装置来使用的程序的任何有形介质。
计算机可读信号介质可包括传播数据信号,所述传播数据信号中体现有计算机可读程序代码,例如体现在基带中或体现为载波的一部分。这种传播信号可采用多种形式中的任一种,这些形式包括但不限于电磁形式、光学形式或所述形式的任何合适组合。计算机可读信号介质可以是并非计算机可读存储介质并且可传达、传播或传送供指令执行系统、设备或装置使用或结合指令执行系统、设备或装置来使用的程序的任何计算机可读介质。体现在计算机可读介质上的程序代码可以使用任何适当的介质加以传输,所述介质包括但不限于无线、有线线路、光纤电缆、RF等或前述各者的任何合适组合。
用于进行本发明各方面的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写,所述编程语言包括:面向对象的编程语言,如Java、Smalltalk、C++等;以及常规程序性编程语言,如“C”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立的软件包执行,部分地在用户的计算机上且部分地在远程计算机上执行,或完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。
下文中参照根据本发明的实施方案的方法、设备(系统)和计算机程序产品的流程图图解和/或方框图来描述本发明的各方面。将理解的是,流程图图解和/或方框图的每个方框以及流程图图解和/或方框图的方框组合可由计算机程序指令来实现。可以将这些计算机程序指令提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器来产生一种机器,以使得经由计算机或其它可编程数据处理设备的处理器来执行的指令创建用于实现在流程图和/或方框图的一个或多个方框中规定的功能/操作的手段。
还可以将这些计算机程序指令存储在可以引导计算机、其它可编程数据处理设备或其它装置以特定方式起作用的计算机可读介质中,以使得存储在计算机可读介质中的指令产生一种制品,所述制品包括实现在流程图和/或方框图的一个或多个方框中规定的功能/操作的指令。还可以将计算机程序指令加载到计算机、其它可编程数据处理设备或其它装置上以使一系列操作步骤在计算机、其它可编程设备或其它装置上得以执行,从而产生一种计算机实现过程,以使得在计算机或其它可编程设备上执行的指令提供用于实现在流程图和/或方框图的一个或多个方框中规定的功能/操作的过程。
附图中的流程图和方框图示出根据本发明的各种实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能性和操作。就这一点来说,流程图或方框图中的每个方框可表示代码模块、代码段或代码部分,所述代码模块、代码段或代码部分包括用于实现一个或多个规定逻辑功能的一个或多个可执行指令。还应指出的是,在一些替代实现方式中,方框中提到的功能可能不按图中提到的顺序出现。例如,连续展示的两个方框实际上可以大致上同时执行,或者这些方框有时可以按相反的顺序执行,这取决于所涉及的功能性。还将指出的是,方框图和/或流程图图解的每个方框以及方框图和/或流程图图解中的方框的组合可以由基于专用硬件的系统来实现,所述系统执行规定的功能或动作或者专用硬件与计算机指令的组合。
尽管已经参照具体实施方案来展示并且描述本发明,但是本领域的技术人员应理解的是,可在不脱离本发明的精神和范围的情况下对形式和细节进行各种变更。
Claims (43)
1.一种集合装置,其包括:
多个虚拟网络接口卡(vNIC),其与多个处理装置通信,每个处理装置具有至少一个虚拟机(VM);以及
输入/输出(I/O)处理复合体,其逻辑上介于所述vNIC与至少一个物理NIC之间,所述I/O处理复合体包括至少一个代理NIC和虚拟交换机,所述虚拟交换机经由所述多个vNIC中的vNIC在所述至少一个VM与所述至少一个代理NIC之间建立的通信路径与所述多个处理装置中的处理装置交换数据。
2.如权利要求1所述的集合装置,其中所述I/O处理复合体还包括存储器,所述存储器临时存储在所述处理装置与所述虚拟交换机之间交换的所述数据。
3.如权利要求2所述的集合装置,其中所述至少一个代理NIC中的代理NIC将所述数据从所述通信路径输出到所述存储器。
4.如权利要求2所述的集合装置,其中所述至少一个代理NIC中的代理NIC从所述存储器检索所述数据以便输出到目的地处理装置。
5.如权利要求2所述的集合装置,其中所述通信路径在所述处理装置处的对应于所述vNIC的vNIC接口与所述至少一个代理NIC之间延伸。
6.如权利要求1所述的集合装置,其还包括耦接到所述I/O处理复合体的交换机结构,所述交换机结构包括多个端口,其中从所述多个端口中的输入端口接收所述数据并且经由所述多个端口中的输出端口将所述数据输出到所述I/O处理复合体。
7.如权利要求1所述的集合装置,其中所述处理装置包括虚拟化服务器节点。
8.如权利要求1所述的集合装置,其中所述虚拟交换机连接到所述至少一个物理NIC以便经由所述至少一个物理NIC在所述处理装置与远程电子装置之间交换所述数据。
9.如权利要求1所述的集合装置,所述集合装置还包括用于连接所述集合装置与所述多个处理装置的高速外设部件互连(PCIe)连接器。
10.如权利要求1所述的集合装置,其中所述集合装置处的所述虚拟交换机提供与所述交换的数据相关的安全特征。
11.一种服务器集合系统,其包括:
多个服务器节点,每个服务器节点具有至少一个虚拟机(VM);以及
集合装置,其耦接在所述多个服务器节点之间,所述集合装置包括:
多个虚拟网络接口卡(vNIC),其与所述服务器节点通信;以及
输入/输出(I/O)处理复合体,所述I/O处理复合体包括至少一个代理NIC和虚拟交换机,所述虚拟交换机经由所述多个vNIC中的vNIC在所述至少一个VM与所述至少一个代理NIC之间建立的通信路径与所述多个服务器节点中的服务器节点交换数据。
12.如权利要求11所述的服务器集合系统,其中所述多个服务器节点中的至少一个服务器节点包括与所述多个vNIC中的所述vNIC通信的虚拟接口,并且其中所述通信路径在所述虚拟接口与所述至少一个代理NIC之间延伸。
13.如权利要求12所述的服务器集合系统,其中所述虚拟接口包括:
虚拟DMA引擎,其在所述服务器节点处的存储器与所述集合装置之间建立通信;
邮箱,其告知所述vNIC发送到所述vNIC的数据将被处理
中断生成器,其向所述服务器节点处的处理器提供中断,从而指示数据到达所述服务器节点;以及
一组寄存器,其包括用于控制对应于所述服务器节点的至少一个vNIC的数据。
14.如权利要求11所述的服务器集合系统,其中所述I/O处理复合体还包括存储器,所述存储器临时存储在所述服务器节点与所述虚拟交换机之间交换的所述数据。
15.如权利要求14所述的服务器集合系统,其中所述至少一个代理NIC中的代理NIC将所述数据从所述通信路径输出到所述存储器。
16.如权利要求14所述的服务器集合系统,其中所述至少一个代理NIC中的代理NIC从所述存储器检索所述数据以便输出到所述多个服务器节点中的目的地服务器节点。
17.如权利要求16所述的服务器集合系统,其中第二通信路径在所述目的地服务器节点处的对应于目的地vNIC的虚拟接口与所述代理NIC之间延伸。
18.如权利要求11所述的服务器集合系统,所述服务器集合系统还包括耦接到所述I/O处理复合体的交换机结构,所述交换机结构包括多个端口,其中从所述多个端口中的输入端口接收所述数据并且经由所述多个端口中的输出端口将所述数据输出到所述I/O处理复合体。
19.如权利要求11所述的服务器集合系统,其中所述虚拟交换机提供与所述交换的数据相关的安全特征。
20.一种在虚拟化网络中执行I/O操作的方法,其包括:
在集合装置处创建虚拟交换机;以及
在服务器节点处的虚拟机与所述集合装置处的所述虚拟交换机之间形成通信路径。
21.如权利要求20所述的方法,其中在所述服务器节点处的所述虚拟机与所述集合装置处的所述虚拟交换机之间形成所述通信路径包括:
将数据提供到所述服务器节点处的局部存储器;
从所述服务器节点处的虚拟接口向所述集合装置处的虚拟网络接口卡(vNIC)发送通知;
在所述服务器节点处生成描述符;
读取所述描述符,以确定所述数据的目的地;以及
在所述vNIC与所述集合装置处的代理NIC之间建立通信。
22.如权利要求21所述的方法,其还包括:
由所述代理NIC通知所述虚拟交换机所述数据可用于处理。
23.如权利要求20所述的方法,其中在服务器节点处的所述虚拟机与所述集合装置处的所述虚拟交换机之间形成所述通信路径包括:
由所述虚拟交换机通知所述集合装置处的代理NIC数据可用于从所述集合装置传输到所述服务器节点;
在所述代理NIC与所述集合装置处的目的地vNIC之间建立通信;以及
在所述目的地vNIC与所述服务器节点处的虚拟接口之间建立通信。
24.如权利要求20所述的方法,其还包括:
在所述服务器节点处发布接收描述符;以及
由所述目的地vNIC在所述服务器节点处的存储器处分配接收缓冲器。
25.如权利要求20所述的方法,其还包括:
在所述虚拟交换机处根据源服务器节点信息来处理数据。
26.如权利要求20所述的方法,其中所述集合装置处的所述虚拟交换机提供与所述交换的数据相关的安全特征。
27.如权利要求20所述的方法,其中形成所述通信路径包括在所述虚拟机与物理装置之间的通信信道上形成数据路径,所述物理装置与所述虚拟交换机通信。
28.如权利要求27所述的方法,其中所述物理装置包括网络接口卡、基本输入输出系统(BIOS)、主机总线适配器(HBA)或存储装置。
29.一种计算机程序产品,其包括:
体现有计算机可读程序代码的计算机可读存储介质,所述计算机可读程序代码包括:
被配置来在集合装置处创建虚拟交换机的计算机可读程序代码;以及
被配置来在服务器节点处的虚拟机与所述集合装置处的所述虚拟交换机之间形成通信路径的计算机可读程序代码。
30.一种用于减少与I/O虚拟化操作相关联的开销的方法,其包括:
在服务器节点集合装置处构建并且布置虚拟交换机;以及
在一个或多个服务器节点虚拟机与物理装置之间的通信信道上形成数据路径,所述物理装置与所述虚拟交换机通信。
31.如权利要求30所述的方法,其中所述通信信道包括PCIe连接。
32.如权利要求30所述的方法,其中在所述一个或多个服务器节点虚拟机与所述虚拟交换机之间形成所述数据路径包括:
从服务器节点的虚拟机向所述集合装置处的虚拟网络接口卡(vNIC)发送通知;以及
在所述vNIC与所述集合装置处的代理NIC之间建立通信路径。
33.如权利要求32所述的方法,其还包括:
由所述代理NIC通知所述虚拟交换机所述数据可用于处理。
34.如权利要求30所述的方法,其中在所述一个或多个服务器节点虚拟机与所述集合装置处的所述虚拟交换机之间形成所述通信路径包括:
由所述虚拟交换机通知所述集合装置处的代理装置所述数据可用于从所述集合装置传输到所述一个或多个虚拟机处的虚拟机;
在所述代理装置与所述集合装置处的目的地虚拟装置之间建立通信;以及
在所述目的地虚拟装置与所述服务器节点处的虚拟接口之间建立通信。
35.如权利要求30所述的方法,其还包括:
在所述虚拟交换机处根据源服务器节点信息来处理数据。
36.如权利要求30所述的方法,其中所述集合装置处的所述虚拟交换机提供与所述交换的数据相关的安全特征。
37.如权利要求30所述的方法,其中所述物理装置包括网络接口卡(NIC)、基本输入输出系统(BIOS)、主机总线适配器(HBA)或存储装置。
38.一种集合系统,所述集合系统包括:
多个虚拟机,其在一个或多个处理装置处;
输入/输出(I/O)处理复合体,其与所述一个或多个处理装置通信,所述I/O处理复合体包括虚拟交换机,其中所述I/O处理复合体在所述一个或多个虚拟机中的虚拟机与所述虚拟交换机之间的通信信道上建立数据路径。
39.如权利要求38所述的集合系统,其还包括:
物理装置,其与所述I/O处理复合体通信,其中所述通信信道介于所述一个或多个虚拟机与所述物理装置之间。
40.如权利要求39所述的集合系统,其中所述物理装置包括网络接口卡(NIC)、基本输入输出系统(BIOS)、主机总线适配器(HBA)或存储装置。
41.如权利要求38所述的集合系统,其中所述I/O处理复合体还包括存储器,所述存储器临时存储在所述虚拟机、所述虚拟交换机以及所述物理装置之间交换的所述数据。
42.如权利要求38所述的集合系统,其中所述通信信道包括PCIe连接。
43.如权利要求38所述的集合系统,其中所述输入/输出(I/O)处理复合体处的所述虚拟交换机提供与所述交换的数据相关的安全特征。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/531,890 US8806025B2 (en) | 2012-06-25 | 2012-06-25 | Systems and methods for input/output virtualization |
US13/531,890 | 2012-06-25 | ||
PCT/US2013/044914 WO2014004060A1 (en) | 2012-06-25 | 2013-06-10 | Systems and methods for input/output virtualization |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104395895A true CN104395895A (zh) | 2015-03-04 |
Family
ID=48699291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380033532.9A Pending CN104395895A (zh) | 2012-06-25 | 2013-06-10 | 用于输入/输出虚拟化的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8806025B2 (zh) |
EP (1) | EP2864893A1 (zh) |
JP (1) | JP2015521779A (zh) |
KR (1) | KR20150030738A (zh) |
CN (1) | CN104395895A (zh) |
IN (1) | IN2014DN10752A (zh) |
WO (1) | WO2014004060A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293502A (zh) * | 2015-06-29 | 2017-01-04 | 联想(北京)有限公司 | 一种配置方法、数据交换方法及服务器系统 |
CN108027791A (zh) * | 2015-09-10 | 2018-05-11 | 高通股份有限公司 | 多节点网络中的输入/输出信号桥接和虚拟化 |
CN108023837A (zh) * | 2016-10-31 | 2018-05-11 | 鸿富锦精密电子(天津)有限公司 | 虚拟网络交换机系统及其建立方法 |
CN109213702A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
WO2019076068A1 (zh) * | 2017-10-20 | 2019-04-25 | 华为技术有限公司 | 数据传输的方法、服务器、卸载卡及存储介质 |
WO2023155698A1 (zh) * | 2022-02-18 | 2023-08-24 | 阿里巴巴(中国)有限公司 | 基于半虚拟化设备的数据处理方法、装置和系统 |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9665521B2 (en) * | 2012-05-18 | 2017-05-30 | Dell Products, Lp | System and method for providing a processing node with input/output functionality by an I/O complex switch |
US9898317B2 (en) | 2012-06-06 | 2018-02-20 | Juniper Networks, Inc. | Physical path determination for virtual network packet flows |
US8806025B2 (en) * | 2012-06-25 | 2014-08-12 | Advanced Micro Devices, Inc. | Systems and methods for input/output virtualization |
US10387201B2 (en) * | 2012-06-26 | 2019-08-20 | Vmware, Inc. | Storage performance-based virtual machine placement |
US20140006676A1 (en) * | 2012-06-28 | 2014-01-02 | Dell Products L.P. | Systems and methods for dynamic allocation of information handling resources |
JP5958164B2 (ja) * | 2012-08-07 | 2016-07-27 | 富士通株式会社 | 制御装置、方法及びプログラム、並びにシステム及び情報処理方法 |
US9008085B2 (en) | 2012-08-15 | 2015-04-14 | International Business Machines Corporation | Network interface card having overlay gateway functionality |
CN103259727B (zh) * | 2012-08-31 | 2016-12-28 | 杭州华三通信技术有限公司 | 一种报文转发方法及设备 |
US10341263B2 (en) | 2012-12-10 | 2019-07-02 | University Of Central Florida Research Foundation, Inc. | System and method for routing network frames between virtual machines |
US20140280846A1 (en) * | 2013-03-14 | 2014-09-18 | Douglas Gourlay | System and method for abstracting network policy from physical interfaces and creating portable network policy |
US9781041B2 (en) * | 2013-07-24 | 2017-10-03 | Dell Products Lp | Systems and methods for native network interface controller (NIC) teaming load balancing |
CN104579695B (zh) * | 2013-10-23 | 2018-07-20 | 新华三技术有限公司 | 一种数据转发装置和方法 |
US9703743B2 (en) | 2014-03-31 | 2017-07-11 | Juniper Networks, Inc. | PCIe-based host network accelerators (HNAS) for data center overlay network |
US9485191B2 (en) | 2014-03-31 | 2016-11-01 | Juniper Networks, Inc. | Flow-control within a high-performance, scalable and drop-free data center switch fabric |
US9294304B2 (en) * | 2014-03-31 | 2016-03-22 | Juniper Networks, Inc. | Host network accelerator for data center overlay network |
US9479457B2 (en) | 2014-03-31 | 2016-10-25 | Juniper Networks, Inc. | High-performance, scalable and drop-free data center switch fabric |
WO2015162774A1 (ja) * | 2014-04-25 | 2015-10-29 | 株式会社日立製作所 | 計算機、計算機のi/oスイッチの制御方法 |
US10261814B2 (en) | 2014-06-23 | 2019-04-16 | Intel Corporation | Local service chaining with virtual machines and virtualized containers in software defined networking |
US9647894B2 (en) * | 2014-07-30 | 2017-05-09 | International Business Machines Corporation | Mapping relationships among virtual elements across a system |
US9767047B2 (en) * | 2014-10-03 | 2017-09-19 | Citrix Systems, Inc. | Methods and systems for filtering communication between peripheral devices and mobile computing devices |
US9747240B2 (en) * | 2014-10-24 | 2017-08-29 | Cisco Technology, Inc. | Dynamic connection of PCIe devices and functions to an array of hosts |
US9798567B2 (en) | 2014-11-25 | 2017-10-24 | The Research Foundation For The State University Of New York | Multi-hypervisor virtual machines |
US10320921B2 (en) * | 2014-12-17 | 2019-06-11 | Vmware, Inc. | Specializing virtual network device processing to bypass forwarding elements for high packet rate applications |
WO2017004746A1 (zh) | 2015-07-03 | 2017-01-12 | 华为技术有限公司 | 一种网络的配置方法、网络系统和设备 |
US10331616B2 (en) | 2015-08-05 | 2019-06-25 | Futurewei Technologies, Inc. | Integration of network linecard (LC) to host operating system (OS) |
US9749266B2 (en) * | 2015-08-28 | 2017-08-29 | International Business Machines Corporation | Coalescing messages using a network interface controller |
US9798582B2 (en) * | 2015-10-22 | 2017-10-24 | International Business Machines Corporation | Low latency scheduling on simultaneous multi-threading cores |
JP6505172B2 (ja) | 2016-08-25 | 2019-04-24 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | 仮想ネットワーク環境で仮想スイッチを利用してロードバランシングを処理する方法およびシステム |
JP6505171B2 (ja) * | 2016-08-25 | 2019-04-24 | エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation | 仮想ネットワーク環境でループバックインタフェースを利用してdsrロードバランシングを処理する方法およびシステム |
US20180181421A1 (en) * | 2016-12-27 | 2018-06-28 | Intel Corporation | Transferring packets between virtual machines via a direct memory access device |
US10243840B2 (en) | 2017-03-01 | 2019-03-26 | Juniper Networks, Inc. | Network interface card switching for virtual networks |
US20180300259A1 (en) * | 2017-04-12 | 2018-10-18 | Quanta Computer Inc. | Local disks erasing mechanism for pooled physical resources |
JP6855906B2 (ja) * | 2017-04-25 | 2021-04-07 | 富士通株式会社 | スイッチプログラム、スイッチング方法及び情報処理装置 |
US10757105B2 (en) * | 2017-06-12 | 2020-08-25 | At&T Intellectual Property I, L.P. | On-demand network security system |
US10599600B2 (en) * | 2017-06-16 | 2020-03-24 | Western Digital Technologies, Inc. | Peripheral Component Interconnect Express (PCIe) switching for multi-host computing system deployments |
CN107220128A (zh) * | 2017-06-19 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种集群系统中cpu的分配方法和装置 |
US10979368B2 (en) * | 2017-08-02 | 2021-04-13 | Nebbiolo Technologies, Inc. | Architecture for converged industrial control and real time applications |
CN107368178A (zh) * | 2017-08-21 | 2017-11-21 | 湖南大学 | 基于dpdk数据包处理平台的功耗优化方法 |
US10791062B1 (en) * | 2017-11-14 | 2020-09-29 | Amazon Technologies, Inc. | Independent buffer memory for network element |
US10541842B2 (en) | 2018-01-10 | 2020-01-21 | Viasat, Inc. | Methods and apparatus for enhancing virtual switch capabilities in a direct-access configured network interface card |
WO2019164907A1 (en) * | 2018-02-20 | 2019-08-29 | Huawei Technologies Co. Ltd. | Stitching enterprise virtual private networks (vpns) with cloud virtual private clouds (vpcs) |
US11016798B2 (en) | 2018-06-01 | 2021-05-25 | The Research Foundation for the State University | Multi-hypervisor virtual machines that run on multiple co-located hypervisors |
US11201781B2 (en) | 2019-03-12 | 2021-12-14 | Arista Networks, Inc. | Systems and methods for automatically configuring network isolation |
CN111786853A (zh) * | 2020-07-01 | 2020-10-16 | 公安部第三研究所 | 针对安全隔离与信息交换产品实现吞吐量和延时指标测试的系统及其方法 |
US11463312B2 (en) * | 2021-01-21 | 2022-10-04 | Cisco Technology, Inc. | Secure onboarding of network devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502884B1 (en) * | 2004-07-22 | 2009-03-10 | Xsigo Systems | Resource virtualization switch |
US20110090915A1 (en) * | 2009-10-16 | 2011-04-21 | Sun Microsystems, Inc. | Method and system for intra-host communication |
US20120005521A1 (en) * | 2010-06-30 | 2012-01-05 | Oracle America, Inc. | Method and system for maintaining direct hardware access in the event of network interface card failure |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7925802B2 (en) | 2007-06-21 | 2011-04-12 | Seamicro Corp. | Hardware-based virtualization of BIOS, disks, network-interfaces, and consoles using a direct interconnect fabric |
US8140719B2 (en) | 2007-06-21 | 2012-03-20 | Sea Micro, Inc. | Dis-aggregated and distributed data-center architecture using a direct interconnect fabric |
US7945647B2 (en) * | 2007-12-10 | 2011-05-17 | Oracle America, Inc. | Method and system for creating a virtual network path |
US7826359B2 (en) * | 2008-03-24 | 2010-11-02 | Oracle America, Inc. | Method and system for load balancing using queued packet information |
US8195774B2 (en) * | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
US9880954B2 (en) | 2008-12-01 | 2018-01-30 | Micron Technology, Inc. | Method and apparatus for providing data access |
US9906429B2 (en) * | 2010-09-17 | 2018-02-27 | Oracle International Corporation | Performing partial subnet initialization in a middleware machine environment |
US8806025B2 (en) * | 2012-06-25 | 2014-08-12 | Advanced Micro Devices, Inc. | Systems and methods for input/output virtualization |
-
2012
- 2012-06-25 US US13/531,890 patent/US8806025B2/en active Active
-
2013
- 2013-06-10 CN CN201380033532.9A patent/CN104395895A/zh active Pending
- 2013-06-10 JP JP2015520236A patent/JP2015521779A/ja active Pending
- 2013-06-10 WO PCT/US2013/044914 patent/WO2014004060A1/en active Application Filing
- 2013-06-10 KR KR20157001663A patent/KR20150030738A/ko not_active Application Discontinuation
- 2013-06-10 IN IN10752DEN2014 patent/IN2014DN10752A/en unknown
- 2013-06-10 EP EP13731574.3A patent/EP2864893A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7502884B1 (en) * | 2004-07-22 | 2009-03-10 | Xsigo Systems | Resource virtualization switch |
US20110090915A1 (en) * | 2009-10-16 | 2011-04-21 | Sun Microsystems, Inc. | Method and system for intra-host communication |
US20120005521A1 (en) * | 2010-06-30 | 2012-01-05 | Oracle America, Inc. | Method and system for maintaining direct hardware access in the event of network interface card failure |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106293502A (zh) * | 2015-06-29 | 2017-01-04 | 联想(北京)有限公司 | 一种配置方法、数据交换方法及服务器系统 |
CN106293502B (zh) * | 2015-06-29 | 2019-09-24 | 联想(北京)有限公司 | 一种配置方法、数据交换方法及服务器系统 |
CN108027791A (zh) * | 2015-09-10 | 2018-05-11 | 高通股份有限公司 | 多节点网络中的输入/输出信号桥接和虚拟化 |
CN108023837A (zh) * | 2016-10-31 | 2018-05-11 | 鸿富锦精密电子(天津)有限公司 | 虚拟网络交换机系统及其建立方法 |
CN109213702A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
CN109213702B (zh) * | 2017-06-30 | 2022-08-30 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
WO2019076068A1 (zh) * | 2017-10-20 | 2019-04-25 | 华为技术有限公司 | 数据传输的方法、服务器、卸载卡及存储介质 |
WO2023155698A1 (zh) * | 2022-02-18 | 2023-08-24 | 阿里巴巴(中国)有限公司 | 基于半虚拟化设备的数据处理方法、装置和系统 |
Also Published As
Publication number | Publication date |
---|---|
JP2015521779A (ja) | 2015-07-30 |
US20130346531A1 (en) | 2013-12-26 |
IN2014DN10752A (zh) | 2015-09-04 |
US8806025B2 (en) | 2014-08-12 |
WO2014004060A1 (en) | 2014-01-03 |
EP2864893A1 (en) | 2015-04-29 |
KR20150030738A (ko) | 2015-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104395895A (zh) | 用于输入/输出虚拟化的系统和方法 | |
US10732879B2 (en) | Technologies for processing network packets by an intelligent network interface controller | |
KR101559644B1 (ko) | 통신 제어 시스템, 스위치 노드 및 통신 제어 방법 | |
US9571420B2 (en) | Integrated NoC for performing data communication and NoC functions | |
US9678912B2 (en) | Pass-through converged network adaptor (CNA) using existing ethernet switching device | |
CN109408257B (zh) | 用于片上网络noc的数据传输方法、装置及电子设备 | |
CN105579987A (zh) | 通用pci express端口 | |
CN102334112A (zh) | 用于虚拟机网络的方法和系统 | |
CN102576349A (zh) | 输入/输出(i/0)虚拟化系统中主计算机与外围资源之间的通信 | |
WO2014031430A1 (en) | Systems and methods for sharing devices in a virtualization environment | |
EP3563534B1 (en) | Transferring packets between virtual machines via a direct memory access device | |
US20230185732A1 (en) | Transparent encryption | |
CN117157963A (zh) | 卸载到网络设备的可靠传输 | |
CN117651936A (zh) | 网络层7卸载到服务网格的基础设施处理单元 | |
CN111752890A (zh) | 封装中系统网络处理器 | |
Suzuki et al. | Disaggregation and sharing of I/O devices in cloud data centers | |
CN103036815B (zh) | 一种信息技术和通信技术ict融合系统 | |
Baymani et al. | Exploring RapidIO technology within a DAQ system event building network | |
JP5110156B2 (ja) | スイッチ及びネットワークブリッジ装置 | |
CN108959144B (zh) | 现场可编程门阵列之间的通信 | |
CN112948317A (zh) | 基于Hlink的多节点系统及处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150304 |