CN102326147B - 虚拟网络环境中的复制避免 - Google Patents

虚拟网络环境中的复制避免 Download PDF

Info

Publication number
CN102326147B
CN102326147B CN201080008504.8A CN201080008504A CN102326147B CN 102326147 B CN102326147 B CN 102326147B CN 201080008504 A CN201080008504 A CN 201080008504A CN 102326147 B CN102326147 B CN 102326147B
Authority
CN
China
Prior art keywords
lpar
ethernet driver
driver
virtual
packet
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.)
Expired - Fee Related
Application number
CN201080008504.8A
Other languages
English (en)
Other versions
CN102326147A (zh
Inventor
O.卡多纳
M.R.奥克斯
J.B.坎宁安
B.德利昂三世
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102326147A publication Critical patent/CN102326147A/zh
Application granted granted Critical
Publication of CN102326147B publication Critical patent/CN102326147B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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
    • 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/54Interprogram communication
    • G06F9/544Buffers; 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 (10)

1.一种用于在虚拟网络环境中避免数据复制操作的计算机实施的方法,所述方法包括:
将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间,所述数据分组的预期接收者位于第二LPAR,并且所述第一LPAR和第二LPAR是同一物理处理系统内包含的虚拟操作系统实例;
经由管理程序,请求接收虚拟以太网驱动器在第二LPAR中的第一映射地址,其中所述第一映射地址与所述接收虚拟以太网驱动器的接收缓冲器相关联;
将第二映射地址映射到所述接收虚拟以太网驱动器的接收缓冲器,所述第二映射地址与共享的物理以太网驱动器的物理传送数据缓冲器相关联,并且其中所述物理以太网驱动器由包括第一LPAR和第二LPAR的多个逻辑分区共享;
将所述数据分组绕过所述管理程序从所述第一LPAR的所述第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地,其中利用所述第一映射地址确定所述目的地;以及
通过所述物理以太网驱动器向所述接收虚拟以太网驱动器通知所述数据分组已经被成功复制到所述第二LPAR中的所述目的地。
2.如权利要求1所述的计算机实施的方法,其中,所述向所述目的地的直接复制绕过:从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作。
3.如权利要求1或2所述的计算机实施的方法,其中,所述接收虚拟以太网驱动器包括具有至少一个直接数据缓冲器(DDB)的DDB池。
4.如权利要求3所述的计算机实施的方法,其中,所述至少一个DDB中的每个包括指向所述第二LPAR的所述第二内核空间中的所述目的地的所述映射地址。
5.如权利要求1所述的计算机实施的方法,还包括:在所述直接复制之前,所述管理程序存储映射的缓冲器地址的高速缓存子集。
6.一种用于在虚拟网络环境中避免数据复制操作的计算机实施的系统,所述系统包括:
用于将数据分组从用户空间复制到第一逻辑分区(LPAR)的第一内核空间的装置,所述数据分组的预期接收者位于第二LPAR,并且所述第一LPAR和第二LPAR是同一物理处理系统内包含的虚拟操作系统实例;
用于经由管理程序,请求接收虚拟以太网驱动器在第二LPAR中的第一映射地址的装置,其中所述第一映射地址与所述接收虚拟以太网驱动器的接收缓冲器相关联;
用于将第二映射地址映射到所述接收虚拟以太网驱动器的接收缓冲器的装置,所述第二映射地址与共享的物理以太网驱动器的物理传送数据缓冲器相关联,并且其中所述物理以太网驱动器由包括第一LPAR和第二LPAR的多个逻辑分区共享;
用于将所述数据分组绕过所述管理程序从所述第一LPAR的所述第一内核空间直接复制到所述第二LPAR的第二内核空间中的目的地的装置,其中利用所述第一映射地址确定所述目的地;以及
用于通过所述物理以太网驱动器向所述接收虚拟以太网驱动器通知所述数据分组已经被成功复制到所述第二LPAR中的所述目的地的装置。
7.如权利要求6所述的计算机实施的系统,其中,所述向所述目的地的直接复制绕过:从所述第一内核空间到所述第一LPAR的传送虚拟以太网驱动器的数据分组复制操作。
8.如权利要求6或7所述的计算机实施的系统,其中,所述接收虚拟以太网驱动器包括具有至少一个直接数据缓冲器(DDB)的DDB池。
9.如权利要求8所述的计算机实施的系统,其中,所述至少一个DDB中的每个包括指向所述第二LPAR的所述第二内核空间中的所述目的地的所述映射地址。
10.如权利要求6所述的计算机实施的系统,还包括:在所述直接复制之前,所述管理程序存储映射的缓冲器地址的高速缓存子集。
CN201080008504.8A 2009-03-02 2010-02-16 虚拟网络环境中的复制避免 Expired - Fee Related CN102326147B (zh)

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 CN102326147A (zh) 2012-01-18
CN102326147B true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
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
US9350607B2 (en) * 2013-09-25 2016-05-24 International Business Machines Corporation Scalable network configuration with consistent updates in software defined networks
WO2016045055A1 (en) * 2014-09-25 2016-03-31 Intel Corporation Network communications using pooled memory in rack-scale architecture
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 阿里巴巴集团控股有限公司 数据缓存方法、数据处理方法、计算机设备、存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2012A (en) * 1841-03-18 Machine foe
US7016A (en) * 1850-01-15 Mill for grinding
US7089558B2 (en) * 2001-03-08 2006-08-08 International Business Machines Corporation Inter-partition message passing method, system and program product for throughput measurement in a partitioned processing environment
JP2003202999A (ja) * 2002-01-08 2003-07-18 Hitachi Ltd 仮想計算機システム
US7739684B2 (en) * 2003-11-25 2010-06-15 Intel Corporation Virtual direct memory access crossover
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 情報処理装置、通信処理方法、並びにコンピュータ・プログラム
US20060123111A1 (en) * 2004-12-02 2006-06-08 Frank Dea Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems
US7721299B2 (en) * 2005-08-05 2010-05-18 Red Hat, Inc. Zero-copy network I/O for virtual hosts
JP4883979B2 (ja) * 2005-10-11 2012-02-22 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および通信制御方法
KR100992050B1 (ko) * 2006-01-12 2010-11-05 브로드콤 이스라엘 알 앤 디 가상화된 네트워크 환경에서 입력/출력 공유를 가지는프로토콜 오프로드 및 다이렉트 입력/출력을 위한 방법 및시스템
JP4854710B2 (ja) * 2008-06-23 2012-01-18 株式会社東芝 仮想計算機システム及びネットワークデバイス共有方法

Also Published As

Publication number Publication date
KR101720360B1 (ko) 2017-03-27
US20100223419A1 (en) 2010-09-02
CN102326147A (zh) 2012-01-18
IL214774A0 (en) 2011-11-30
WO2010100027A1 (en) 2010-09-10
IL214774A (en) 2016-04-21
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
CN104094229B (zh) 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的系统和方法
JP5792894B2 (ja) ポート拡張トポロジ情報の取得用方法、システム及び制御ブリッジ並びにアップリンクポートの処理方法及びシステム
US9331958B2 (en) Distributed packet switching in a source routed cluster server
CN105528272B (zh) 服务器系统及其相关的控制方法
JP6568238B2 (ja) ハードウェアアクセラレーション方法及び関連デバイス
US10764087B2 (en) Open virtualized multitenant network scheme servicing virtual machine and container based connectivity
US10579579B2 (en) Programming interface operations in a port in communication with a driver for reinitialization of storage controller elements
WO2017054197A1 (zh) 一种扩展联动的方法、装置及系统
US10606780B2 (en) Programming interface operations in a driver in communication with a port for reinitialization of storage controller elements
CN102760114A (zh) 多处理器系统的通信仿真方法、引擎及系统
JP2019215822A (ja) 車両制御装置、割り込み情報管理方法及び割り込み情報管理プログラム
US9332071B2 (en) Data stage-in for network nodes
TW201113814A (en) Logically partitioned system having subpartitions with flexible network connectivity configuration
CN107562650B (zh) 一种物理主机映射到存储系统的方法及系统
US20210176193A1 (en) A system and method for bridging computer resources
CN205334457U (zh) 一种计算机信息系统
Campbell et al. Providing I 2 C bus over Ethernet

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