CN104094231A - 用于支持无限带网络中的虚拟机的动态迁移的系统和方法 - Google Patents

用于支持无限带网络中的虚拟机的动态迁移的系统和方法 Download PDF

Info

Publication number
CN104094231A
CN104094231A CN201380008060.1A CN201380008060A CN104094231A CN 104094231 A CN104094231 A CN 104094231A CN 201380008060 A CN201380008060 A CN 201380008060A CN 104094231 A CN104094231 A CN 104094231A
Authority
CN
China
Prior art keywords
virtual machine
virtual
main frame
migration
queue
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
Application number
CN201380008060.1A
Other languages
English (en)
Other versions
CN104094231B (zh
Inventor
倪威麟
B·D·约翰森
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.)
Oracle International Corp
Original Assignee
Oracle International 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
Priority claimed from US13/837,922 external-priority patent/US9397954B2/en
Application filed by Oracle International Corp filed Critical Oracle International Corp
Publication of CN104094231A publication Critical patent/CN104094231A/zh
Application granted granted Critical
Publication of CN104094231B publication Critical patent/CN104094231B/zh
Active 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • H04L41/0897Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities by horizontal or vertical scaling of resources, or by migrating entities, e.g. virtual resources or entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities

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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种系统和方法可以支持在网络中的虚拟机动态迁移。多个主机可以经由网络互连。每个主机包含一个或多个虚拟机。至少一个虚拟机操作来执行从第一主机到第二主机的动态迁移。附接到队列对(QP)的虚拟功能可以由主机上的主机信道适配器(HCA)支持。

Description

