CN102326147A - 虚拟网络环境中的复制避免 - Google Patents
虚拟网络环境中的复制避免 Download PDFInfo
- Publication number
- CN102326147A CN102326147A CN2010800085048A CN201080008504A CN102326147A CN 102326147 A CN102326147 A CN 102326147A CN 2010800085048 A CN2010800085048 A CN 2010800085048A CN 201080008504 A CN201080008504 A CN 201080008504A CN 102326147 A CN102326147 A CN 102326147A
- Authority
- CN
- China
- Prior art keywords
- lpar
- ethernet driver
- destination
- packet
- virtual ethernet
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于在虚拟网络环境中避免数据复制操作的方法、系统和计算机产品。所述方法包括将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间。使用管理程序,请求接收虚拟以太网驱动器在第二LPAR中的映射地址。第一映射地址与所述接收虚拟以太网驱动器的缓冲器相关联。将数据分组从所述第一LPAR的第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地。利用所述映射地址确定所述目的地。向所述目的地的直接复制绕过:(i)从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作;以及(ii)经由所述管理程序的数据分组复制操作。向所述接收虚拟以太网驱动器通知所述数据分组已经被成功复制到所述第二LPAR中的目的地。
Description
技术领域
本公开涉及一种改进的数据处理系统。具体地,本公开涉及逻辑上分区的数据处理系统。更具体地,本公开涉及在虚拟网络环境中避免复制/映射。
背景技术
在先进的虚拟系统中,操作系统(OS)实例具有经由虚拟以太网(VE)互相通信的能力。在逻辑上分区的数据处理系统中,逻辑分区(LPAP)经由已知为虚拟输入/输出服务器(VIOS)的特殊分区与外部网络通信。VIOS向分区提供I/O服务(包括网络、盘、带和其它访问),而不需要每个分区拥有物理I/O设备。
在VIOS内,已知为共享以太网适配器(SEA)或桥接适配器的网络访问组件被用于在物理以太网适配器与一个或多个虚拟以太网适配器之间桥接。SEA包括物理接口部分和虚拟接口部分两者。当虚拟客户端期望与外部客户端通信时,数据分组被传送至SEA的虚拟部分并被其接收。SEA随后将数据分组从SEA的物理部分转发至外部客户端。此解决方案在保持每个适配器(虚拟和/或物理)与适配器的关联资源之间彼此独立方面遵循传统的联网方法。
发明内容
公开了一种方法、系统和计算机程序产品,用于使用共享以太网适配器在虚拟网络环境中避免数据复制操作。该方法包括将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间。使用管理程序,请求接收虚拟以太网驱动器在第二LPAR中的映射地址。第一映射地址与所述接收虚拟以太网驱动器的缓冲器相关联。将数据分组从所述第一LPAR的第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地。利用所述映射地址确定所述目的地。至目的地的直接复制绕过:(i)从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作;以及(ii)经由管理程序(hypervisor)的数据分组复制操作。向所述接收虚拟以太网驱动器通知数据分组已经被成功地复制到所述第二LPAR中的目的地。
在下面详细写出的描述中,本发明的上述及另外的特征将变得显然。
附图说明
现在将参照如下列图中所图示的优选实施例,仅通过示例来描述本发明:
图1描绘了可实施本发明的示例性数据处理系统的框图;
图2描绘了根据本发明的实施例的虚拟以太网环境中的处理单元的框图;
图3描绘了根据本发明的实施例的、使内部虚拟客户端向外部物理客户端传送的处理单元的框图;
图4描绘了根据本发明的实施例的、用于在虚拟网络环境中避免数据复制操作的高级(high-level)流程图;以及
图5描绘了根据本发明的另一实施例的、用于使用共享以太网适配器在虚拟网络中避免数据复制操作的高级流程图。
具体实施方式
当隔离每个以太网适配器(虚拟和/或物理)与以太网适配器的关联资源时,需要相当数量的复制以在(i)经由管理程序的虚拟环境中的虚拟以太网适配器、与(ii)经由管理程序和SEA的虚拟以太网适配器和物理以太网适配器之间执行数据分组的传送和接收。结果,在这样的使用SEA的虚拟网络环境中,难以实现以具有1500字节的最大传送单元(MTU)的10吉比特以太网(10GbE或10GigE)线路速率标准的传送。另外,操作系统(OS)和/或设备的间接耦接以及增加的数据分组处理导致更多的中央处理单元(CPU)使用以及每数据分组的总等待时间。本发明通过有效地避免各种复制操作而消除上述影响。
现在参照附图,特别参照图1,描绘了可以实施本发明的优选实施例的数据处理系统(DPS)100的框图。为了讨论的目的,将数据处理系统描述为具有对于服务器计算机而言共同的特征。然而,如这里使用的,术语“数据处理系统”意在包括能够接收、存储和运行软件产品的任何类型的计算设备或机器,不仅包括计算机系统,而且还包括诸如通信设备(例如,路由器、交换机、寻呼机、电话、电子书、电子杂志和报纸等)以及个人和家用消费设备(例如,手持式计算机、网络功能的电视、家用自动化系统、多媒体观看系统等)的设备。
图1和下面的讨论意在提供对适于实施本发明的示例性数据处理系统的简要、概括的描述。虽然将在驻留在服务器计算机内的硬件上的指令的一般情境中描述本发明的部分,但是本领域技术人员将认识到还可以与运行在操作系统中的程序模块结合地实施本发明。一般地,程序模块包括例程、程序、组件和数据结构,其执行特定任务或实施特定抽象数据类型。本发明还可以在分布式计算环境中实践,其中由通过通信网络链接的远程处理设备执行任务。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备两者中。
DPS 100包括一个或多个处理单元102a-102d、耦接至存储器控制器105的系统存储器104、以及将存储器控制器105耦接至处理单元12和DPS 100的其它组件的系统互联构造106。在总线仲裁器108的控制下,将系统互联构造106上的命令传递至各个系统组件。
DPS 100还包括存储介质,诸如,第一硬盘驱动器(HDD)110和第二HDD 112。第一HDD 110和第二HDD 112通过输入-输入(I/O)接口114而通信地耦接至系统互联构造106。第一HDD 110和第二HDD 112为DPS 100提供非易失性存储。虽然以上对计算机可读介质的描述是指硬盘,但本领域技术人员应当理解,在示例性计算机操作环境中也可以使用其它类型的计算机可读的介质,诸如,可移除磁盘、光盘只读存储器(CD-ROM)盘、磁带、闪存卡、数字视频盘、柏努利(Bernoulli)卡带和其它以后开发的硬件。
DPS 100可以操作在使用至诸如远程计算机116的一个或多个远程计算机的逻辑链接的联网环境中。远程计算机116可以是服务器、路由器、对等设备、或其它普通网络模式,并典型地包括相对于DPS 100描述的元件中的许多或全部。在联网环境中,DPS 100所采用的程序模块或者其部分可以存储在诸如远程计算机116的远程存储器存储设备中。图1中描绘的逻辑连接包括通过局域网(LAN)118的连接,但是,在替代的实施例中,可包括广域网(WAN)。
当在LAN联网环境中使用时,DPS 100通过诸如网络接口120的输入/输出接口连接至LAN 118。将理解,所示的网络连接是示例性的,并且可以使用建立计算机之间的通信链路的其它部件。
所描绘的示例并非意味着暗示对当前描述的实施例和/或一般发明的架构或其它限制。例如,图1中描绘的数据处理系统可以是运行操作系统或操作系统的eServer系统。(IBM、eServer、pServer和AIX是国际商业机器公司在美国、其它国家或两者的商标。Linux是Linus Torvalds在美国、其它国家或两者的注册商标。)
现在转至图2,描绘了根据本公开的实施例的逻辑上分区(LPAR)的处理单元中的虚拟联网组件。在这点上,虚拟以太网(VE)实现在同一物理系统内包含的虚拟操作系统(OS)实例(或LPAR)之间的通信。每个LPAR 200及其关联的资源组可以独立地操作,作为利用其自己的驻留在内核控件204中的OS实例以及驻留在用户控件202中的应用的独立计算过程。可以创建的LPAR的数量取决于DPS 100的处理器模型和可用资源。典型地,LPAR用于不同目的,诸如,数据库操作或客户端/服务器操作、或者用以分离测试和生产环境。每个LPAR可以通过虚拟LAN 212与其它LPAR通信,仿佛每个其它LPAR在分离的机器中一样。
在所描绘的示例中,处理单元102a运行两个逻辑分区(LPAR)200a和200b。LPAR 200a和200b分别包括用户空间202a和用户空间202b。用户空间202a和用户空间202b分别与内核空间204a和内核空间204b通信地链接。根据一个实施例,用户空间202a将数据复制到内核空间204a中的堆栈。为了将存储在堆栈206中的数据转移到其在LPAR 200b中的预期接收者,将数据映射或复制到LPAR 200b的缓冲器的总线(或映射)地址。
在LPAR 200a和200b内,虚拟以太网驱动器208a和208b指引数据在LPAR 200a和200b之间转移。每个虚拟以太网驱动器208a和208b具有其自己的传送数据缓冲器和接收数据缓冲器,用于在虚拟以太网驱动器208a和208b之间传送和/或接收数据分组。当数据分组将要从LPAR 200a转移至LPAR 200b时,虚拟以太网驱动器208a对管理程序210进行呼叫。管理程序210被配置用于管理虚拟化以太网环境内的各个资源。LPAR 200a和200b的创建以及处理器102a和数据处理系统100上的资源到LPAR 200a和200b的分配均由管理程序210控制。
虚拟LAN 212是虚拟以太网(VE)技术的示例,其实现同一系统上的LPAR之间的基于因特网协议(IP)的通信。虚拟LAN(VLAN)技术由电气和电子工程师协会IEEE 802.1Q标准描述,通过引用将该标准合并在此。VLAN技术在逻辑上分割物理网络,使得将层2的连接性限制到属于同一VLAN的成员。通过将以太网数据分组打上VLAN成员资格信息的标签并随后将传递限制到给定VLAN的成员,来实现此分割。
包含在VLAN标签中的VLAN成员资格信息称为VLAN ID(VID)。设备被配置为由VID为该设备指派的VLAN的成员。这样的设备包括虚拟以太网驱动器208a和208b。例如,通过设备VID,为VLAN 212的其它成员(诸如,虚拟以太网驱动器208b)识别虚拟以太网驱动器208a。
根据本发明的优选实施例,虚拟以太网驱动器208b存储直接数据缓冲器(DDB)216的池214。DDB 216是指向接收VE数据缓冲器(即,数据分组的预期接收者)的地址的缓冲器。经由由VE驱动器208a对管理程序210的呼叫,向堆栈206提供DDB 216。堆栈206执行直接从内核空间204a到DDB216中的复制操作。此操作避免两个分离的复制/映射操作:(1)从内核空间204到虚拟以太网驱动器208a的复制/映射;以及(2)由管理程序210进行的数据分组从传送VE驱动器208a到接收VE驱动器208b的后续复制操作。关于(2),管理程序210不要求复制操作,因为分组数据先前已经被堆栈206复制到具有DDB 216指向的地址的预映射的数据缓冲器。因此,当VE驱动器208a通过管理程序210在接收VE驱动器208b处获得映射的接收数据缓冲器地址,并且VE驱动器208a直接复制到LPAR 200b中的映射的接收数据缓冲器时,VE驱动器208a将已经有效地写入接收VE驱动器208b中被DDB216引用(reference)的存储器位置中。
现在参照图3,描绘了根据本公开的实施例的、由逻辑上分区的处理单元的多个LPAR共享的物理以太网适配器。DPS 100包括处理单元102a,其被在逻辑上分区为LPAR 200a和200b。LPAR 200b还运行虚拟I/O服务器(VIOS)300,其提供封装的设备分区,该分区向LPAR 200a和200b提供网络、盘和其它访问,而不需要每个分组都拥有网络适配器。VIOS 300的网络访问组件是共享以太网适配器(SEA)310。虽然参照SEA 310说明本发明,但是本发明同样适用于任何外围适配器或其它设备,诸如,I/O接口114。
SEA 310用作物理网络适配器接口120或物理适配器的集合与VIOS 300上的一个或多个VLAN 212之间的桥。SEA 310被配置为使得VLAN 212上的LPAR 200a和200b能够共享经由物理网络330对外部客户端320的访问。SEA 310通过经由管理程序210将VLAN 212与物理网络330中的物理LAN连接而提供此访问,从而允许连接至这些LAN的机器和分区作为同一VLAN的成员无缝地操作。SEA310使得DPS 100的处理单元201a上的LPAR 200a和200b能够与外部客户端320共享IP子网。
SEA 310包括虚拟和物理适配器对。在SEA 310的虚拟侧,VE驱动器208b与管理程序210通信。VE驱动器208b存储DDB 316的池314。DDB 316是指向物理以太网驱动器312的传送数据缓冲器(即,数据分组的预期位置)的地址的缓冲器。在SEA 310的物理侧,物理以太网驱动器312与物理网络330相接。然而,因为在LPAR 200a可以离开其虚拟化环境而与物理环境通信之前,虚拟客户端必须与VIOS 300相接,所以物理以太网驱动器312的物理传送数据缓冲器被映射作为接收VE驱动器208b处的接收数据缓冲器。因此,当接收VE驱动器208b从VE驱动器208a接收被预映射到物理以太网驱动器312的物理传送数据缓冲器的数据分组时,接收VE驱动器208a将已经有效地写入物理以太网驱动器312中被DDB 316引用的存储器位置中。
该操作避免三个分离的复制/映射操作:(1)从内核空间204a到虚拟以太网驱动器208a的复制/映射;(2)经由管理程序210从传送VE驱动器208a到接收VE驱动器208b的、由管理程序210进行的数据缓冲器的后续复制操作;以及(3)经由SEA310从接收VE驱动器208b到物理以太网驱动器312的、数据缓冲器的后续复制操作。
现在参照图4,描绘了根据本发明的说明性的优选实施例的、用于在虚拟网络环境中避免数据复制操作的示例性过程的流程图。在这点上,参考图2中描述的元件。过程在初始块401开始并继续至块402,块402描绘了将数据分组从用户空间202a复制到内部虚拟客户端(即,LPAR 200a)的内核空间204a。接下来,虚拟以太网(VE)驱动器208a请求VE驱动器208b的映射的接收数据缓冲器的地址,如块404中描绘的。此步骤由VE驱动器208a响应于数据分组传送请求而通过VE驱动器208a对管理程序210的呼叫来执行。管理程序210从VE驱动器208b获取直接数据缓冲器(DDB)216。DDB216包括LPAR 200b中数据分组预期被传送到的缓冲器的地址。管理程序210将预期的接收数据缓冲器地址传递至VE驱动器208a,并且接收数据缓冲器地址被递交至内核空间204a中的堆栈206。一旦接收数据缓冲器位置被传递至VE驱动器208a,过程就继续至块406,块406说明了内核空间204a中的VE驱动器208a将数据分组从堆栈206直接复制到接收VE驱动器208b的接收数据缓冲器的映射地址。接下来,VE驱动器208a执行对管理程序210的呼叫,以向接收VE驱动器208b通知数据到映射的接收数据缓冲器的复制成功(块408)。此后,过程随后在块410终止。
现在参照图5,描绘了根据本发明的说明性的优选实施例的、用于使用共享以太网适配器(SEA)在虚拟网络环境中避免数据复制操作的示例性过程的流程图。在这点上,参考图3中描述的元件。过程在初始块501开始并继续至块502,块502描绘了将数据分组从用户空间202a复制到内部虚拟客户端(即,LPAR 200a)的内核空间204a。接下来,虚拟以太网(VE)驱动器208a请求接收VE驱动器208b的映射的接收数据缓冲器的第一地址,如块504中描绘的。此步骤由VE驱动器208a响应于数据分组传送请求而通过VE驱动器208a对管理程序210的呼叫来执行。管理程序210从VE驱动器208b获取直接数据缓冲器(DDB)316。
管理程序210在从VE驱动器208a接收到呼叫时可获取DDB 316的方式可变化。根据一个示例性实施例,管理程序210可以在VE驱动器208a直接复制到预期的映射的接收数据缓冲器之前,存储映射的接收数据缓冲器地址的高速缓存的子集。管理程序210可随后将高速缓存的缓冲器地址传递至虚拟以太网驱动器208a,其将数据分组直接复制到映射的接收数据缓冲器。
DDB 316包括LPAR 200b中数据分组预期被传送到的缓冲器的地址。在经由SEA 310将数据分组从虚拟客户端转移至物理客户端的情况下,DDB 316指向由物理以太网驱动器312拥有的缓冲器。为了实现此,将物理以太网驱动器312的传送数据缓冲器的第二映射地址映射到接收VE驱动器208b的映射的接收数据缓冲器(块506)。典型地在配置内部虚拟客户端之前,当在启动时初始地配置VIOS 300和SEA 310时,发生此映射。接下来,管理程序210将预期的接收数据缓冲器地址传递至VE驱动器208a,并且接收数据缓冲器地址被递交至内核空间204a中的堆栈206。
一旦接收数据缓冲器位置被传递至VE驱动器208a,过程就继续至块508,块508说明了内核空间204a中的VE驱动器208a将数据分组从堆栈206直接复制到内核空间204a中的第二映射地址。因此,当VE驱动器208b从VE驱动器208a接收被预映射到物理以太网驱动器312的物理传送数据缓冲器的数据分组时,VE驱动器208a将已经有效地写入物理以太网驱动器312中被DDB 316引用的存储器位置中。物理以太网驱动器312a执行对SEA 310的呼叫,以向接收VE驱动器208b通知数据到预期的物理传送数据缓冲器的复制成功(块510)。此后,过程随后在块512终止。
在上面的流程图中,在包含计算机可读代码的计算机可读介质中实施所述方法中的一个或多个,使得当在计算设备上(由处理单元)执行计算机可读代码时执行一系列步骤。在一些实施方式中,将所述方法的某些过程合并、同时或以不同的顺序执行、或者省略,而不偏离本发明的精神和范围。因此,虽然以特定序列描述并说明方法过程,但是使用具体序列的过程不意味着暗示对本发明的任何限制。可以关于过程的序列进行改变,而不背离本发明的精神和范围。因此,并非在限制的意义上采取对特定序列的使用,并且本发明的范围扩展到所附权利要求和其等价物。
如本领域技术人员将理解的,本发明的实施例可以实施为方法、系统和/或计算机程序产品。从而,本发明的优选实施例可以采取完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)、或结合软件和硬件方面的实施例,它们在这里全部可一般称为“电路”、“模块”、“逻辑电路”或“系统”。此外,本发明的优选实施例可以采取计算机可用存储介质上的计算机程序产品的形式,其中计算机可用存储介质将计算机可用程序代码包含在该介质中或上。
如将进一步理解的,可以使用软件、固件、微代码或硬件的任何组合来实施本发明的优选实施例中的过程。作为以软件实践本发明的优选实施例的预备步骤,程序代码(不管是软件还是固件)将典型地存储在一个或多个机器可读存储介质中,诸如,固定的(硬盘)驱动器、软盘、磁盘、光盘、磁带、半导体存储器(诸如,随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)等),由此产生根据本发明的优选实施例的产品。通过直接从存储设备执行代码、通过将代码从存储设备复制到另一存储设备(诸如,硬盘、RAM等)中、或者通过使用诸如数字和模拟通信链路的传送型介质传送用于远程执行的代码,来使用包含程序代码的产品。介质可以是电子、磁、光、电磁、红外或半导体系统(或者装置或设备)、或者传播介质。此外,介质可以是任何这样的装置,即,该装置可以包含、存储、传递、传播或传输程序,用以由执行系统、装置或设备使用、或者与执行系统、装置或设备结合使用。可以通过将包含根据所描述的实施例的代码的一个或多个机器可读存储设备与用以执行包含其中的代码的适当的处理硬件相结合,来实践本发明的优选实施例的方法。用以实现本发明的优选实施例的装置可以是一个或多个如下的处理设备和存储系统,即,所述处理设备和存储系统包含根据本发明的优选实施例而编码的程序、或者对所述程序进行网络访问(经由服务器)。一般地,术语“计算机”、“计算机系统”或“数据处理系统”可以被广泛定义为涵盖具有执行来自存储介质的指令/代码的处理器(或处理单元)的任何设备。
因此,重要的是,虽然在具有安装的(或者执行的)软件的完全功能的计算机(服务器)系统的情境中描述本发明的优选实施例的说明性实施例,但是本领域技术人员将理解:本发明的说明性优选实施例的软件方面能够被发布为各种形式的程序产品,并且本发明的说明性优选实施例同等适用,而不管用于实际执行所述发布的介质的具体类型。通过示例,介质的类型的非穷举的列表包括可记录类型(有形)介质(诸如,软盘、拇指驱动器、硬盘驱动器、CD ROM、数字通用盘(DVD))和传送型介质(诸如,数字和模拟通信链路)。
虽然已经参考示例性实施例而描述了本发明的优选实施例,但是本领域技术人员将理解,可以在不背离本发明的范围的情况下,进行各种改变以及用等价物替代其要素。另外,对于本发明的教示,可以进行许多修改以适于特定系统、设备或其组件,而不背离本发明的本质范围。因此,意图是:本发明不限于所公开的用于执行此方面的特定实施例,而本发明将包括落在所附权利要求的范围内的所有实施例。此外,术语“第一”、“第二”等的使用不表示任何顺序或重要性,而是,术语“第一”、“第二”等用于区分一个要素与另一个要素。如这里使用的,单数形式“一”、“一个”和“该”意在也包括复数形式,除非上下文清楚地表示不是如此。将进一步理解,术语“包括”和/或“包含”在本说明书中使用时,表明所陈述的特征、整数、步骤、操作、要素和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、要素、组件和/或它们的组的存在或附加。
Claims (19)
1.一种用于在虚拟网络环境中避免数据复制操作的计算机实施的方法,所述方法包括:
将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间;
经由管理程序,请求接收虚拟以太网驱动器在第二LPAR中的映射地址,其中所述映射地址与所述接收虚拟以太网驱动器的缓冲器相关联;
将所述数据分组从所述第一LPAR的所述第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地,其中利用所述映射地址确定所述目的地;以及
向所述接收虚拟以太网驱动器通知所述数据分组已经被成功复制到所述第二LPAR中的所述目的地。
2.如权利要求1所述的计算机实施的方法,还包括将所述接收虚拟以太网驱动器的所述缓冲器映射到物理以太网驱动器的传送缓冲器的第二映射地址。
3.如权利要求1或2所述的计算机实施的方法,其中,所述向所述目的地的直接复制绕过:从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作;以及经由所述管理程序的数据分组复制操作。
4.如权利要求1-3中的任一项所述的计算机实施的方法,其中,所述接收虚拟以太网驱动器包括具有至少一个直接数据缓冲器(DDB)的DDB池。
5.如权利要求4所述的计算机实施的方法,其中,所述至少一个DDB中的每个包括指向所述第二LPAR的所述第二内核空间中的所述目的地的所述映射地址。
6.如权利要求1-5中的任一项所述的计算机实施的方法,还包括:在所述直接复制之前,所述管理程序存储映射的缓冲器地址的高速缓存子集。
7.一种逻辑上分区的数据处理系统,包括:
总线;
连接至所述总线的存储器,其中指令集位于存储器中;
连接至所述总线的一个或多个处理器,其中所述一个或多个处理器执行指令集以在虚拟网络环境中避免数据复制操作,所述指令集包括:
将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间;
经由管理程序,请求接收虚拟以太网驱动器在第二LPAR中的映射地址,其中所述映射地址与所述接收虚拟以太网驱动器的缓冲器相关联;
将所述数据分组从所述第一LPAR的所述第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地,其中利用所述映射地址确定所述目的地;以及
向所述接收虚拟以太网驱动器通知所述数据分组已经被成功复制到所述第二LPAR中的所述目的地。
8.如权利要求7所述的逻辑上分区的数据处理系统,还包括将所述接收虚拟以太网驱动器的所述缓冲器映射到物理以太网驱动器的传送缓冲器的第二映射地址。
9.如权利要求7或8所述的逻辑上分区的数据处理系统,其中,所述向所述目的地的直接复制绕过:从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作;以及经由所述管理程序的数据分组复制操作。
10.如权利要求7-9中的任一项所述的逻辑上分区的数据处理系统,其中,所述接收虚拟以太网驱动器包括具有至少一个直接数据缓冲器(DDB)的DDB池。
11.如权利要求10所述的逻辑上分区的数据处理系统,其中,所述至少一个DDB中的每个包括指向所述第二LPAR的所述第二内核空间中的所述目的地的所述映射地址。
12.如权利要求7-11中的任一项所述的逻辑上分区的数据处理系统,还包括:在所述直接复制之前,所述管理程序存储映射的缓冲器地址的高速缓存子集。
13.一种计算机程序产品,包括:
计算机可读介质;以及
所述计算机可读介质上的程序代码,当在数据处理设备内执行所述程序代码时,所述程序代码提供下列功能:
将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间;
经由管理程序,请求接收虚拟以太网驱动器在第二LPAR中的映射地址,其中所述映射地址与所述接收虚拟以太网驱动器的缓冲器相关联;
将所述数据分组从所述第一LPAR的所述第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地,其中利用所述映射地址确定所述目的地;以及
向所述接收虚拟以太网驱动器通知所述数据分组已经被成功复制到所述第二LPAR中的所述目的地。
14.如权利要求13所述的计算机程序产品,其中,所述程序代码用于将所述接收虚拟以太网驱动器的所述缓冲器映射到物理以太网驱动器的传送缓冲器的第二映射地址。
15.如权利要求13或14所述的计算机程序产品,其中,所述程序代码用于向所述目的地的直接复制绕过:(i)从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作;以及(ii)经由所述管理程序的数据分组复制操作。
16.如权利要求13-15中的任一项所述的计算机程序产品,其中,所述接收虚拟以太网驱动器包括具有至少一个直接数据缓冲器(DDB)的DDB池。
17.如权利要求16所述的计算机程序产品,其中,所述至少一个DDB中的每个包括指向所述第二LPAR的所述第二内核空间中的所述目的地的所述映射地址。
18.如权利要求13-17中的任一项所述的计算机程序产品,还包括:在所述直接复制之前,所述管理程序存储映射的缓冲器地址的高速缓存子集。
19.一种可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述产品运行在计算机上时,用于执行权利要求1至6中的任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/396,257 | 2009-03-02 | ||
US12/396,257 US20100223419A1 (en) | 2009-03-02 | 2009-03-02 | Copy circumvention in a virtual network environment |
PCT/EP2010/051930 WO2010100027A1 (en) | 2009-03-02 | 2010-02-16 | Copy circumvention in a virtual network environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102326147A true CN102326147A (zh) | 2012-01-18 |
CN102326147B CN102326147B (zh) | 2014-11-26 |
Family
ID=42272400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080008504.8A Expired - Fee Related CN102326147B (zh) | 2009-03-02 | 2010-02-16 | 虚拟网络环境中的复制避免 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20100223419A1 (zh) |
EP (1) | EP2359242A1 (zh) |
JP (1) | JP5662949B2 (zh) |
KR (1) | KR101720360B1 (zh) |
CN (1) | CN102326147B (zh) |
CA (1) | CA2741141A1 (zh) |
IL (1) | IL214774A (zh) |
WO (1) | WO2010100027A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105594166A (zh) * | 2013-09-25 | 2016-05-18 | 国际商业机器公司 | 软件定义网络中的具有一致更新的可扩展网络配置 |
CN106688208A (zh) * | 2014-09-25 | 2017-05-17 | 英特尔公司 | 利用机架规模架构中的池化存储器进行的网络通信 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677024B2 (en) * | 2011-03-31 | 2014-03-18 | International Business Machines Corporation | Aggregating shared Ethernet adapters in a virtualized environment |
US9769123B2 (en) | 2012-09-06 | 2017-09-19 | Intel Corporation | Mitigating unauthorized access to data traffic |
US9535871B2 (en) | 2012-11-27 | 2017-01-03 | Red Hat Israel, Ltd. | Dynamic routing through virtual appliances |
US9454392B2 (en) * | 2012-11-27 | 2016-09-27 | Red Hat Israel, Ltd. | Routing data packets between virtual machines using shared memory without copying the data packet |
US10078615B1 (en) * | 2015-09-18 | 2018-09-18 | Aquantia Corp. | Ethernet controller with integrated multi-media payload de-framer and mapper |
CN110554977A (zh) * | 2018-05-30 | 2019-12-10 | 阿里巴巴集团控股有限公司 | 数据缓存方法、数据处理方法、计算机设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129082A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment |
US20050114855A1 (en) * | 2003-11-25 | 2005-05-26 | Baumberger Daniel P. | Virtual direct memory acces crossover |
CN1783017A (zh) * | 2004-12-02 | 2006-06-07 | 国际商业机器公司 | 在逻辑分区之间转移网络业务的方法及系统 |
WO2007019316A2 (en) * | 2005-08-05 | 2007-02-15 | Red Hat, Inc. | Zero-copy network i/o for virtual hosts |
US20070162619A1 (en) * | 2006-01-12 | 2007-07-12 | Eliezer Aloni | Method and System for Zero Copy in a Virtualized Network Environment |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2012A (en) * | 1841-03-18 | Machine foe | ||
US7016A (en) * | 1850-01-15 | Mill for grinding | ||
JP2003202999A (ja) * | 2002-01-08 | 2003-07-18 | Hitachi Ltd | 仮想計算機システム |
US20050246453A1 (en) * | 2004-04-30 | 2005-11-03 | Microsoft Corporation | Providing direct access to hardware from a virtual environment |
US7249208B2 (en) * | 2004-05-27 | 2007-07-24 | International Business Machines Corporation | System and method for extending the cross-memory descriptor to describe another partition's memory |
JP2006127461A (ja) * | 2004-09-29 | 2006-05-18 | Sony Corp | 情報処理装置、通信処理方法、並びにコンピュータ・プログラム |
JP4883979B2 (ja) * | 2005-10-11 | 2012-02-22 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置および通信制御方法 |
JP4854710B2 (ja) * | 2008-06-23 | 2012-01-18 | 株式会社東芝 | 仮想計算機システム及びネットワークデバイス共有方法 |
-
2009
- 2009-03-02 US US12/396,257 patent/US20100223419A1/en not_active Abandoned
-
2010
- 2010-02-16 WO PCT/EP2010/051930 patent/WO2010100027A1/en active Application Filing
- 2010-02-16 EP EP10707245A patent/EP2359242A1/en not_active Withdrawn
- 2010-02-16 JP JP2011552384A patent/JP5662949B2/ja not_active Expired - Fee Related
- 2010-02-16 KR KR1020117022815A patent/KR101720360B1/ko active IP Right Grant
- 2010-02-16 CN CN201080008504.8A patent/CN102326147B/zh not_active Expired - Fee Related
- 2010-02-16 CA CA2741141A patent/CA2741141A1/en not_active Abandoned
-
2011
- 2011-08-21 IL IL214774A patent/IL214774A/en not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129082A1 (en) * | 2001-03-08 | 2002-09-12 | International Business Machines Corporation | Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment |
US20050114855A1 (en) * | 2003-11-25 | 2005-05-26 | Baumberger Daniel P. | Virtual direct memory acces crossover |
CN1783017A (zh) * | 2004-12-02 | 2006-06-07 | 国际商业机器公司 | 在逻辑分区之间转移网络业务的方法及系统 |
WO2007019316A2 (en) * | 2005-08-05 | 2007-02-15 | Red Hat, Inc. | Zero-copy network i/o for virtual hosts |
US20070162619A1 (en) * | 2006-01-12 | 2007-07-12 | Eliezer Aloni | Method and System for Zero Copy in a Virtualized Network Environment |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105594166A (zh) * | 2013-09-25 | 2016-05-18 | 国际商业机器公司 | 软件定义网络中的具有一致更新的可扩展网络配置 |
CN105594166B (zh) * | 2013-09-25 | 2019-07-05 | 国际商业机器公司 | 用于配置数据流的方法、计算机可读存储介质和装置 |
CN106688208A (zh) * | 2014-09-25 | 2017-05-17 | 英特尔公司 | 利用机架规模架构中的池化存储器进行的网络通信 |
US10621138B2 (en) | 2014-09-25 | 2020-04-14 | Intel Corporation | Network communications using pooled memory in rack-scale architecture |
CN106688208B (zh) * | 2014-09-25 | 2020-06-30 | 英特尔公司 | 利用机架规模架构中的池化存储器进行的网络通信 |
Also Published As
Publication number | Publication date |
---|---|
KR101720360B1 (ko) | 2017-03-27 |
US20100223419A1 (en) | 2010-09-02 |
IL214774A0 (en) | 2011-11-30 |
WO2010100027A1 (en) | 2010-09-10 |
IL214774A (en) | 2016-04-21 |
CN102326147B (zh) | 2014-11-26 |
KR20110124333A (ko) | 2011-11-16 |
JP5662949B2 (ja) | 2015-02-04 |
EP2359242A1 (en) | 2011-08-24 |
JP2012519340A (ja) | 2012-08-23 |
CA2741141A1 (en) | 2010-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102326147B (zh) | 虚拟网络环境中的复制避免 | |
US11429408B2 (en) | System and method for network function virtualization resource management | |
US10868743B2 (en) | System and method for providing fast platform telemetry data | |
CN107506258B (zh) | 用于数据备份的方法和设备 | |
WO2017148249A1 (zh) | 配置资源的方法及其网络设备 | |
CN104094229B (zh) | 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的系统和方法 | |
US9813423B2 (en) | Trust-based computing resource authorization in a networked computing environment | |
CN115113973A (zh) | 可配置设备接口 | |
EP3462671B1 (en) | Virtual network function resource management method and device | |
US20080189432A1 (en) | Method and system for vm migration in an infiniband network | |
JP6568238B2 (ja) | ハードウェアアクセラレーション方法及び関連デバイス | |
JP2008294717A (ja) | 仮想ネットワーク構成方法及びネットワークシステム | |
US20140115576A1 (en) | Extensible Network Configuration Management | |
CN101901149A (zh) | 处理信息的设备、方法和程序 | |
US10713026B2 (en) | Heterogeneous distributed runtime code that shares IOT resources | |
US9912739B1 (en) | Open virtualized multitenant network scheme servicing virtual machine and container based connectivity | |
US9392079B2 (en) | Directory service discovery and/or learning | |
CN104636437A (zh) | 一种事件通知方法、监听器的处理方法及装置 | |
CN107526620A (zh) | 一种用户态输入输出设备配置方法及装置 | |
CN115878374A (zh) | 针对指派给租户的命名空间备份数据 | |
CN105871907A (zh) | 一种通用的创建基于amqp协议代理服务的方法 | |
JP2019215822A (ja) | 車両制御装置、割り込み情報管理方法及び割り込み情報管理プログラム | |
US9332071B2 (en) | Data stage-in for network nodes | |
Shichkina et al. | Application of Docker Swarm cluster for testing programs, developed for system of devices within paradigm of Internet of things | |
TW201113814A (en) | Logically partitioned system having subpartitions with flexible network connectivity configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141126 Termination date: 20190216 |