CN104636185A - 业务上下文管理方法、物理主机、pcie设备及迁移管理设备 - Google Patents

业务上下文管理方法、物理主机、pcie设备及迁移管理设备 Download PDF

Info

Publication number
CN104636185A
CN104636185A CN201510041218.6A CN201510041218A CN104636185A CN 104636185 A CN104636185 A CN 104636185A CN 201510041218 A CN201510041218 A CN 201510041218A CN 104636185 A CN104636185 A CN 104636185A
Authority
CN
China
Prior art keywords
business
internal memory
pcie device
address
armed state
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
CN201510041218.6A
Other languages
English (en)
Other versions
CN104636185B (zh
Inventor
卢胜文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201510041218.6A priority Critical patent/CN104636185B/zh
Publication of CN104636185A publication Critical patent/CN104636185A/zh
Priority to PCT/CN2015/089815 priority patent/WO2016119469A1/zh
Application granted granted Critical
Publication of CN104636185B publication Critical patent/CN104636185B/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种业务上下文管理方法、物理主机、PCIE设备及迁移管理设备,属于虚拟机领域。适用于虚拟机,虚拟机运行在物理主机上,物理主机与快捷外围部件互连标准PCIE设备连接,PCIE设备为一个符合单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,该方法包括:虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存;虚拟机在内存中生成上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文;虚拟机将内存的首地址及功能号发送给PCIE设备。

Description

业务上下文管理方法、物理主机、PCIE设备及迁移管理设备
技术领域
本发明涉及虚拟机领域,特别涉及一种业务上下文管理方法、物理主机、PCIE设备及迁移管理设备。
背景技术
在典型的虚拟机应用架构中,一台物理主机上安装具有管理虚拟机功能的虚拟机管理器(英文:Virtual Machine Manager,简称:VMM),由VMM管理一个或多个虚拟机,每个虚拟机上可以运行操作系统(英文:Operating System,简称:OS)以及各种应用。一般物理主机的硬件主要包括:一部分跟运行虚拟机相关的硬件,例如中央处理器(英文:Central Processing Unit,简称:CPU)、内存、硬盘等,以及一部分不直接用于运行虚拟机,而用于执行一些特定业务,且功能相对独立的硬件,例如物理主机内的快捷外围部件互连标准(英文:Peripheral Component Interconnection Express,简称:PCIE)设备(如网卡适配器、显卡等)。
单根I/O虚拟化(英文:Single-Root I/O Virtualization,简称:SR-IOV)是一种输入输出(英文:Input/output,简称:I/O)虚拟化技术,该技术可以在一个物理PCIE适配器上虚拟化出多个虚拟的PCIE适配器,称之为虚拟功能(英文:Virtual function,简称:VF)。以支持SR-IOV的网卡适配器为例,一块物理网卡适配器可以虚拟出多个虚拟网卡适配器,每台虚拟机中的VF对应一块虚拟网卡适配器。
服务器在实现虚拟化后,可以方便地实现虚拟机热迁移。虚拟机热迁移技术是指通过热迁移将虚拟机从一台物理主机中转移到另一台物理主机中,而该迁移过程对业务处理的影响很小。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
在现有技术中,虚拟机热迁移时除了需要将内存中存储的数据迁移到目标物理主机外,还需要将保存在PCIE适配器上的寄存器或内部内存中的状态数据迁移到目标物理主机,这些寄存器或内存通常是配置来保存PCIE适配器处理的状态卸载业务的上下文,状态卸载业务的上下文用于业务的统计、控制和业务状态记录。但保存业务的上下文的寄存器非常分散,如果进行热迁移,这些寄存器或内存的保存和恢复,需要逐个地独立保存和恢复,非常麻烦。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种业务上下文管理方法、物理主机、PCIE设备及迁移管理设备。所述技术方案如下:
第一方面,本发明实施例提供了一种业务上下文管理方法,适用于虚拟机,所述虚拟机运行在物理主机上,所述物理主机与快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个符合单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述方法包括:
所述虚拟机为所述PCIE设备承载的至少一个状态卸载业务分配内存;
所述虚拟机在所述内存中生成上下文表,所述上下文表用于记录所述PCIE设备承载的至少一个状态卸载业务的业务上下文;
所述虚拟机将所述内存的首地址及所述虚拟机对应的功能号发送给所述PCIE设备。
在第一方面的第一种可能的实施方式中,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述至少一个状态卸载业务包括待处理状态卸载业务,所述方法还包括:
接收所述PCIE设备发送的用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述内存的首地址和关键字KEY;
根据所述请求消息中的所述内存的首地址确定对应的直接索引表或者哈希表;
根据所述请求消息中的KEY从确定出的所述内存的首地址对应的直接索引表中读取业务上下文,或者根据所述请求消息中的KEY计算哈希值C,采用所述哈希值C从确定出的所述内存的首地址对应的哈希表中读取业务上下文;
将读取到的业务上下文发送给所述PCIE设备。
根据第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述根据所述请求消息中的KEY计算哈希值C,包括:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;
获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;
采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
根据第一方面的第一种或第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述将读取到的业务上下文发送给所述PCIE设备,包括:
将所述读取到的业务上下文通过缓存Cache机制的方式写入所述PCIE设备的缓存中。
第二方面,本发明实施例还提供了一种业务上下文管理方法,适用于PCIE设备,所述PCIE设备与物理主机连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述物理主机上运行有至少一个虚拟机,所述方法包括:
所述PCIE设备接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息;
所述PCIE设备根据所述待处理状态卸载业务的业务信息确定所述待处理状态卸载业务对应的功能号;
所述PCIE设备根据确定出的所述待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定所述待处理状态卸载业务对应的内存的首地址,所述内存中保存有上下文表,所述上下文表用于记录所述PCIE设备承载的状态卸载业务的业务上下文;
所述PCIE设备从所述待处理状态卸载业务的业务信息中获取KEY;
所述PCIE设备根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文。
在第二方面的第一种可能的实施方式中,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文,包括:
采用所述待处理状态卸载业务对应的内存的首地址在所述虚拟机的内存中查找对应的直接索引表或者哈希表;
采用所述KEY直接读取查找到的所述内存的首地址对应的直接索引表中的业务上下文,或者根据所述KEY计算哈希值C,采用所述哈希值C读取查找到的所述内存的首地址对应的哈希表中的业务上下文。
根据第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述根据所述KEY计算哈希值C,包括:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;
获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;
采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
根据第二方面或第二方面的第一种或第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文,包括:
向确定出的所述待处理状态卸载业务对应的功能号所对应的所述虚拟机发送用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述待处理状态卸载业务对应的内存的首地址和所述KEY;
接收所述虚拟机根据所述请求消息发送的所述待处理状态卸载业务的业务上下文。
根据第二方面或第二方面的第一种或第二种可能的实施方式,在第二方面的第四种可能的实施方式中,所述根据所述待处理状态卸载业务的业务信息确定所述待处理状态卸载业务对应的功能号,包括:
根据所述主机侧发送的所述待处理状态卸载业务的业务信息中的特征或者接收所述主机侧传输所述待处理状态卸载业务的业务信息时所用的PCIE接口确定所述待处理状态卸载业务对应的功能号,所述特征用于指示所述待处理状态卸载业务对应的功能号。
根据第二方面或第二方面的第一种或第二种可能的实施方式,在第二方面的第五种可能的实施方式中,所述方法还包括:
所述PCIE设备接收各个虚拟机的内存的首地址及所述各个虚拟机对应的功能号;
保存所述内存的首地址与所述功能号的对应关系。
第三方面,本发明实施例还提供了一种业务上下文管理方法,所述方法包括:
在热迁移时,目的物理主机中的迁移管理设备获取从源物理主机内存中复制来的内存的首地址,所述目的物理主机和所述源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号;
获取迁移后的虚拟机对应的所述功能号;
将所述内存的首地址与所述功能号的对应关系配置到所述目的物理主机的PCIE设备中。
第四方面,本发明实施例还提供了一种物理主机,所述物理主机上运行有虚拟机,所述物理主机与快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述虚拟机包括:
分配模块,用于为所述PCIE设备承载的至少一个状态卸载业务分配内存;
生成模块,用于在所述内存中生成上下文表,所述上下文表用于记录所述PCIE设备承载的至少一个状态卸载业务的业务上下文;
发送模块,用于将所述内存的首地址及功能号发送给所述PCIE设备。
在第四方面的第一种可能的实施方式中,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述至少一个状态卸载业务包括待处理状态卸载业务,所述哈希表包括哈希值与业务上下文的对应关系,所述虚拟机还包括:
接收模块,用于接收所述PCIE设备发送的用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述内存的首地址和关键字KEY;
确定模块,用于根据所述请求消息中的所述内存的首地址确定对应的直接索引表或者哈希表;
读取模块,用于根据所述请求消息中的KEY从确定出的所述内存的首地址对应的直接索引表中读取业务上下文,或者根据所述请求消息中的KEY计算哈希值C,采用所述哈希值C从确定出的所述内存的首地址对应的哈希表中读取业务上下文;
所述发送模块,还用于将读取到的业务上下文发送给所述PCIE设备。
根据第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述读取模块具体用于:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
根据第四方面的第一种或第二种可能的实施方式,在第四方面的第三种可能的实施方式中,所述发送模块具体用于:将所述读取到的业务上下文通过缓存Cache机制的方式写入所述PCIE设备的缓存中。
第五方面,本发明实施例还提供了一种PCIE设备,所述PCIE设备与物理主机连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述物理主机上运行有至少一个虚拟机,所述PCIE设备包括:
接收模块,用于接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息;
第一确定模块,用于根据所述待处理状态卸载业务的业务信息确定所述待处理状态卸载业务对应的功能号;
第二确定模块,用于根据确定出的所述待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定所述待处理状态卸载业务对应的内存的首地址,所述内存中保存有上下文表,所述上下文表用于记录所述PCIE设备承载的状态卸载业务的业务上下文;
第一获取模块,用于从所述待处理状态卸载业务的业务信息中获取KEY;
第二获取模块,用于根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文。
在第五方面的第一种可能的实施方式中,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述第二获取模块具体用于:
采用所述待处理状态卸载业务对应的内存的首地址在所述虚拟机的内存中查找对应的直接索引表或者哈希表;采用所述KEY直接读取查找到的所述内存的首地址对应的直接索引表中的业务上下文,或者根据所述KEY计算哈希值C,采用所述哈希值C读取查找到的所述内存的首地址对应的哈希表中的业务上下文。
根据第五方面的第一种可能的实施方式,在第五方面的第二种可能的实施方式中,所述第二获取模块具体用于:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
根据第五方面或第五方面的第一种或第二种可能的实施方式,在第五方面的第三种可能的实施方式中,所述第二获取模块具体用于:
向确定出的所述待处理状态卸载业务对应的功能号所对应的所述虚拟机发送用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述待处理状态卸载业务对应的内存的首地址和所述KEY;接收所述虚拟机根据所述请求消息发送的所述待处理状态卸载业务的业务上下文。
根据第五方面或第五方面的第一种或第二种可能的实施方式,在第五方面的第四种可能的实施方式中,所述第一确定模块具体用于:根据所述主机侧发送的所述待处理状态卸载业务的业务信息中的特征或者接收所述主机侧传输所述待处理状态卸载业务的业务信息时所用的PCIE接口确定所述待处理状态卸载业务对应的功能号,所述特征用于指示所述待处理状态卸载业务对应的功能号。
根据第五方面或第五方面的第一种或第二种可能的实施方式,在第五方面的第五种可能的实施方式中,所述接收模块,还用于接收各个虚拟机的内存的首地址及所述各个虚拟机对应的功能号;
所述PCIE设备还包括:存储模块,用于保存所述内存的首地址与所述功能号的对应关系。
第六方面,本发明实施例还提供了一种迁移管理设备,所述迁移管理设备设于目的物理主机中,所述迁移管理设备包括:
第一获取模块,用于在热迁移时,获取从源物理主机内存中复制来的内存的首地址,所述目的物理主机和所述源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号;
第二获取模块,用于获取迁移后的虚拟机对应的所述功能号;
配置模块,用于将所述内存的首地址与所述功能号的对应关系配置到所述目的物理主机的PCIE设备中。
第七方面,本发明实施例还提供了一种物理主机,所述物理主机包括:处理器、存储器、输入输出单元和总线;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述总线连接,当所述物理主机运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述计算机执行前述第一方面或第三方面提供的业务上下文管理方法。
本发明实施例提供的技术方案带来的有益效果是:
虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存,然后在内存中生成上下文表,再将内存的首地址及虚拟机对应的功能号发送给PCIE设备,使得PCIE设备可以记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用场景图;
图2是本发明实施例一提供的业务上下文管理方法流程图;
图3是本发明实施例二提供的业务上下文管理方法流程图;
图4是本发明实施例三提供的业务上下文管理方法流程图;
图5是本发明实施例四提供的业务上下文管理方法流程图;
图6是本发明实施例五提供的物理主机的结构框图;
图7是本发明实施例六提供的物理主机的结构框图;
图8是本发明实施例七提供的PCIE设备的结构框图;
图9是本发明实施例八提供的PCIE设备的结构框图;
图10是本发明实施例九提供的迁移管理设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于实施例的描述,下面先简单介绍一下本发明实施例的应用场景。参见图1,一台物理主机上运行有虚拟机管理器VMM和至少一个虚拟机,该VMM可以管理一个或多个虚拟机,每个虚拟机上可以运行操作系统OS以及各种应用。物理主机可以与PCIE设备连接,该PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备。PCIE设备包括至少一个物理功能(英文:Physical function,简称:PF)以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号。虚拟机通过PF或VF执行特定业务,每个PF或VF与一个虚拟机相对应,PF或VF的功能号与虚拟机的对应关系可以保存在PCIE设备中。
物理主机包括跟运行虚拟机相关的硬件,例如CPU及至少一个计算机可读存储介质的存储器(硬盘、内存等)。除此之外,该物理主机还可以包括通信单元、输入单元、显示单元等。前述PCIE设备可以是PCIE适配器,例如网卡适配器、显卡等。
物理主机还包括迁移管理设备,在虚拟机热迁移时,由源物理主机上的迁移管理设备将内存中存储的数据迁移到目标物理主机中。在一种实现方式中,迁移管理设备可以由前述VMM实现。
需要说明的是,以上所述的设备种类及连接方式仅为举例,本发明对此不作限制。
实施例一
本发明实施例提供了一种业务上下文管理方法,该方法由前述至少一个虚拟机中的一个来执行,参见图2,该方法包括:
步骤101:虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存。
步骤102:虚拟机在内存中生成上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文。
步骤103:虚拟机将内存的首地址及虚拟机对应的功能号发送给PCIE设备,PCIE设备用于记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文。
本发明提供了一种业务上下文管理方法,虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存,然后在内存中生成上下文表,再将内存的首地址及虚拟机对应的功能号发送给PCIE设备,使得PCIE设备可以记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例二
本发明实施例提供了一种业务上下文管理方法,该方法由前述PCIE设备执行,参见图3,该方法包括:
步骤201:PCIE设备接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息。
步骤202:PCIE设备根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号。
步骤203:PCIE设备根据确定出的待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,内存中保存有上下文表,上下文表用于记录PCIE设备承载的状态卸载业务的业务上下文。
步骤204:PCIE设备从待处理状态卸载业务的业务信息中获取KEY。
步骤205:PCIE设备根据待处理状态卸载业务对应的内存的首地址和KEY获取待处理状态卸载业务的业务上下文。
本发明提供了一种业务上下文管理方法,PCIE设备根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号,以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,然后从待处理状态卸载业务的业务信息中获取KEY,根据内存的首地址和KEY从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例三
本发明实施例提供了一种业务上下文管理方法,该方法由前述迁移管理设备执行,参见图4,该方法包括:
步骤301:在热迁移时,目的物理主机中的迁移管理设备获取从源物理主机内存中复制来的内存的首地址,目的物理主机和源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号。
步骤302:获取迁移后的虚拟机对应的功能号。
步骤303:将内存的首地址与功能号的对应关系配置到目的物理主机的PCIE设备中。
本发明实施例在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例四
本发明实施例提供了一种业务上下文管理方法,参见图5,该方法包括:
步骤401:虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存。该内存用于记录状态卸载业务的上下文。
在虚拟机启动时,虚拟机为PCIE设备申请物理主机的内存,然后将申请到的内存分配给状态卸载业务。具体地,在接到虚拟机的申请后,物理主机中的PCIE设备驱动为虚拟机分配内存,其中,物理主机中的PCIE设备驱动是指在安装在物理主机的硬盘内用于驱动PCIE设备工作的驱动程序。
步骤402:虚拟机在内存中生成上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文。
在本实施例中,上下文表可以为直接索引表或者哈希表,直接索引表包括关键字KEY与业务上下文的对应关系,哈希表包括哈希值与业务上下文的对应关系。
具体地,哈希表中建立哈希值与业务上下文的对应关系时,可以采用下述方式实现:
将KEY转化为总哈希值A;确定哈希表中虚拟机对应的哈希桶或待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用总哈希值A对哈希桶的大小M取模,得到哈希值C;将该哈希值C与业务上下文对应,得到哈希值与业务上下文的对应关系。
具体地,不同业务报文或业务数据对应不同协议,因此,不同业务报文或者业务数据可以采用不同类型的KEY。例如基于远程直接数据存取(英文:Remote Direct Memory Access,简称:RDMA)协议的业务报文,可以采用RDMA协议中的队列对(英文:Queue Pair,简称:QP)号作为KEY;基于传输控制协议(英文:Transmission Control Protocol,简称:TCP)/网络互联协议(英文:Internet Protocol,简称:IP)的业务报文,可以采用IP五元组(源IP地址、目的IP地址、源TCP端口、目的TCP端口及协议号)作为KEY。
由于直接索引表是采用数组进行直接索引的,而对于IP五元组这类位数较长的KEY,则无法作为直接索引表的索引,因此需要采用哈希表来实现索引。
在本实施例中,状态卸载业务可以是TCP卸载业务、小型计算机系统接口(英文:Internet Small Computer System Interface,简称:iSCSI)卸载业务、以太网光纤通道(英文:Fibre Channel over Ethernet,简称:FCoE)卸载业务等。
步骤403:虚拟机将内存的首地址及虚拟机对应的功能号发送给PCIE设备。
具体地,内存的首地址既可以是物理主机的物理地址(也称主机的物理地址,英文:Host Physical Address,简称HPA),也可以是虚拟机的物理地址(也称客户机的物理地址,英文:Guest Physical Address,简称GPA),如果是GPA的话,PCIE设备访问该地址时,需要先使用CPU的VT-D(Intel公司的技术)或IOMMU(AMD公司的技术),或者其它的能够自动实现GPA到HPA地址转换的技术,实现GPA到HPA的转换。
另外,虚拟机对应的PF或者VF的功能号可以由虚拟机自行指定,也可以由VMM为其指定。因此,步骤403也可以由VMM执行。
进一步地,在本实施例中,虚拟机还可以将内存的首地址与功能号的对应关系保存起来,供后续使用。
步骤404:PCIE设备接收各个虚拟机发送的内存的首地址及各个虚拟机对应的功能号,保存内存的首地与功能号的对应关系。
步骤405:PCIE设备接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息,前述至少一个状态卸载业务包括待处理状态卸载业务。
其中,该待处理状态卸载业务的业务信息包括主机侧发送的业务信息或网络侧发送的业务信息。主机侧发送的业务信息通常为业务数据,网络侧发送的业务信息通常为业务报文。
其中,主机侧是指物理主机中CPU、内存和硬盘组成的系统侧。网络侧是指物理主机所连接的外部网络侧。
步骤406:PCIE设备根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号。
在本发明实施例中,步骤406可以包括:
根据主机侧发送的待处理状态卸载业务的业务信息中的特征或者接收主机侧传输待处理状态卸载业务的业务信息时所用的PCIE接口确定待处理状态卸载业务对应的功能号,特征用于指示待处理状态卸载业务对应的功能号。
在本实施例中,网络侧发送的业务报文中的特征可以是业务报文中的一个字段,根据PCIE设备的类型不同,可以采用不同的字段作为此处的特征。例如,PCIE设备为网卡适配器时,可以采用目的介质访问控制(英文:Media AccessControl,简称:MAC)地址(或者虚拟局域网VLAN号+MAC)作为特征,即在接收到业务报文时,网卡适配器可以根据业务报文中的目的MAC地址确定对应的功能号。而对于主机侧发送业务数据,根据接收主机侧传输业务数据时所用的PCIE接口即可确定。
步骤407:PCIE设备根据确定出的待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,内存中保存有上下文表,上下文表用于记录PCIE设备承载的状态卸载业务的业务上下文。
步骤408:PCIE设备从待处理状态卸载业务的业务信息中获取KEY。
具体地,关于业务信息中KEY的内容在步骤402中已经进行过说明,这里不再赘述。
步骤409:PCIE设备根据待处理状态卸载业务对应的内存的首地址和KEY获取待处理状态卸载业务的业务上下文。
在本实施例中,步骤409可以采用下述两种方式实现:
第一种实现方式:
第一步,PCIE设备采用待处理状态卸载业务对应的内存的首地址在虚拟机的内存中查找对应的直接索引表或者哈希表。
第二步,PCIE设备采用KEY直接读取查找到的内存的首地址对应的直接索引表中的业务上下文,或者根据KEY计算哈希值C,采用哈希值C读取查找到的内存的首地址对应的哈希表中的业务上下文。
在本发明实施例中,第一种实现方式可以由PCIE设备中的直接内存访问(英文:Direct Memory Access,简称:DMA)读写模块执行。
其中,根据KEY计算哈希值C,包括:
采用哈希函数(例如CRC16函数)将KEY转化为总哈希值A;确定哈希表中虚拟机对应的哈希桶或待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用总哈希值A对哈希桶的大小M取模,得到哈希值C。
下面以TCP卸载业务(PCIE设备为网卡适配器)为例,对上述步骤进行举例:
假设在物理主机上有VM1和VM2两个虚拟机,VM1支持64K(64*1024)TCP连接,VM2支持128K(128*1024)TCP连接,网卡适配器支持最大的TCP连接数为1M(1024*1024)。VM1和VM2需要进行TCP卸载业务,进行TCP卸载业务的每个连接(一个独立的卸载状态任务)需要一个256字节大小的上下文。VM1初始化时为64KTCP连接申请一个支持64K表项的哈希表,假设哈希表的哈希桶大小也是64K。同样对于VM2初始化时为128KTCP连接分配一个支持128K表项的哈希表,假设哈希表的哈希桶大小也是128K,网卡适配器的最大规格时的哈希桶大小是1M。
当TCP卸载业务报文到达网卡适配器时,网卡适配器首先根据TCP卸载业务报文中的VLAN+MAC查询MAC表得到该TCP卸载业务报文的出口的VF或PF的功能号,该功能号对应的是VM1,得到哈希桶大小为64K。从TCP卸载业务报文的TCP头获得IP五元组。采用该IP五元组读取网卡适配器的缓存中的哈希表内容,如果该表项在网卡适配器的缓存中,则直接获得了业务上下文。否则计算IP五元组的哈希值,假设为0x21523;将0x21523与64K取模运算,得到哈希值是0x1523,以0x1523为索引,到VM1的哈希表中查询对应的业务上下文,获得业务上下文后将其装入到网卡适配器的缓存中,以供后续业务处理使用。
第二种实现方式:
第一步,PCIE设备向确定出的待处理状态卸载业务对应的功能号所对应的虚拟机发送用于获取待处理状态卸载业务的业务上下文的请求消息,请求消息包括待处理状态卸载业务对应的内存的首地址和KEY。
第二步,虚拟机接收PCIE设备发送的用于获取待处理状态卸载业务的业务上下文的请求消息。
第三步,虚拟机根据请求消息中的内存的首地址确定对应的直接索引表或者哈希表。
进一步地,请求消息中还可以不包括内存的首地址,只需携带功能号即可,虚拟机根据功能号及自身存储的内存的首地址与功能号的对应关系,获取对应的直接索引表或者哈希表。
第四步,虚拟机根据请求消息中的KEY从确定出的内存的首地址对应的直接索引表中读取业务上下文,或者根据请求消息中的KEY计算哈希值C,采用哈希值C从确定出的内存的首地址对应的哈希表中读取业务上下文。
其中,虚拟机根据请求消息中的KEY计算哈希值C的方式,与第一中实现方式中PCIE设备的计算哈希值C的方式相同。
第五步,虚拟机将读取到的业务上下文发送给PCIE设备。
具体地,第五步可以采用下述方式实现:将读取到的业务上下文通过缓存Cache机制的方式写入PCIE设备的缓存中。
第六步,PCIE设备接收虚拟机根据请求消息发送的待处理状态卸载业务的业务上下文。
步骤410:PCIE设备根据待处理状态卸载业务的上下文对业务信息进行处理。
具体地,在进行报文处理时,由对应的VF来执行处理。
步骤411:在进行热迁移时,源物理主机上的迁移管理设备将内存块和上下文表直接迁移目的虚拟机上。
如果要进行热迁移,在迭代拷贝阶段,每次在PCIE设备的缓存中的业务上下文被挤出到虚拟机内存中时,需要同步对虚拟机中对应上下文的内存进行一次按页的读写处理,实现上下文数据的实时同步。停机拷贝时,针对热迁移的虚拟机进行一次PCIE设备的缓存中的上下文的Cache out操作,将业务上下文刷新到虚拟机的内存中,通过同样的方式,实现这部分内存同步到目的虚拟机。从而方便状态卸载业务的上下文迁移。
步骤412:目的物理主机上的迁移管理设备将源物理主机中的虚拟机的内存的首地址与迁移后虚拟机对应的功能号的对应关系,配置到目的物理主机连接的PCIE设备中。
在热迁移时,目的物理主机中的迁移管理设备获取从源物理主机内存中复制来的内存的首地址,目的物理主机和源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号;获取迁移后的虚拟机对应的功能号;将内存的首地址与功能号的对应关系配置到目的物理主机的PCIE设备中。
在本实施例中,迁移管理设备可以为VMM。
本发明提供了一种业务上下文管理方法,虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存,然后在内存中生成上下文表,再将内存的首地址及虚拟机对应的功能号发送给PCIE设备,使得PCIE设备可以记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例五
本发明实施例提供了一种物理主机,适用于实施例一中提供的方法,参见图6,该物理主机51上运行有虚拟机510,物理主机51与快捷外围部件互连标准PCIE设备52连接,该PCIE设备52为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备52包括至少一个物理功能PF 521以及至少一个虚拟功能VF 522,每个PF 521和每个VF 522都配置有唯一的功能号,前述虚拟机510包括:
分配模块511,用于为PCIE设备承载的至少一个状态卸载业务分配内存;
生成模块512,用于在内存中生成上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文;
发送模块513,用于将内存的首地址及功能号发送给PCIE设备,PCIE设备用于记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文。
本发明提供了一种业务上下文管理方法,虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存,然后在内存中生成上下文表,再将内存的首地址及虚拟机对应的功能号发送给PCIE设备,使得PCIE设备可以记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例六
本发明实施例提供了一种物理主机,适用于实施例四中提供的方法,参见图7,该物理主机61上运行有虚拟机610,物理主机61与快捷外围部件互连标准PCIE设备62连接,该PCIE设备62为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备62包括至少一个物理功能PF 621以及至少一个虚拟功能VF 622,每个PF 621和每个VF 622都配置有唯一的功能号,前述虚拟机610包括:
分配模块611,用于为PCIE设备承载的至少一个状态卸载业务分配内存。
在虚拟机启动时,虚拟机为PCIE设备申请物理主机的内存,然后将申请到的内存分配给状态卸载业务。具体地,在接到虚拟机的申请后,物理主机中的PCIE设备驱动为虚拟机分配内存,其中,物理主机中的PCIE设备驱动是指在安装在物理主机的硬盘内用于驱动PCIE设备工作的驱动程序。
生成模块612,用于在内存中生成上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文。
具体地,上下文表可以为直接索引表或者哈希表,直接索引表包括关键字KEY与业务上下文的对应关系,哈希表包括哈希值与业务上下文的对应关系。
具体地,哈希表中建立哈希值与业务上下文的对应关系可以由物理主机中的虚拟机建立,可以采用下述方式实现:将KEY转化为总哈希值A;确定哈希表中虚拟机对应的哈希桶或待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用总哈希值A对哈希桶的大小M取模,得到哈希值C;将该哈希值C与业务上下文对应,得到哈希值与业务上下文的对应关系。
具体地,不同业务报文或业务数据对应不同协议,因此,不同业务报文或者业务数据可以采用不同类型的KEY。例如基于RDMA协议的业务报文,可以采用RDMA协议中的QP号作为KEY;基于TCP/IP的业务报文,可以采用IP五元组(源IP地址、目的IP地址、源TCP端口、目的TCP端口及协议号)作为KEY。
由于直接索引表是采用数组进行直接索引的,而对于IP五元组这类位数较长的KEY,则无法作为直接索引表的索引,因此需要采用哈希表来实现索引。
在本实施例中,状态卸载业务可以是TCP卸载业务、iSCSI卸载业务、FCoE卸载业务等。
发送模块613,用于将内存的首地址及功能号发送给PCIE设备,PCIE设备用于记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文。
具体地,内存的首地址既可以是HPA,也可以是GPA,如果是GPA的话,PCIE设备访问该地址时,需要先使用CPU的VT-D(Intel公司的技术)或IOMMU(AMD公司的技术),或者其它的能够自动实现GPA到HPA地址转换的技术,实现GPA到HPA的转换。另外,虚拟机对应的PF或者VF的功能号可以由虚拟机自行指定,也可以由VMM为其指定。
进一步地,前述至少一个状态卸载业务包括待处理状态卸载业务,该虚拟机还可以包括:
接收模块614,用于接收PCIE设备发送的用于获取待处理状态卸载业务的业务上下文的请求消息,请求消息包括内存的首地址和关键字KEY;
确定模块615,用于根据请求消息中的内存的首地址确定对应的直接索引表或者哈希表;
读取模块616,用于根据请求消息中的KEY从确定出的内存的首地址对应的直接索引表中读取业务上下文,或者根据请求消息中的KEY计算哈希值C,采用哈希值C从确定出的内存的首地址对应的哈希表中读取业务上下文;
前述发送模块613,还用于将读取到的业务上下文发送给PCIE设备。
在本实施例中,前述读取模块616具体可用于:
采用哈希函数将请求消息中的KEY转化为总哈希值A;确定哈希表中虚拟机对应的哈希桶或待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用总哈希值A对哈希桶的大小M取模,得到哈希值C。
下面以TCP卸载业务(PCIE设备为网卡适配器)为例,对虚拟机610的工作过程进行说明:
假设在物理主机上有VM1和VM2两个虚拟机,VM1支持64K(64*1024)TCP连接,VM2支持128K(128*1024)TCP连接,网卡适配器支持最大的TCP连接数为1M(1024*1024)。VM1和VM2需要进行TCP卸载业务,进行TCP卸载业务的每个连接(一个独立的卸载状态任务)需要一个256字节大小的上下文。VM1初始化时为64KTCP连接申请一个支持64K表项的哈希表,假设哈希表的哈希桶大小也是64K。同样对于VM2初始化时为128KTCP连接分配一个支持128K表项的哈希表,假设哈希表的哈希桶大小也是128K,网卡适配器的最大规格时的哈希桶大小是1M。
当虚拟机接收到PCIE设备发送的用于获取待处理状态卸载业务的业务上下文的请求消息时,虚拟机首先根据内存的首地址获取哈希表。然后,根据KEY得到哈希值C。具体地,该KEY为IP五元组,假设为0x21523;将0x21523与64K取模运算,得到哈希值是0x1523,以0x1523为索引,到哈希表中查询对应的业务上下文,获得业务上下文后将其发送给网卡适配器,以供后续业务处理使用。
在本实施例中,前述发送模块613具体可用于:将读取到的业务上下文通过缓存Cache机制的方式写入PCIE设备的缓存中。
本发明提供了一种业务上下文管理方法,虚拟机为PCIE设备承载的至少一个状态卸载业务分配内存,然后在内存中生成上下文表,再将内存的首地址及虚拟机对应的功能号发送给PCIE设备,使得PCIE设备可以记录内存的首地址与功能号的对应关系,并根据内存的首地址与功能号的对应关系,从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例七
本发明实施例提供了一种PCIE设备,适用于实施例二中提供的方法,参见图8,该PCIE设备71与物理主机72连接,该物理主机72上运行有至少一个虚拟机720,PCIE设备为一个符合单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备71包括至少一个物理功能PF 711以及至少一个虚拟功能VF 712,每个PF 711和每个VF 712都配置有唯一的功能号,该PCIE设备71还包括:
接收模块713,用于接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息;
第一确定模块714,用于根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号;
第二确定模块715,用于根据确定出的待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,内存中保存有上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文;
第一获取模块716,用于从待处理状态卸载业务的业务信息中获取KEY;
第二获取模块717,用于根据待处理状态卸载业务对应的内存的首地址和KEY获取待处理状态卸载业务的业务上下文。
本发明提供了一种业务上下文管理方法,PCIE设备根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号,以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,然后从待处理状态卸载业务的业务信息中获取KEY,根据内存的首地址和KEY从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例八
本发明实施例提供了一种PCIE设备,适用于实施例四中提供的方法,参见图9,该PCIE设备81与物理主机82连接,该物理主机82上运行有至少一个虚拟机820,PCIE设备为一个符合单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备81包括至少一个物理功能PF 811以及至少一个虚拟功能VF 812,每个PF 811和每个VF 812都配置有唯一的功能号,该PCIE设备81还包括:
接收模块813,用于接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息。
其中,该业务信息包括主机侧发送的业务信息或网络侧发送的业务信息。主机侧发送的业务信息通常为业务数据,网络侧发送的业务信息通常为业务报文。主机侧是指物理主机中CPU、内存和硬盘组成的系统侧。网络侧是指物理主机所连接的外部网络侧。
第一确定模块814,用于根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号。
第二确定模块815,用于根据确定出的待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,内存中保存有上下文表,上下文表用于记录PCIE设备承载的至少一个状态卸载业务的业务上下文。
具体地,该上下文表可以为直接索引表或者哈希表,直接索引表包括关键字KEY与业务上下文的对应关系,哈希表包括哈希值与业务上下文的对应关系。
第一获取模块816,用于从待处理状态卸载业务的业务信息中获取KEY。
具体地,不同业务报文或业务数据对应不同协议,因此,不同业务报文或者业务数据可以采用不同类型的KEY。例如基于RDMA协议的业务报文,可以采用RDMA协议中的QP号作为KEY;基于TCP/IP的业务报文,可以采用IP五元组(源IP地址、目的IP地址、源TCP端口、目的TCP端口及协议号)作为KEY。
第二获取模块817,用于根据待处理状态卸载业务对应的内存的首地址和KEY获取待处理状态卸载业务的业务上下文。
在本实施例的一种实现方式中,前述第二获取模块817具体可用于:
采用待处理状态卸载业务对应的内存的首地址在虚拟机的内存中查找对应的直接索引表或者哈希表;采用KEY直接读取查找到的内存的首地址对应的直接索引表中的业务上下文,或者根据KEY计算哈希值C,采用哈希值C读取查找到的内存的首地址对应的哈希表中的业务上下文。
具体地,前述第二获取模块817可用于:
采用哈希函数将请求消息中的KEY转化为总哈希值A;确定哈希表中虚拟机对应的哈希桶或待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用总哈希值A对哈希桶的大小M取模,得到哈希值C。
下面以TCP卸载业务(PCIE设备为网卡适配器)为例,对PCIE设备工作过程进行说明:
假设在物理主机上有VM1和VM2两个虚拟机,VM1支持64K(64*1024)TCP连接,VM2支持128K(128*1024)TCP连接,网卡适配器支持最大的TCP连接数为1M(1024*1024)。VM1和VM2需要进行TCP卸载业务,进行TCP卸载业务的每个连接(一个独立的卸载状态任务)需要一个256字节大小的上下文。VM1初始化时为64KTCP连接申请一个支持64K表项的哈希表,假设哈希表的哈希桶大小也是64K。同样对于VM2初始化时为128KTCP连接分配一个支持128K表项的哈希表,假设哈希表的哈希桶大小也是128K,网卡适配器的最大规格时的哈希桶大小是1M。
当TCP卸载业务报文到达网卡适配器时,网卡适配器首先根据TCP卸载业务报文中的VLAN+MAC查询MAC表得到该TCP卸载业务报文的出口的VF或PF的功能号,该功能号对应的是VM1,得到哈希桶大小为64K。从TCP卸载业务报文的TCP头获得IP五元组。采用该IP五元组读取网卡适配器的缓存中的哈希表内容,如果该表项在网卡适配器的缓存中,则直接获得了业务上下文。否则计算IP五元组的哈希值,假设为0x21523;将0x21523与64K取模运算,得到哈希值是0x1523,以0x1523为索引,到VM1的哈希表中查询对应的业务上下文,获得业务上下文后将其装入到网卡适配器的缓存中,以供后续业务处理使用。
在本实施例的另一种实现方式中,前述第二获取模块817具体可用于:
向确定出的待处理状态卸载业务对应的功能号所对应的虚拟机发送用于获取待处理状态卸载业务的业务上下文的请求消息,请求消息包括待处理状态卸载业务对应的内存的首地址和KEY;接收虚拟机根据请求消息发送的待处理状态卸载业务的业务上下文。
在本实施例中,前述第一确定模块814具体可用于:根据主机侧发送的待处理状态卸载业务的业务信息中的特征或者接收主机侧传输待处理状态卸载业务的业务信息时所用的PCIE接口确定待处理状态卸载业务对应的功能号,特征用于指示待处理状态卸载业务对应的功能号。
本实施例中,网络侧发送的业务报文中的特征可以是业务报文中的一个字段,根据PCIE设备的类型不同,可以采用不同的字段作为此处的特征。例如,PCIE设备为网卡适配器时,可以采用目的MAC地址(或者虚拟局域网VLAN号+MAC)作为特征,即在接收到业务报文时,网卡适配器可以根据业务报文中的目的MAC地址确定对应的功能号。而对于主机侧发送业务数据,根据接收主机侧传输业务数据时所用的PCIE接口即可确定。
进一步地,前述接收模块813,还用于接收各个虚拟机的内存的首地址及各个虚拟机对应的功能号;
PCIE设备还可以包括:存储模块818,用于保存内存的首地址与功能号的对应关系。
本发明提供了一种业务上下文管理方法,PCIE设备根据待处理状态卸载业务的业务信息确定待处理状态卸载业务对应的功能号,以及功能号与内存的首地址的对应关系,确定的待处理状态卸载业务对应的内存的首地址,然后从待处理状态卸载业务的业务信息中获取KEY,根据内存的首地址和KEY从内存中获取状态卸载业务的业务上下文,操作方便,且速度快;在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
实施例九
本发明实施例提供了一种迁移管理设备,该迁移管理设备设于目的物理主机中,适用于实施例三中提供的方法,参见图10,迁移管理设备包括:
第一获取模块901,用于在热迁移时,获取从源物理主机内存中复制来的内存的首地址,目的物理主机和源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号;
第二获取模块902,用于获取迁移后的虚拟机对应的功能号;
配置模块903,用于将内存的首地址与功能号的对应关系配置到目的物理主机的PCIE设备中。
本发明实施例在虚拟机热迁移时,避免了对寄存器的迁移带来的麻烦,只需将内存直接迁移到目的物理机上,再将迁移后虚拟机对应的功能号与源物理主机中虚拟机的内存的首地址的对应关系配置到迁移后的PCIE设备中即可,实现方便、简单,大大加快虚拟机热迁移的速度,缩短了停机的时间。
需要说明的是:上述实施例提供的虚拟机在进行虚拟机内存管理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,或者将其中一个功能分配由更多的模块完成,或者将其中多个功能分配由同一个模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的物理主机与业务上下文管理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (22)

1.一种业务上下文管理方法,其特征在于,适用于虚拟机,所述虚拟机运行在物理主机上,所述物理主机与快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个符合单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述方法包括:
所述虚拟机为所述PCIE设备承载的至少一个状态卸载业务分配内存;
所述虚拟机在所述内存中生成上下文表,所述上下文表用于记录所述PCIE设备承载的至少一个状态卸载业务的业务上下文;
所述虚拟机将所述内存的首地址及所述虚拟机对应的功能号发送给所述PCIE设备。
2.根据权利要求1所述的方法,其特征在于,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述至少一个状态卸载业务包括待处理状态卸载业务,所述方法还包括:
接收所述PCIE设备发送的用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述内存的首地址和关键字KEY;
根据所述请求消息中的所述内存的首地址确定对应的直接索引表或者哈希表;
根据所述请求消息中的KEY从确定出的所述内存的首地址对应的直接索引表中读取业务上下文,或者根据所述请求消息中的KEY计算哈希值C,采用所述哈希值C从确定出的所述内存的首地址对应的哈希表中读取业务上下文;
将读取到的业务上下文发送给所述PCIE设备。
3.根据权利要求2所述的方法,其特征在于,所述根据所述请求消息中的KEY计算哈希值C,包括:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;
获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;
采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
4.根据权利要求2或3所述的方法,其特征在于,所述将读取到的业务上下文发送给所述PCIE设备,包括:
将所述读取到的业务上下文通过缓存Cache机制的方式写入所述PCIE设备的缓存中。
5.一种业务上下文管理方法,其特征在于,适用于PCIE设备,所述PCIE设备与物理主机连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述物理主机上运行有至少一个虚拟机,所述方法包括:
所述PCIE设备接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息;
所述PCIE设备根据所述待处理状态卸载业务的业务信息确定所述待处理状态卸载业务对应的功能号;
所述PCIE设备根据确定出的所述待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定所述待处理状态卸载业务对应的内存的首地址,所述内存中保存有上下文表,所述上下文表用于记录所述PCIE设备承载的状态卸载业务的业务上下文;
所述PCIE设备从所述待处理状态卸载业务的业务信息中获取KEY;
所述PCIE设备根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文。
6.根据权利要求5所述的方法,其特征在于,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文,包括:
采用所述待处理状态卸载业务对应的内存的首地址在所述虚拟机的内存中查找对应的直接索引表或者哈希表;
采用所述KEY直接读取查找到的所述内存的首地址对应的直接索引表中的业务上下文,或者根据所述KEY计算哈希值C,采用所述哈希值C读取查找到的所述内存的首地址对应的哈希表中的业务上下文。
7.根据权利要求6所述的方法,其特征在于,所述根据所述KEY计算哈希值C,包括:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;
获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;
采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文,包括:
向确定出的所述待处理状态卸载业务对应的功能号所对应的所述虚拟机发送用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述待处理状态卸载业务对应的内存的首地址和所述KEY;
接收所述虚拟机根据所述请求消息发送的所述待处理状态卸载业务的业务上下文。
9.根据权利要求5-7任一项所述的方法,其特征在于,所述根据所述待处理状态卸载业务的业务信息确定所述待处理状态卸载业务对应的功能号,包括:
根据所述主机侧发送的所述待处理状态卸载业务的业务信息中的特征或者接收所述主机侧传输所述待处理状态卸载业务的业务信息时所用的PCIE接口确定所述待处理状态卸载业务对应的功能号,所述特征用于指示所述待处理状态卸载业务对应的功能号。
10.根据权利要求5-7任一项所述的方法,其特征在于,所述方法还包括:
所述PCIE设备接收各个虚拟机的内存的首地址及所述各个虚拟机对应的功能号;
保存所述内存的首地址与所述功能号的对应关系。
11.一种业务上下文管理方法,其特征在于,所述方法包括:
在热迁移时,目的物理主机中的迁移管理设备获取从源物理主机内存中复制来的内存的首地址,所述目的物理主机和所述源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号;
获取迁移后的虚拟机对应的所述功能号;
将所述内存的首地址与所述功能号的对应关系配置到所述目的物理主机的PCIE设备中。
12.一种物理主机,其特征在于,所述物理主机上运行有虚拟机,所述物理主机与快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述虚拟机包括:
分配模块,用于为所述PCIE设备承载的至少一个状态卸载业务分配内存;
生成模块,用于在所述内存中生成上下文表,所述上下文表用于记录所述PCIE设备承载的至少一个状态卸载业务的业务上下文;
发送模块,用于将所述内存的首地址及功能号发送给所述PCIE设备。
13.根据权利要求12所述的物理主机,其特征在于,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述至少一个状态卸载业务包括待处理状态卸载业务,所述虚拟机还包括:
接收模块,用于接收所述PCIE设备发送的用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述内存的首地址和关键字KEY;
确定模块,用于根据所述请求消息中的所述内存的首地址确定对应的直接索引表或者哈希表;
读取模块,用于根据所述请求消息中的KEY从确定出的所述内存的首地址对应的直接索引表中读取业务上下文,或者根据所述请求消息中的KEY计算哈希值C,采用所述哈希值C从确定出的所述内存的首地址对应的哈希表中读取业务上下文;
所述发送模块,还用于将读取到的业务上下文发送给所述PCIE设备。
14.根据权利要求13所述的物理主机,其特征在于,所述读取模块具体用于:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
15.根据权利要求13或14所述的物理主机,其特征在于,所述发送模块具体用于:将所述读取到的业务上下文通过缓存Cache机制的方式写入所述PCIE设备的缓存中。
16.一种PCIE设备,其特征在于,所述PCIE设备与物理主机连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号,所述物理主机上运行有至少一个虚拟机,所述PCIE设备包括:
接收模块,用于接收主机侧或者网络侧发送的待处理状态卸载业务的业务信息;
第一确定模块,用于根据所述待处理状态卸载业务的业务信息确定所述待处理状态卸载业务对应的功能号;
第二确定模块,用于根据确定出的所述待处理状态卸载业务对应的功能号以及功能号与内存的首地址的对应关系,确定所述待处理状态卸载业务对应的内存的首地址,所述内存中保存有上下文表,所述上下文表用于记录所述PCIE设备承载的状态卸载业务的业务上下文;
第一获取模块,用于从所述待处理状态卸载业务的业务信息中获取KEY;
第二获取模块,用于根据所述待处理状态卸载业务对应的内存的首地址和所述KEY获取所述待处理状态卸载业务的业务上下文。
17.根据权利要求16所述的PCIE设备,其特征在于,所述上下文表为直接索引表或者哈希表,所述直接索引表包括关键字KEY与业务上下文的对应关系,所述哈希表包括哈希值与业务上下文的对应关系,所述第二获取模块具体用于:
采用所述待处理状态卸载业务对应的内存的首地址在所述虚拟机的内存中查找对应的直接索引表或者哈希表;采用所述KEY直接读取查找到的所述内存的首地址对应的直接索引表中的业务上下文,或者根据所述KEY计算哈希值C,采用所述哈希值C读取查找到的所述内存的首地址对应的哈希表中的业务上下文。
18.根据权利要求17所述的PCIE设备,其特征在于,所述第二获取模块具体用于:
采用哈希函数将所述请求消息中的KEY转化为总哈希值A;获取确定出的所述内存的首地址对应的哈希表中所述虚拟机对应的哈希桶或所述待处理状态卸载业务对应的VF所对应的哈希桶的大小M;采用所述总哈希值A对所述哈希桶的大小M取模,得到所述哈希值C。
19.根据权利要求16-18任一项所述的PCIE设备,其特征在于,所述第二获取模块具体用于:
向确定出的所述待处理状态卸载业务对应的功能号所对应的所述虚拟机发送用于获取所述待处理状态卸载业务的业务上下文的请求消息,所述请求消息包括所述待处理状态卸载业务对应的内存的首地址和所述KEY;接收所述虚拟机根据所述请求消息发送的所述待处理状态卸载业务的业务上下文。
20.根据权利要求16-18任一项所述的PCIE设备,其特征在于,所述第一确定模块具体用于:根据所述主机侧发送的所述待处理状态卸载业务的业务信息中的特征或者接收所述主机侧传输所述待处理状态卸载业务的业务信息时所用的PCIE接口确定所述待处理状态卸载业务对应的功能号,所述特征用于指示所述待处理状态卸载业务对应的功能号。
21.根据权利要求16-18任一项所述的PCIE设备,其特征在于,所述接收模块,还用于接收各个虚拟机的内存的首地址及所述各个虚拟机对应的功能号;
所述PCIE设备还包括:存储模块,用于保存所述内存的首地址与所述功能号的对应关系。
22.一种迁移管理设备,其特征在于,所述迁移管理设备设于目的物理主机中,所述迁移管理设备包括:
第一获取模块,用于在热迁移时,获取从源物理主机内存中复制来的内存的首地址,所述目的物理主机和所述源物理主机分别与不同的快捷外围部件互连标准PCIE设备连接,所述PCIE设备为一个支持单根输入输出虚拟化SR-IOV标准的硬件设备,所述PCIE设备包括至少一个物理功能PF以及至少一个虚拟功能VF,其中,每个PF和每个VF都配置有唯一的功能号;
第二获取模块,用于获取迁移后的虚拟机对应的所述功能号;
配置模块,用于将所述内存的首地址与所述功能号的对应关系配置到所述目的物理主机的PCIE设备中。
CN201510041218.6A 2015-01-27 2015-01-27 业务上下文管理方法、物理主机、pcie设备及迁移管理设备 Active CN104636185B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510041218.6A CN104636185B (zh) 2015-01-27 2015-01-27 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
PCT/CN2015/089815 WO2016119469A1 (zh) 2015-01-27 2015-09-16 业务上下文管理方法、物理主机、pcie设备及迁移管理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510041218.6A CN104636185B (zh) 2015-01-27 2015-01-27 业务上下文管理方法、物理主机、pcie设备及迁移管理设备

Publications (2)

Publication Number Publication Date
CN104636185A true CN104636185A (zh) 2015-05-20
CN104636185B CN104636185B (zh) 2018-03-02

Family

ID=53214977

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510041218.6A Active CN104636185B (zh) 2015-01-27 2015-01-27 业务上下文管理方法、物理主机、pcie设备及迁移管理设备

Country Status (2)

Country Link
CN (1) CN104636185B (zh)
WO (1) WO2016119469A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016119469A1 (zh) * 2015-01-27 2016-08-04 华为技术有限公司 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
WO2017210641A1 (en) 2016-06-03 2017-12-07 Alibaba Group Holding Limited Live migration of virtual machine
CN108063737A (zh) * 2017-11-23 2018-05-22 华中科技大学 一种FCoE存储区域网读请求处理方法及系统
CN108255597A (zh) * 2016-12-28 2018-07-06 华耀(中国)科技有限公司 基于物理功能的mac地址分配虚拟功能的mac地址方法
CN109753346A (zh) * 2018-12-25 2019-05-14 新华三云计算技术有限公司 一种虚拟机热迁移方法及装置
CN109857511A (zh) * 2017-11-30 2019-06-07 财团法人工业技术研究院 虚拟机实时迁移的方法、系统及其计算主机
CN112243046A (zh) * 2019-07-19 2021-01-19 华为技术有限公司 通信方法和网卡
CN112398817A (zh) * 2018-01-23 2021-02-23 华为技术有限公司 数据发送的方法及设备
WO2023115978A1 (zh) * 2021-12-23 2023-06-29 北京百度网讯科技有限公司 一种报文处理方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779180A (zh) * 2012-06-29 2012-11-14 华为技术有限公司 数据存储系统的操作处理方法,数据存储系统
CN102819447A (zh) * 2012-05-29 2012-12-12 中国科学院计算技术研究所 一种用于多根共享系统的直接i/o 虚拟化方法和装置
US20130152086A1 (en) * 2011-12-09 2013-06-13 Jung-hyun Yoo Apparatus and method for managing virtual memory
CN103201721A (zh) * 2012-08-29 2013-07-10 华为技术有限公司 虚拟机热迁移的系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4934642B2 (ja) * 2008-06-11 2012-05-16 株式会社日立製作所 計算機システム
US9354933B2 (en) * 2011-10-31 2016-05-31 Intel Corporation Remote direct memory access adapter state migration in a virtual environment
CN103942087B (zh) * 2014-03-31 2017-11-17 华为技术有限公司 虚拟机热迁移方法及相关装置和集群系统
CN104636185B (zh) * 2015-01-27 2018-03-02 华为技术有限公司 业务上下文管理方法、物理主机、pcie设备及迁移管理设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130152086A1 (en) * 2011-12-09 2013-06-13 Jung-hyun Yoo Apparatus and method for managing virtual memory
CN102819447A (zh) * 2012-05-29 2012-12-12 中国科学院计算技术研究所 一种用于多根共享系统的直接i/o 虚拟化方法和装置
CN102779180A (zh) * 2012-06-29 2012-11-14 华为技术有限公司 数据存储系统的操作处理方法,数据存储系统
CN103201721A (zh) * 2012-08-29 2013-07-10 华为技术有限公司 虚拟机热迁移的系统和方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016119469A1 (zh) * 2015-01-27 2016-08-04 华为技术有限公司 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
EP3465432A4 (en) * 2016-06-03 2020-01-15 Alibaba Group Holding Limited LIVE MIGRATION FROM A VIRTUAL MACHINE
WO2017210641A1 (en) 2016-06-03 2017-12-07 Alibaba Group Holding Limited Live migration of virtual machine
CN107465626A (zh) * 2016-06-03 2017-12-12 阿里巴巴集团控股有限公司 一种虚拟机热迁移方法及装置
US10691503B2 (en) 2016-06-03 2020-06-23 Alibaba Group Holding Limited Live migration of virtual machine with flow cache in improved restoration speed
CN108255597A (zh) * 2016-12-28 2018-07-06 华耀(中国)科技有限公司 基于物理功能的mac地址分配虚拟功能的mac地址方法
CN108255597B (zh) * 2016-12-28 2022-02-18 北京华耀科技有限公司 基于物理功能的mac地址分配虚拟功能的mac地址方法
CN108063737A (zh) * 2017-11-23 2018-05-22 华中科技大学 一种FCoE存储区域网读请求处理方法及系统
CN108063737B (zh) * 2017-11-23 2020-09-08 华中科技大学 一种FCoE存储区域网读请求处理方法及系统
CN109857511A (zh) * 2017-11-30 2019-06-07 财团法人工业技术研究院 虚拟机实时迁移的方法、系统及其计算主机
CN112398817A (zh) * 2018-01-23 2021-02-23 华为技术有限公司 数据发送的方法及设备
CN112398817B (zh) * 2018-01-23 2022-02-25 华为技术有限公司 数据发送的方法及设备
CN109753346A (zh) * 2018-12-25 2019-05-14 新华三云计算技术有限公司 一种虚拟机热迁移方法及装置
CN109753346B (zh) * 2018-12-25 2021-01-01 新华三云计算技术有限公司 一种虚拟机热迁移方法及装置
CN112243046A (zh) * 2019-07-19 2021-01-19 华为技术有限公司 通信方法和网卡
US11431624B2 (en) 2019-07-19 2022-08-30 Huawei Technologies Co., Ltd. Communication method and network interface card
WO2023115978A1 (zh) * 2021-12-23 2023-06-29 北京百度网讯科技有限公司 一种报文处理方法、装置及电子设备

Also Published As

Publication number Publication date
WO2016119469A1 (zh) 2016-08-04
CN104636185B (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
CN104636185A (zh) 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
US20200278880A1 (en) Method, apparatus, and system for accessing storage device
US8589917B2 (en) Techniques for transferring information between virtual machines
CN104636186B (zh) 虚拟机内存管理方法、物理主机、pcie设备及其配置方法以及迁移管理设备
US11403141B2 (en) Harvesting unused resources in a distributed computing system
CN103942087A (zh) 虚拟机热迁移方法及相关装置和集群系统
US10404800B2 (en) Caching network fabric for high performance computing
US11940933B2 (en) Cross address-space bridging
CN106560791A (zh) 高效虚拟i/o地址转换
US10931581B2 (en) MAC learning in a multiple virtual switch environment
US9229891B2 (en) Determining a direct memory access data transfer mode
WO2022127453A1 (en) In-line data packet transformations
EP3465450A1 (en) Improving throughput in openfabrics environments
US8140810B2 (en) Storage management command control in virtualized environment
EP4309039A1 (en) Memory operations management in computing systems
CN110383255A (zh) 管理对物理设备的客户分区访问
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
US20200278909A1 (en) Reuse of resources in a storage controller for executing write commands over a plurality of interfaces
US11709607B2 (en) Storage block address list entry transform architecture
US10996891B2 (en) Token management for write commands transmitted by a host over a plurality of interfaces to a storage controller
WO2022197419A1 (en) Memory operations management in computing systems
WO2023283000A1 (en) Memory tiering techniques in computing systems
CN107851062A (zh) 一种主机集群中缓存管理方法及主机

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