用于支持无限带网络中的虚拟机的动态迁移的系统和方法
版权通知
本专利文件的公开的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文件或专利公开的传真复制,因为它出现在专利商标局专利文档或记录中,但在别的方面保留所有任何版权。
技术领域
本发明一般涉及计算机系统,并且具体地涉及支持计算机系统虚拟化。
背景技术
随着引入大型云计算架构,与传统网络和存储相关联的执行和管理瓶颈已经变为显著问题。无限带(IB)技术已被视为增加的部署作为用于云计算结构的基础。这是本发明的实施例意欲解决的一般领域。
发明内容
这里描述的是用于支持网络中的虚拟机动态迁移的系统和方法。多个主机可以经由网络互连。每个主机包含一个或多个虚拟机。至少一个虚拟机操作来执行从第一主机到第二主机的动态迁移。连接到队列对(QP)的虚拟功能可以由主机上的主机信道适配器(HCA)支持。
附图说明
图1示出根据本发明的实施例的在虚拟化环境中虚拟机的动态迁移的例示。
图2示出了根据本发明的实施例的用于支持在虚拟化环境中虚拟机的动态迁移的示范性流程图。
图3示出根据本发明的实施例的进程ID(PID)到队列对数(QPN)的转换表的例示。
图4示出了根据本发明的实施例的重新分配位置相关通信资源的例示。
图5示出根据本发明的实施例的利用确定性状态来暂停并重新开始队列对(QP)的例示。
图6示出根据本发明的实施例的利用自下向上方法的虚拟机的动态迁移的例示。
图7示出根据本发明的实施例的在迁移之后重新激活虚拟机的例示。
图8示出根据本发明的实施例的在虚拟机的动态迁移之前两个队列对(QP)的例示。
图9示出根据本发明的实施例的在虚拟机的动态迁移之后通信中的两个队列对(QP)的例示。
具体实施方式
本发明通过示例方式而不是通过限制方式来在附图的图示中示出,其中相似的参考指示相似的元件。应当注意,在此公开中的参考“一”或“一个”实施例或“一些”实施例不一定是指相同的实施例,并且此类参考意味着至少一个。
下述发明的描述使用无限带(IB)网络作为高性能网络的示例。对本领域技术人员来说,显而易见可以无限制地使用其它类型的高性能网络。同样,下述发明的描述使用Xen虚拟化模型作为虚拟化模型的示例。对本领域技术人员来说,显而易见可以无限制地使用其它类型的虚拟化模型。
这里描述的是可以支持网络中虚拟机(VM)动态迁移的系统和方法。
根据本发明的实施例,虚拟化可以有益于在云计算中高效的资源利用和弹性的资源分配。动态迁移可以通过以应用透明的方式在物理服务器之间移动虚拟机(VM)来优化资源使用。因此,虚拟化可以实现资源的强化、按需提供、和通过动态迁移的弹性。
无限带(IB)架构
IB架构是串行点对点全双工技术。IB网络可以被称为子网,其中子网由利用交换机和点到点链路互连的一组主机构成。IB子网可以包括至少一个子网管理器(SM),其负责初始化和提出网络,包括子网中的所有交换机、路由器和主机信道适配器(HCA)的配置。
IB支持丰富的传输服务集合,以便提供远程直接存储器存取(RDMA)和传统的发送/接收语义。独立于使用的传输服务,IB HCA利用队列对(QP)进行通信。QP在通信建立期间创建,并且可以具有诸如QP号码、HCA端口、目的地LID、队列大小、和提供的传输服务之类的初始属性集合。HCA可以处理许多QP,每个QP由一对队列构成,诸如发送队列(SQ)和接收队列(RQ),并且存在一个这样的对呈现在参与通信的每个终端节点处。发送队列保存要被传送到远程节点的工作请求,而接收队列保存关于对从远程节点接收的数据做什么的信息。除了QP之外,每个HCA具有与发送和接收队列的集合相关联的一个或多个完成队列(CQ)。CQ保存用于发布给发送和接收队列的工作请求的完成通知。即使通信的复杂度对用户隐藏,QP状态信息也被保存在HCA中。
输入/输出(I/O)虚拟化
I/O虚拟化(IOV)可以通过允许VM访问下层物理资源提供I/O的可用性。存储业务和服务器间通信的组合施加增加的负载,可能压垮单个服务器的I/O资源,在它们等待数据时导致积压和空闲的处理器。随着I/O请求的号码增加,IOV可以提供可用性;并且可以改善(虚拟化的)I/O资源的性能、可分级性和灵活性以匹配在现代CPU虚拟化中看到的性能水平。
可以存在不同类型IOV技术,诸如仿真、半虚拟化、直接分配(DA)、和单一根-I/O虚拟化(SR-IOV)。在这些IOV技术当中,SR-IOV可以扩展快速PCI(PCIe)规范,意味着允许从多个VM直接存取单个物理设备同时维持接近固有性能。因此,SR-IOV可以提供良好性能和可分级性。
SR-IOV允许PCIe设备暴露可以通过将一个虚拟设备分配到每个访客在多个访客之间共享的多个虚拟设备。每个SR-IOV设备具有至少一个物理功能(PF)和一个或多个关联的虚拟功能(VF)。PF是由虚拟机监控器(VMM)、或超控制器控制的正常PCIe功能,而VF是轻型PCIe功能。每个VF具有它自己的基局部址(BAR)并且被分配有使得I/O存储器管理单元(IOMMU)在业务流与不同的VF之间进行区分的唯一的请求者ID。IOMMU也在PF与VF之间应用存储器和中断转换。
可以存在不同类型的SR-IOV模型,例如共享端口模型和虚拟交换机模型。在共享端口模型中,所有VF可以共享单个端口地址和单个QP名称空间,并且仅仅单个HCA端口暴露于网络。在虚拟交换机模型中,每个VF是包含唯一端口地址和唯一QP名称空间的虚拟HCA,并且用于设备上的每个VF的一个HCA暴露于网络。因此,虚拟交换机模型可以简化具有多个复杂硬件的IOV。
SR-IOV能力设备的使用可以输出接近固有的性能和改善的可分级性。另一方面,SR-lOV可以不是与动态迁移和检查点/重新开始机制完全不兼容的。
动态迁移
根据本发明的实施例,虚拟化环境允许虚拟机的动态迁移,即在不干扰运行在VM上的应用的情况下将运行的VM从一个机器移动到另一个机器。
图1示出根据本发明的实施例的在虚拟化环境中虚拟机的动态迁移的例示。如图1所示,多个主机,例如主机A-B 101-102,可以经由IB网络100互连。VM,例如VMa 103可以从例如主机A 101的主机迁移到例如主机B 102(如VMa 104)的另一个主机。
还如图1所示,每个主机可以包括使用HCA的VMM。例如,主机A 101中的VMM A 115使用HCA 117并且主机B 102中的VMMB 116使用HCA 118。另外,VMa 103可以与VF,例如VF 105连接VF连接到队列对,例如QPa 107。
从VMM角度,三阶段迁移进程可以被执行以将与VF 105连接的VMa 103从主机A 101迁移到主机B 102。
阶段1:将VF 105从VMa 103分离。
阶段2:将VMa 103从主机A 101迁移到主机B 102(如VMa104)。
阶段3:将新的VF 106连接到VMa 104。
利用Xen虚拟化模型,每个主机可以包括特许域和包括一个或多个访客VM的访客域。例如,主机A 101可以包括特权域,Dom0111,和访客域,Dom U 113,并且主机B 102可以包括特权域,Dom0112,和访客域,Dom U 114。
如图1所示,特权域,Dom0111,可以生成对访客域DomU 113的虚拟中断,以用于通过卸载它的设备驱动器来分离VF 105。例如,由超控制器支持以断开PCle设备的热插拔机制可以用于分离VF105。
根据本发明的实施例,系统可以使用PID-QPN转换表以用于从VMa 103分离VF 105。当QPa 107被创建时,用户应用110的PID可以被登记在PID-QPN转换表中,该表驻留在VMa 103的内核空间中。然后,基于可以是图3所示的PID-QPN转换表,在例如QPa 107的有效QP存在并且连接到VF105时的情况中,VF 105可以被成功地分离。此外,VF 106,其包含新的虚拟全球唯一标识符(vGUID)和新的局部标识符(LID),在VMa 103从主机A 101迁移到主机B104(如VMa 104)之后,可以附接于VMa 104。
在IB网络中,QP资源可以由硬件直接管理,并且仅仅可以由软件通过不透明的处理访问。因此,当VF 106附接于VMa 104时,用户应用可以具有指向QPa 107的无效不透明处理。这是因为用于由用户进程固定的物理存储器的虚拟地址已经变化并且在存储器登记期间创建的不透明处理可以变得无效。
根据本发明的实施例,转换机制可以用于处理用于QP的位置相关资源。每个QP上下文包含与HCA和主机相关联的位置相关属性。利用转换机制,这些位置相关属性可以在迁移之后被再创建。此外,为了维持应用透明性,在用户进程中的虚拟地址可以在迁移之后被重新分配以便让他们固定到新位置处的正确的物理存储器。
另外,IB网络可以在VM的动态迁移之前和之后使用用于暂停和重新开始QP的确定性状态。此确定性状态可以用于在两个不同物理设备之间迁移QP状态并且阻止可以引起可以是无损网络的IB网络100中的致命错误的任何丢失的分组或乱序分组。然后,在迁移时,迁移VMa 103可以迁移还没有被通过线路转移的每个QP中未完成的分组。
图2示出了根据本发明的实施例的用于支持在虚拟化环境中虚拟机的动态迁移的示范性流程图。如图2所示,在步骤201处,包含一个或多个虚拟机的多个主机经由网络互连。然后,在步骤202处,至少一个虚拟机连接到与队列对(QP)相关联的虚拟功能,其中QP由主机上的主机信道适配器(HCA)支持。此外,在步骤203处,所述至少一个虚拟机可以执行从第一主机到第二主机的动态迁移。
进程ID(PID)到队列对号码(QPN)的转换表
图3示出根据本发明的实施例进程ID(PID)到队列对号码(QPN)的转换表的例示。如图3所示,虚拟机(VM)环境300可以包括内核空间301和用户空间302。
用户空间302可以包括一个或多个用户进程,例如用户进程A-C311-313,每个可以被分配有进程ID(PID)。例如,进程ID(PID)321可以分配给用户进程A 311。
此外,每个用户进程A-C 311-313,可以使用一个或多个队列对(QP)以与系统中的其它进程进行通信。例如,用户进程A 311可以使用QPa 322,其与队列对号码(QPN)332相关联。
为了在虚拟机300的动态迁移之前和之后识别正确的用户进程,内核空间301可以维护使得用于虚拟机300的QP和使用QP的不同用户进程相关联的转换表310。
例如,转换表310可以将用于QPa 322的QPN 332(具有值x)映射到分配给用户进程A 311的PID 321(具有值0xA)。另外,转换表310可以具有用于将QP映射到诸如用户进程B-C 312-313之类的其它用户进程的条目。
根据本发明的实施例,当QPa 322被创建时,用于用户进程A 311的PID 321可以利用转换表310登记,并且当QPa 322被毁坏时,用于用户进程A 311的PID 321可以被取消登记。
在基于Xen的架构的示例中,当登记的QPN 332存在时,通过触发用于通知具有登记的PID 321的用户进程A 311释放固定的存储器的事件,虚拟机300中的特权域可以尝试分离IB VF。在由用户进程A 311固定的存储器被释放之后,属于用户进程A 311的QPa 322可以被暂停直到它接收到重新开始事件。结果,内核空间301模块可以被卸载并且连接到QPa 322的VF可以从VM 300成功地分离。
此外,为了解决用户空间302与内核空间301之间缺乏交互,系统可以配置用户空间回调功能,其可以在取消登记PCI IB模块之前由内核空间301触发。
位置相关通信资源
图4示出了根据本发明的实施例的重新分配位置相关通信资源的例示。如图4所示,虚拟机环境400可以包括内核空间410,和具有例如用户进程A-C 411-413的一个或多个用户进程的用户空间401。
为了避免在迁移之后在目的地处与其它QPN的冲突,每个用户进程A-C 411-413可以具有可以最小化搜索和检索更新的QP属性的时间的映射表。
用户进程A 411可以具有映射表433,其可以被实施为用于用户进程A 411的用户空间库的一部分,例如用户空间设备驱动器422。另外,映射表433的大小可以维持在相对小的尺寸,因为每个用户进程A-C 411-413可以具有它自己的映射表。
此外,映射表433可以在新的IB VF在目的地主机处附接之后用于检索更新的位置相关QP属性。例如,代替利用一个映射表用于每个QP属性,映射表433仅仅可以包含指向存储在存储器(具有用作密钥的旧的QPN)中的新QP属性的指针。如图4所示,在映射表433中,第一QPN值x与QP上下文指针,0xaa,相关联,QP上下文指针存储位置相关属性432的地址431。
根据本发明的实施例,QP上下文可以包括若干位置相关属性432,诸如局部标识符(LID)、队列对号码(QPN)、远程密钥(rkey)、和本地密钥(Ikey)。LID是由子网管理器在子网初始化期间分配给每个HCA端口的局部地址。QPN是表示QP的标识符并且它在HCA之内是仅仅唯一的。本地密钥(lkey)和远程密钥(rkey)都是需要在迁移之后变化的位置相关属性。他们是分别访问本地和远程存储器区域的授权密钥。
可替换地,可以存在用于重新映射这些QP属性的其它方法。一个方法是将重新映射机制卸载到硬件。此方法可以需要修改硬件和软件架构。另一个可替换是在内核中放置映射表并且在VF被重新附接之后将高速缓存的QP属性重新映射到新的QP属性集合。此方法可以需要用于每个属性的映射表:LID、rkey、Ikey和QPN。另外,QPN在子网之内可以不是唯一的并且在迁移之后可能引起冲突。
因此,诸如QP属性432之类的位置相关资源可以由用户应用421高速缓存。此外,在QP被建立之后,由用户应用421对时间关键的操作可以在不从内核410拦截的情况下基于用户空间401中的库被直接执行。
队列对(QP)状态
图5示出根据本发明的实施例的利用确定性状态来暂停并重新开始队列对(QP)的例示。如图5所示,网络模型500允许队列对(QP)处于各种定义的状态,诸如准备读取(RTS)状态501和发送队列排出(SQD)状态502。另外,网络模型500可以使用确定性状态,例如暂停状态503,以在动态迁移之前和之后暂停并且重新开始QP。
根据本发明的实施例,暂停状态503可以基于发送队列排出(SQD)状态502。在QP被允许从RTS状态501转变到SQD状态502之前,QP的工作队列中的所有未完成的操作被成功地排出。因此,SQD状态502可以保证所有未完成的发送操作在QP可以被临时暂停之前完成。利用此方法,QP可以处于确定性状态,其中没有运行中的分组存在并且QP可以安全地被暂停并迁移。
后期分离迁移处理
根据本发明的实施例,虚拟环境可以在VM迁移期间利用后期分离方法减少服务停止时间。
图6示出根据本发明的实施例的利用自下向上方法的虚拟机动态迁移的例示。如图6所示,例如主机A-B 601-602的多个主机可以经由IB网络600互连。每个主机A-B 601-602可以包括一个或多个虚拟机监控器(VMM),诸如VMM 615-616,其管理一个或多个虚拟机(VM)。
例如DomU 613中的VMa 603的虚拟机(VM)可以与HCA 617上的连接到队列对(QP),例如QPa 607,的虚拟功能(VF)605附接。特权域Dom0611可以发起VMa 603从主机A 601到主机B 602(如VMa 604)的迁移。
如图6所示,系统允许VMa 603在不首先分离VF 605的情况下迁移。然后,系统可以在VMa 604被在目的地主机B 602上建立(其包括特权域Dom0612、和访客域DomU 614,由VMM616和HCA 618支持)之后分离VF 605。
因此,服务停止时间可以被减少,因为IB设备可以保持操作直到VM被暂停。例如,HCA 617上的QPa 607可以保持工作直到停止和复制阶段开始。
图7示出根据本发明的实施例的在迁移之后重新激活虚拟机的例示。如图7所示,例如主机A-B 701-702的多个主机可以经由IB网络700互连。每个主机A-B 701-702可以包括一个或多个虚拟机监控器(VMM),诸如主机A 701上的VMM 615和主机B 702上的VMM716,其管理一个或多个虚拟机(VM)。另外,每个主机A-B 701-702可以包括一个或多个HCA,诸如主机A 701上的HCA 717和主机B702上的HCA 718。
在VMa 704迁移到目的地主机B 702之后,在重新开始VMa 704之前,新的VF 706可以附接(或再附接)到VMa 704。新的VF 706可以连接到HCA 718上新创建的QPa’708。
利用Xen虚拟化模型,在主机B 702上的例如Dom0712的特权域可以在访客域,DomU 714中VMa 704的恢复的最后阶段处连接新的VF 706,而不是在早期恢复期间初始化VF 706。此外,Dom0712可以执行重新配置进程,其可以包括再创建硬件相关资源和重建与远程QP的连接。
重建远程连接
IB网络可以提供多个面向连接的传输服务。在VM迁移发生在两个QP都仍然在操作中(例如在RTS状态中)时的情况中,系统可以在迁移完成之后再创建目的地主机上的QP并且重建与远程QP的连接。
图8示出根据本发明的实施例的在虚拟机动态迁移之前两个队列对(QP)的例示。如图8所示,例如主机A-B 801-802的多个主机可以经由IB网络800互连。每个主机A-B 801-802可以包括诸如VMM815-816之类的一个或多个虚拟机监控器(VMM),和诸如HCA817-818之类的一个或多个HCA。
在如图8所示的示例中的,在VMa 803从主机A 801到主机B802的动态迁移之前,与主机A 801上的VMa 803相关联的QPa 808可以与例如与VMc 805相关联的QPc 807的对等方QP进行通信。
在VMa 803的动态迁移期间,通信管理器(CM)810可以被配置为容许设备删除事件,以便成功地迁移VMa 803。CM 810可以在设备被删除之后断开连接并且一旦新的设备被再附接后可以重新开始连接。另外,系统可以实施重新连接机制,例如在用户空间库中。
如图8所示,在基于Xen的架构的示例中,主机A 801上的特权域Dom0811可以发起访客域DomU 813中的VMa 803到主机B802的迁移。同样,主机B 802可以包括特权域Dom 0812,和访客域DomU 814,其包括一个或多个VM(例如VMx 804)。
根据本发明的实施例,在诸如Xen模型之类的虚拟化模型中可以存在VM与访客域(即DomU)之间的一对一关系。此外,在VMM/Dom0的控制下托管VM的物理服务器上的资源容器DomU可以用于表示VM的Xen概念。另外,在其它虚拟化模型中,在VM与的访客域之间可以无限制地存在一对多、或多对一关系。例如,访客域可以能够托管不同的VM。
此外,Dom 0811可以运行PCI分离脚本以从VMa 803中拔去VF。此操作也可以触发暂停阶段,其中VMa 803上的内核IB PCI模块可以验证PID存在于QPN-PID映射表310中并且可以发暂停事件信号以通知VMa 803中的用户进程。
迁移VMa 808可以在固定的存储器被释放之前保存QP属性和带外套接字地址到VMc 807。在这里,套接字地址可以用作用于VM的位置独立地址,其在迁移之后不变化。当贯穿VM生命周期vGUID不被用作唯一和静态的“名称”时,位置独立套接字地址可以用于识别VM。
然后,在固定的存储器被释放之后,VF可以被成功地从VMa 808处分离并且与VMa 808相关联的用户进程可以保持在暂停状态中直到它接收重新开始事件。
当用户进程接收暂停事件时,它可以设置暂停标记并且停止剩余的发送操作。然后,用户进程可以利用可靠的连接生成暂停消息以通知VMc 807上的用户库,QPa 808将要被暂停。当QP 807-808上的工作队列都已被排出时,VMc 805可以复位QPc 807并且可以等待新的CM事件。
此外,在动态迁移期间,迁移的VMa 803可以阻止QPc 807发送数据到迁移的VMa 803,并且可以转发可靠连接(RC)暂停消息以通知QPc 807关于迁移。在QPc 807接收消息之后,它可以保证所有工作队列被成功地排出。然后,QPc 807可以转变到复位状态并且等待新的CM事件以便重新开始通信。
因此,系统可以在迁移之后维护VMa 808与VMc 805之间的连接。
图9示出根据本发明的实施例的在虚拟机动态迁移之后通信中的两个队列对(QP)的例示。如图9所示,例如主机A-B 901-902的多个主机可以经由IB网络900互连。
主机B 902上的VMa 904被从主机901迁移。然后,系统可以连接新的VF到VMa 904,并且可以触发重新开始阶段。系统可以发送重新开始事件信号以用于通知VMa 904中的用户进程设置重新开始标记并且创建新的QP,例如QPa’908。此外,指向新的QP属性的指针可以被增加给具有用作检索密钥的先前QPN的映射表。
在CM 910利用用于VM的位置独立地址重建与VMc 905(或图8中的VMc 805)的连接之后,可以通过交换QP属性并将QP907-908传送到RTS状态中来重新开始通信。在这一点上,应用可以继续使用高速缓存QP属性,其中用户库拦截的所有操作从映射表中检索正确的QP属性。
可以使用一个或多个传统的通用或专门号码计算机、计算设备、机器或微处理器方便地实现本发明,包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质。合适的软件编码能够容易地由熟练的程序员基于本公开的教导来准备,这对软件领域的技术人员将是明显的。
在一些实施例中,本发明包括计算机程序产品,其是上面或其中存储指令的存储介质或计算机可读介质(介质),指令可以用于编程计算机来执行本发明的处理中的任何一个。存储介质能够包括以下中的一个或多个:任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微驱动器、和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器件、磁或光卡、纳米系统(包括分子存储器IC)或适合于存储指令和/或数据的任何类型的介质或设备,但是不局限于此。
本发明的上面的描述是为了说明和描述的目的而提供的。它不意欲是穷举的或将本发明限制于公开的精确的形式。许多修改和变化能够对本领域的实践者是明显的。选择并且描述实施例以便最佳地说明本发明的原理和它的实际应用,从而使得本领域技术人员能够理解用于各个实施例中的并且具有适合于预期的特定使用的各种修改的本发明。预期本发明的范围由以下权利要求书和它们的等价物定义。

Claims (20)

1.一种用于支持网络中的虚拟机动态迁移的系统,包括:
一个或多个微处理器;
多个主机,运行在所述一个或多个微处理器上,其中所述多个主机经由网络互连;以及
一个或多个虚拟机,其中所述一个或多个虚拟机中的至少一个虚拟机操作来执行从第一主机到第二主机的动态迁移,
其中所述至少一个虚拟机连接到与队列对(QP)相关联的虚拟功能,其中QP由主机上的主机信道适配器(HCA)支持。
2.根据权利要求1所述的系统,还包括:
至少一个虚拟机监控器,其管理所述一个或多个虚拟机。
3.根据权利要求1所述的系统,其中:
所述虚拟功能被设置在输入/输出(I/O)虚拟化模型中。
4.根据权利要求1所述的系统,其中:
所述至少一个虚拟机包括
用户空间,其中用户空间包括一个或多个用户进程,每个用户进程与进程标识号码(PID)相关联,以及
内核空间,其中内核空间包括将PID映射到队列对号码(QPN)的转换表,并且其中所述转换表用于将虚拟功能从至少一个虚拟机分离。
5.根据权利要求1所述的系统,其中:
后期分离迁移进程用于减少在虚拟机动态迁移期间的网络/服务停止时间。
6.根据权利要求1所述的系统,其中:
一个或多个位置相关QP属性能够在至少一个虚拟机被从第一主机迁移到第二主机之后被更新。
7.根据权利要求6所述的系统,其中:
每个用户进程包括映射表,所述映射表操作来优化搜索和检索更新的一个或多个位置相关QP属性。
8.根据权利要求1所述的系统,其中:
QP状态信息能够与所述至少一个虚拟机的图像一起被迁移以便重新分配QP的物理资源。
9.根据权利要求1所述的系统,其中:
对等方QP能够在所述至少一个虚拟机的动态迁移期间中止与QP的通信。
10.根据权利要求9所述的系统,其中:
连接管理器(CM)能够在完成迁移之后在迁移的QP与对等方QP之间重建新的连接。
11.一种用于支持网络中的虚拟机动态迁移的方法,包括:
提供多个主机,其中所述多个主机经由网络互连;
提供一个或多个虚拟机,其中所述一个或多个虚拟机中的至少一个虚拟机连接到与队列对(QP)相关联的虚拟功能,其中QP由主机上的主机信道适配器(HCA)支持;以及
经由所述至少一个虚拟机执行从第一主机到第二主机的动态迁移。
12.根据权利要求11所述的方法,还包括:
提供管理一个或多个虚拟机的至少一个虚拟机监控器。
13.根据权利要求11所述的方法,还包括:
将所述虚拟功能与由第一主机上的主机信道适配器(HCA)支持的队列对(QP)相关联。
14.根据权利要求11所述的系统,还包括:
在所述至少一个虚拟机中包括用户空间,其中用户空间包括一个或多个用户进程,每个用户进程与进程标识号码(PID)相关联,以及
在所述至少一个虚拟机中包括内核空间,其中内核空间包括将PID映射到队列对号码(QPN)的转换表,并且其中转换表用于将虚拟功能从至少一个虚拟机分离。
15.根据权利要求11所述的方法,还包括:
利用后期分离迁移进程来减少在虚拟机动态迁移期间的网络/服务停止时间。
16.根据权利要求11所述的方法,还包括:
在至少一个虚拟机被从第一主机迁移到第二主机之后更新一个或多个位置相关QP属性。
17.根据权利要求16所述的方法,还包括:
将映射表与每个用户进程相关联,其中映射表操作来优化搜索和检索更新的一个或多个位置相关QP属性。
18.根据权利要求11所述的方法,还包括:
与所述至少一个虚拟机的图像一起迁移QP状态信息以便重新分配QP的物理资源。
19.根据权利要求11所述的方法,还包括:
配置对等方QP以在所述至少一个虚拟机的动态迁移期间中止与QP的通信。
20.一种非瞬时机器可读存储介质,在其上存储有指令,所述指令在被执行时使得系统执行如下步骤:
提供多个主机,其中所述多个主机经由网络互连;
提供一个或多个虚拟机,其中所述一个或多个虚拟机中的至少一个虚拟机连接到与队列对(QP)相关联的虚拟功能,其中QP由主机上的主机信道适配器(HCA)支持;以及
经由所述至少一个虚拟机执行从第一主机到第二主机的动态迁移。
CN201380008060.1A 2012-03-26 2013-03-25 用于支持无限带网络中的虚拟机的动态迁移的系统和方法 Active CN104094231B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261615731P 2012-03-26 2012-03-26
US61/615,731 2012-03-26
US201261693703P 2012-08-27 2012-08-27
US61/693,703 2012-08-27
US13/837,922 US9397954B2 (en) 2012-03-26 2013-03-15 System and method for supporting live migration of virtual machines in an infiniband network
US13/838,121 2013-03-15
US13/838,502 2013-03-15
US13/838,275 US9432304B2 (en) 2012-03-26 2013-03-15 System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model
US13/838,121 US9450885B2 (en) 2012-03-26 2013-03-15 System and method for supporting live migration of virtual machines in a virtualization environment
US13/838,275 2013-03-15
US13/838,502 US9311122B2 (en) 2012-03-26 2013-03-15 System and method for providing a scalable signaling mechanism for virtual machine migration in a middleware machine environment
US13/837,922 2013-03-15
PCT/US2013/033752 WO2013148598A1 (en) 2012-03-26 2013-03-25 System and method for supporting live migration of virtual machines in an infiniband network

Publications (2)

Publication Number Publication Date
CN104094231A true CN104094231A (zh) 2014-10-08
CN104094231B CN104094231B (zh) 2017-12-01

Family

ID=49213417

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201380008048.0A Active CN104094229B (zh) 2012-03-26 2013-03-25 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的系统和方法
CN201380008050.8A Active CN104094230B (zh) 2012-03-26 2013-03-25 用于支持虚拟化环境中的虚拟机的动态迁移的系统和方法
CN201380008060.1A Active CN104094231B (zh) 2012-03-26 2013-03-25 用于支持无限带网络中的虚拟机的动态迁移的系统和方法
CN201380009011.XA Active CN104115121B (zh) 2012-03-26 2013-03-25 在中间件机器环境中对虚拟机迁移提供可扩展的信令机制的系统和方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201380008048.0A Active CN104094229B (zh) 2012-03-26 2013-03-25 用于基于扩展的主机信道适配器(hca)模型支持虚拟机的动态迁移的系统和方法
CN201380008050.8A Active CN104094230B (zh) 2012-03-26 2013-03-25 用于支持虚拟化环境中的虚拟机的动态迁移的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201380009011.XA Active CN104115121B (zh) 2012-03-26 2013-03-25 在中间件机器环境中对虚拟机迁移提供可扩展的信令机制的系统和方法

Country Status (6)

Country Link
US (1) US9311122B2 (zh)
EP (4) EP2831730B1 (zh)
JP (4) JP6122483B2 (zh)
CN (4) CN104094229B (zh)
IN (1) IN2014CN04933A (zh)
WO (4) WO2013148598A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107305534A (zh) * 2016-04-22 2017-10-31 三星电子株式会社 对使用NVMe接口的装置同时进行的内核模式和用户模式访问
CN107851034A (zh) * 2016-01-27 2018-03-27 甲骨文国际公司 用于在高性能计算环境中定义虚拟机的虚拟机构架简档的系统和方法

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5852677B2 (ja) * 2011-12-26 2016-02-03 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation レジスタ・マッピング方法
US9450885B2 (en) 2012-03-26 2016-09-20 Oracle International Corporation System and method for supporting live migration of virtual machines in a virtualization environment
US10025638B2 (en) * 2012-07-02 2018-07-17 Vmware, Inc. Multiple-cloud-computing-facility aggregation
US9990238B2 (en) * 2012-11-05 2018-06-05 Red Hat, Inc. Event notification
US9141416B2 (en) 2013-03-15 2015-09-22 Centurylink Intellectual Property Llc Virtualization congestion control framework for modifying execution of applications on virtual machine based on mass congestion indicator in host computing system
US10230794B2 (en) * 2013-03-15 2019-03-12 Oracle International Corporation System and method for efficient virtualization in lossless interconnection networks
US9990221B2 (en) 2013-03-15 2018-06-05 Oracle International Corporation System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment
US9729660B2 (en) * 2013-07-24 2017-08-08 Netapp, Inc. Method and system for detecting virtual machine migration
US10389577B2 (en) 2013-08-14 2019-08-20 Centurylink Intellectual Property Llc Ethernet carrier group alarm (CGA)
US10904201B1 (en) * 2013-10-11 2021-01-26 Cisco Technology, Inc. Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment
US9864623B2 (en) * 2013-11-21 2018-01-09 Centurylink Intellectual Property Llc Physical to virtual network transport function abstraction
US9436751B1 (en) * 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
US9548890B2 (en) 2014-03-17 2017-01-17 Cisco Technology, Inc. Flexible remote direct memory access resource configuration in a network environment
US10397105B2 (en) * 2014-03-26 2019-08-27 Oracle International Corporation System and method for scalable multi-homed routing for vSwitch based HCA virtualization
US9998320B2 (en) 2014-04-03 2018-06-12 Centurylink Intellectual Property Llc Customer environment network functions virtualization (NFV)
US9588796B2 (en) 2014-06-28 2017-03-07 Vmware, Inc. Live migration with pre-opened shared disks
US9672120B2 (en) * 2014-06-28 2017-06-06 Vmware, Inc. Maintaining consistency using reverse replication during live migration
US9900391B2 (en) * 2014-08-05 2018-02-20 Microsoft Technology Licensing, Llc Automated orchestration of infrastructure service blocks in hosted services
US10225327B2 (en) 2014-08-13 2019-03-05 Centurylink Intellectual Property Llc Remoting application servers
US9898318B2 (en) 2014-08-15 2018-02-20 Centurylink Intellectual Property Llc Multi-line/multi-state virtualized OAM transponder
US10198288B2 (en) * 2014-10-30 2019-02-05 Oracle International Corporation System and method for providing a dynamic cloud with subnet administration (SA) query caching
CN107645407B (zh) 2014-12-08 2021-02-12 华为技术有限公司 一种适配QoS的方法和装置
CN104753816A (zh) * 2015-03-27 2015-07-01 华为技术有限公司 一种rdma连接的报文处理方法及相关装置
US9588791B2 (en) 2015-04-27 2017-03-07 Altera Corporation Flexible physical function and virtual function mapping
WO2016206012A1 (en) * 2015-06-24 2016-12-29 Intel Corporation Systems and methods for isolating input/output computing resources
US10228969B1 (en) * 2015-06-25 2019-03-12 Amazon Technologies, Inc. Optimistic locking in virtual machine instance migration
US10970110B1 (en) 2015-06-25 2021-04-06 Amazon Technologies, Inc. Managed orchestration of virtual machine instance migration
US10243848B2 (en) 2015-06-27 2019-03-26 Nicira, Inc. Provisioning logical entities in a multi-datacenter environment
US9882833B2 (en) 2015-09-28 2018-01-30 Centurylink Intellectual Property Llc Intent-based services orchestration
CN108139937B (zh) 2015-10-13 2021-08-13 华为技术有限公司 多根i/o虚拟化系统
CN106997306B (zh) * 2016-01-26 2021-03-09 阿里巴巴集团控股有限公司 物理机数据迁移至云端的方法、装置和系统
CN107852378B (zh) * 2016-01-27 2020-12-08 甲骨文国际公司 用于在高性能计算环境中支持可伸缩的基于位图的P_Key表的系统和方法
US10348645B2 (en) 2016-01-27 2019-07-09 Oracle International Corporation System and method for supporting flexible framework for extendable SMA attributes in a high performance computing environment
US11271870B2 (en) 2016-01-27 2022-03-08 Oracle International Corporation System and method for supporting scalable bit map based P_Key table in a high performance computing environment
US10630816B2 (en) 2016-01-28 2020-04-21 Oracle International Corporation System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US10666611B2 (en) 2016-01-28 2020-05-26 Oracle International Corporation System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment
US10659340B2 (en) * 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10374926B2 (en) 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment
US10616118B2 (en) 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting in a high performance computing environment
US10171353B2 (en) 2016-03-04 2019-01-01 Oracle International Corporation System and method for supporting dual-port virtual router in a high performance computing environment
CN107305506A (zh) * 2016-04-20 2017-10-31 阿里巴巴集团控股有限公司 动态分配内存的方法、装置及系统
US10678578B2 (en) * 2016-06-30 2020-06-09 Microsoft Technology Licensing, Llc Systems and methods for live migration of a virtual machine based on heat map and access pattern
US10565008B2 (en) 2016-07-28 2020-02-18 International Business Machines Corporation Reducing service downtime during service migration
US10423444B2 (en) 2016-08-09 2019-09-24 Red Hat Israel, Ltd. Routing table preservation for virtual machine migration with assigned devices
JP6929863B2 (ja) 2016-08-23 2021-09-01 オラクル・インターナショナル・コーポレイション 高性能コンピューティング環境における高速ハイブリッド再構成をサポートするためのシステムおよび方法
CN107992352A (zh) * 2016-10-26 2018-05-04 阿里巴巴集团控股有限公司 用于虚拟化场景的数据交互方法及设备
US10558250B2 (en) * 2016-12-23 2020-02-11 Oracle International Corporation System and method for coordinated link up handling following switch reset in a high performance computing network
CN109144972B (zh) * 2017-06-26 2022-07-12 华为技术有限公司 一种数据迁移的方法以及数据节点
US11469953B2 (en) 2017-09-27 2022-10-11 Intel Corporation Interworking of legacy appliances in virtualized networks
EP3704602B1 (en) * 2017-10-24 2023-09-06 INTEL Corporation Hardware assisted virtual switch
TWI645293B (zh) 2017-11-30 2018-12-21 財團法人工業技術研究院 在多根輸入輸出虛擬化環境中虛擬機器即時遷移的方法、系統及其計算主機
CN109918172A (zh) * 2019-02-26 2019-06-21 烽火通信科技股份有限公司 一种虚拟机热迁移方法及系统
US11537406B2 (en) * 2020-02-18 2022-12-27 Juniper Networks, Inc. Automatic formation of a virtual chassis using zero touch provisioning
US11115301B1 (en) 2020-04-06 2021-09-07 Vmware, Inc. Presenting realized state of multi-site logical network
US11303557B2 (en) 2020-04-06 2022-04-12 Vmware, Inc. Tunnel endpoint group records for inter-datacenter traffic
US11777793B2 (en) 2020-04-06 2023-10-03 Vmware, Inc. Location criteria for security groups
US11088902B1 (en) 2020-04-06 2021-08-10 Vmware, Inc. Synchronization of logical network state between global and local managers
US11882000B2 (en) 2020-04-06 2024-01-23 VMware LLC Network management system for federated multi-site logical network
US20220103430A1 (en) 2020-09-28 2022-03-31 Vmware, Inc. Defining logical networks for deploying applications
CN113326101B (zh) * 2021-08-02 2022-04-12 阿里云计算有限公司 基于远程直接数据存储的热迁移方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970913B2 (en) * 2008-12-31 2011-06-28 International Business Machines Corporation Virtualizing sockets to enable the migration of a system environment
CN102209024A (zh) * 2010-03-30 2011-10-05 株式会社日立制作所 虚拟机的迁移方法以及系统

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030208572A1 (en) * 2001-08-31 2003-11-06 Shah Rajesh R. Mechanism for reporting topology changes to clients in a cluster
US7093024B2 (en) * 2001-09-27 2006-08-15 International Business Machines Corporation End node partitioning using virtualization
US6988161B2 (en) * 2001-12-20 2006-01-17 Intel Corporation Multiple port allocation and configurations for different port operation modes on a host
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7493409B2 (en) 2003-04-10 2009-02-17 International Business Machines Corporation Apparatus, system and method for implementing a generalized queue pair in a system area network
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7555002B2 (en) 2003-11-06 2009-06-30 International Business Machines Corporation Infiniband general services queue pair virtualization for multiple logical ports on a single physical port
US8335909B2 (en) * 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US7581021B2 (en) 2005-04-07 2009-08-25 International Business Machines Corporation System and method for providing multiple virtual host channel adapters using virtual switches
JP4883979B2 (ja) * 2005-10-11 2012-02-22 株式会社ソニー・コンピュータエンタテインメント 情報処理装置および通信制御方法
US20080189432A1 (en) * 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
US20090055831A1 (en) * 2007-08-24 2009-02-26 Bauman Ellen M Allocating Network Adapter Resources Among Logical Partitions
US8798056B2 (en) * 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
JP2010039730A (ja) * 2008-08-05 2010-02-18 Fujitsu Ltd ネットワーク設定プログラム,ネットワーク設定方法及びネットワーク設定装置
US7996484B2 (en) 2008-12-11 2011-08-09 Microsoft Corporation Non-disruptive, reliable live migration of virtual machines with network data reception directly into virtual machines' memory
US8862538B2 (en) 2008-12-18 2014-10-14 International Business Machines Corporation Maintaining a network connection of a workload during transfer
EP2401683A4 (en) * 2009-02-27 2015-07-29 Broadcom Corp METHOD AND SYSTEM FOR NETWORKING VIRTUAL MACHINES
US8429647B2 (en) 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US8150971B2 (en) 2009-05-31 2012-04-03 Red Hat Israel, Ltd. Mechanism for migration of client-side virtual machine system resources
US8489744B2 (en) 2009-06-29 2013-07-16 Red Hat Israel, Ltd. Selecting a host from a host cluster for live migration of a virtual machine
EP2309680B1 (en) * 2009-10-08 2017-07-19 Solarflare Communications Inc Switching API
US8370560B2 (en) 2009-11-16 2013-02-05 International Business Machines Corporation Symmetric live migration of virtual machines
US9507619B2 (en) * 2010-01-12 2016-11-29 International Business Machines Corporation Virtualizing a host USB adapter
JP5548489B2 (ja) * 2010-03-11 2014-07-16 株式会社日立製作所 計算機システム、仮想化機構、および計算機システムの障害回復方法
US8700811B2 (en) 2010-05-25 2014-04-15 Microsoft Corporation Virtual machine I/O multipath configuration
US8489699B2 (en) 2010-08-13 2013-07-16 Vmware, Inc. Live migration of virtual machine during direct access to storage over SR IOV adapter
US20120173757A1 (en) 2011-01-05 2012-07-05 International Business Machines Corporation Routing optimization for virtual machine migration between geographically remote data centers
US8407182B1 (en) 2011-01-21 2013-03-26 Symantec Corporation Systems and methods for facilitating long-distance live migrations of virtual machines
US9552215B2 (en) 2011-03-08 2017-01-24 Rackspace Us, Inc. Method and system for transferring a virtual machine
US8935506B1 (en) 2011-03-31 2015-01-13 The Research Foundation For The State University Of New York MemX: virtualization of cluster-wide memory
JP4894963B2 (ja) * 2011-04-01 2012-03-14 株式会社日立製作所 データ処理システム
US20120287931A1 (en) 2011-05-13 2012-11-15 International Business Machines Corporation Techniques for securing a virtualized computing environment using a physical network switch
US20120291024A1 (en) * 2011-05-13 2012-11-15 International Business Machines Corporation Virtual Managed Network
US9201679B2 (en) 2012-05-31 2015-12-01 Red Hat Israel, Ltd. Multiple destination live migration
CN102968344A (zh) * 2012-11-26 2013-03-13 北京航空航天大学 一种多虚拟机迁移调度的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7970913B2 (en) * 2008-12-31 2011-06-28 International Business Machines Corporation Virtualizing sockets to enable the migration of a system environment
CN102209024A (zh) * 2010-03-30 2011-10-05 株式会社日立制作所 虚拟机的迁移方法以及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107851034A (zh) * 2016-01-27 2018-03-27 甲骨文国际公司 用于在高性能计算环境中定义虚拟机的虚拟机构架简档的系统和方法
CN107851034B (zh) * 2016-01-27 2021-08-06 甲骨文国际公司 用于定义虚拟机的虚拟机构架简档的系统和方法
US11128524B2 (en) 2016-01-27 2021-09-21 Oracle International Corporation System and method of host-side configuration of a host channel adapter (HCA) in a high-performance computing environment
US11252023B2 (en) 2016-01-27 2022-02-15 Oracle International Corporation System and method for application of virtual host channel adapter configuration policies in a high-performance computing environment
US11451434B2 (en) 2016-01-27 2022-09-20 Oracle International Corporation System and method for correlating fabric-level group membership with subnet-level partition membership in a high-performance computing environment
CN107305534A (zh) * 2016-04-22 2017-10-31 三星电子株式会社 对使用NVMe接口的装置同时进行的内核模式和用户模式访问
CN107305534B (zh) * 2016-04-22 2022-02-18 三星电子株式会社 同时进行内核模式访问和用户模式访问的方法

Also Published As

Publication number Publication date
CN104115121B (zh) 2018-04-03
JP2015515683A (ja) 2015-05-28
EP2831732B1 (en) 2021-06-09
JP6122483B2 (ja) 2017-04-26
EP2831730B1 (en) 2019-07-31
JP2015514270A (ja) 2015-05-18
JP6185045B2 (ja) 2017-08-23
EP2831729B1 (en) 2019-01-09
CN104094231B (zh) 2017-12-01
CN104094230A (zh) 2014-10-08
WO2013148600A1 (en) 2013-10-03
IN2014CN04933A (zh) 2015-09-18
JP2015514271A (ja) 2015-05-18
US9311122B2 (en) 2016-04-12
EP2831731A1 (en) 2015-02-04
CN104094229B (zh) 2017-12-22
EP2831732A1 (en) 2015-02-04
WO2013148601A1 (en) 2013-10-03
WO2013148598A1 (en) 2013-10-03
US20130254424A1 (en) 2013-09-26
EP2831729A1 (en) 2015-02-04
JP6195900B2 (ja) 2017-09-13
EP2831730A1 (en) 2015-02-04
CN104115121A (zh) 2014-10-22
WO2013148599A1 (en) 2013-10-03
CN104094229A (zh) 2014-10-08
JP6285906B2 (ja) 2018-02-28
JP2015518602A (ja) 2015-07-02
CN104094230B (zh) 2017-10-17

Similar Documents

Publication Publication Date Title
CN104094231A (zh) 用于支持无限带网络中的虚拟机的动态迁移的系统和方法
US9684545B2 (en) Distributed and continuous computing in a fabric environment
Zhang et al. {FlashShare}: Punching Through Server Storage Stack from Kernel to Firmware for {Ultra-Low} Latency {SSDs}
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
US9397954B2 (en) System and method for supporting live migration of virtual machines in an infiniband network
US9519795B2 (en) Interconnect partition binding API, allocation and management of application-specific partitions
CN101206629B (zh) 在运行的PCIe架构中热插/拔新组件的系统和方法
TWI375913B (en) Delivering interrupts directly to a virtual processor
CN101206633B (zh) 用事务协议和共享存储器在主机系统间通信的系统和方法
CN100583046C (zh) 用于单根无状态虚拟功能迁移的系统和方法
US9565095B2 (en) Take-over of network frame handling in a computing environment
WO2017024783A1 (zh) 一种虚拟化方法、装置和系统
US9910693B2 (en) Virtual machine to host device bridging
US10956189B2 (en) Methods for managing virtualized remote direct memory access devices
CN101842784A (zh) 支持事务认证的硬件装置接口
CN102906707A (zh) 管理与硬件事件关联的处理
CN102819447A (zh) 一种用于多根共享系统的直接i/o 虚拟化方法和装置
CN106484549A (zh) 一种交互方法、NVMe设备、HOST及物理机系统
CN112306650A (zh) 虚拟机热迁移方法和通信设备
CN106598696B (zh) 一种虚拟机之间数据交互的方法及装置
CN105229600A (zh) 基于能力的设备驱动程序框架
CN112099916B (zh) 虚拟机数据的迁移方法、装置、计算机设备及存储介质
CN103605559A (zh) 一种kvm虚拟化服务系统及其数据通信方法
US8139595B2 (en) Packet transfer in a virtual partitioned environment

Legal Events

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