CN113791870B - 一种WebAssembly虚拟机分布式***细粒度迁移方法及*** - Google Patents

一种WebAssembly虚拟机分布式***细粒度迁移方法及*** Download PDF

Info

Publication number
CN113791870B
CN113791870B CN202111121273.8A CN202111121273A CN113791870B CN 113791870 B CN113791870 B CN 113791870B CN 202111121273 A CN202111121273 A CN 202111121273A CN 113791870 B CN113791870 B CN 113791870B
Authority
CN
China
Prior art keywords
virtual machine
instance
target
webassembly
snapshot
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.)
Active
Application number
CN202111121273.8A
Other languages
English (en)
Other versions
CN113791870A (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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202111121273.8A priority Critical patent/CN113791870B/zh
Publication of CN113791870A publication Critical patent/CN113791870A/zh
Application granted granted Critical
Publication of CN113791870B publication Critical patent/CN113791870B/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
    • 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/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
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/45583Memory management, e.g. access or allocation

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)

Abstract

本发明涉及一种WebAssembly虚拟机分布式***细粒度迁移方法及***,所述方法包括以下步骤:S1、分离出描述目标WebAssembly实例的数据最小集;S2、在非停机状态下将目标WebAssembly实例的拓展上下文转存到快照中;S3、源WASM虚拟机接收到目标源WASM虚拟机迁移停机请求之后,等待目标WebAssembly实例执行完上一条指令,在开始下一条指令之前将目标WebAssembly实例暂停;S4、在停机状态下将目标WebAssembly实例的核心上下文转存到快照中;S5、根据快照中的拓展上下文构建出新目标WebAssembly实例,暂停新目标WebAssembly实例;S6、核心上下文完成替换后恢复新目标WebAssembly实例执行。有益效果是基于WebAssembly虚拟机分布式***、迁移性能达到细粒度程度。

Description

一种WebAssembly虚拟机分布式***细粒度迁移方法及***
【技术领域】
本发明涉及计算机技术领域,具体涉及一种WebAssembly虚拟机分布式***细粒度迁移方法及***。
【背景技术】
WebAssembly(简称WASM)是一种新的编码方式,可以在现代的网络浏览器中运行,它是一种低级的类汇编语言,具有紧凑的二进制格式,可以接近原生的性能运行,并为诸如C/C++等语言提供一个编译目标,以便它们可以在Web上运行。WebAssembly是一种新兴的二进制形式,最早被设计出来以打破长期以来网页应用所受的JavaScript引擎性能限制。WebAssembly被设计以作为其他高级语言的编译目标,通过将网页应用中较高性能需求的部分替换为等价的WebAssembly模块,开发者能够得以在最大限度下复用现有代码的同时满足关键路径上的性能提升。也就是说WebAssembly并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到WebAssembly虚拟机中才能运行,浏览器厂商需要做的就是根据WebAssembly规范实现虚拟机。
由于在官方规范中对WebAssembly的设计并未涉及到任何针对网页应用环境作出的假设,进而在随后的发展过程中,WebAssembly逐渐开始被实验于其他的应用场景中,其一便是将WebAssembly虚拟机作为容器的替代品来构建分布式服务框架,并将目标应用编译成WebAssembly模块来部署在该***之上。
分布式***(distributed system)是建立在网络之上的软件***。在一个分布式***中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个***似的;***拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换;***中存在一个以全局的方式管理计算机资源的分布式操作***。热迁移(Live Migration),又叫动态迁移、实时迁移,即虚拟机保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速的恢复到原有硬件平台甚至是不同硬件平台上。虚拟机的“热迁移(Live Migration)”技术则是虚拟化技术当中的热点,是指把一个虚拟机从一台物理服务器迁移到另一台物理服务器上。在分布式***中,迁移技术被广泛应用于负载均衡、容错等实现的需求上。但是传统的迁移实现由于仅能达到进程级粒度,导致在迁移过程中产生了额外的迁移数据以及时间开销。尤其是在当多个WebAssembly应用运行在同一虚拟机上时,进程级迁移将可能无法正确的完成目标应用的迁移,同时还会对非目标应用产生不必要的干扰。
开源WebAssembly Runtime项目,是一个讲究性能,可让WebAssembly超轻量容器在任何客户端上执行的Runtime,包括桌面、云计算到物联网设备。Runtime是指用于支持程序运行时的组件,它可以是个Engine和/或VM。WAMR(WebAssembly Micro Runtime)是一个独立的WebAssembly Runtime,主要用于容量小的设备。
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***。对于虚拟机来说,快照是数据存储的某一时刻的状态记录,备份是数据存储的某一时刻的副本。栈(stack)又名堆栈,它是一种运算受限的线性表,限定仅在表尾进行***和删除操作的线性表。栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(VirtualMachine Stack)的栈元素。栈帧存储了方法的局部变量表、操作数栈、动态连接和方法返回地址等信息。每一个方法从调用开始至执行完成的过程,都对应着一个栈帧在虚拟机栈里面从入栈到出栈的过程。每一个栈帧都包括了局部变量表、操作数栈、动态连接、方法返回地址和一些额外的附加信息。只有位于栈顶的栈帧才是有效的,称为当前栈帧(CurrentStack Frame),与这个栈帧相关联的方法称为当前方法(Current Method)。
本发明对分布式***下基于WebAssembly虚拟机的迁移技术进行了设计改进。
【发明内容】
本发明的目的是,提供一种基于WebAssembly虚拟机分布式***、迁移性能达到细粒度程度的迁移方法。
为实现上述目的,本发明采取的技术方案是一种WebAssembly虚拟机分布式***细粒度迁移方法,包括以下步骤:
S1、从源WASM虚拟机进程中分离出描述目标WebAssembly实例的数据最小集,所述数据最小集包括实例运行期频繁更新部分的核心上下文、以及实例运行期不会更新或不频繁更新部分的拓展上下文;
S2、源WASM虚拟机在非停机状态下将目标WebAssembly实例的拓展上下文转存到快照中;
S3、源WASM虚拟机接收到目标源WASM虚拟机迁移停机请求之后,源WASM虚拟机等待目标WebAssembly实例执行完上一条指令,在开始下一条指令之前将目标WebAssembly实例暂停;
S4、源WASM虚拟机在停机状态下将目标WebAssembly实例的核心上下文转存到快照中;
S5、目标WASM虚拟机根据快照中的拓展上下文构建出新目标WebAssembly实例,暂停新目标WebAssembly实例;
S6、目标WASM虚拟机根据新目标WebAssembly实例的地址空间对快照中核心上下文的地址进行重新映射之后,替换掉新目标WebAssembly实例的核心上下文,完成替换后恢复新目标WebAssembly实例进程执行。
进一步地,上述的一种WebAssembly虚拟机分布式***细粒度迁移方法,所述步骤S2源WASM虚拟机通过目标WebAssembly实例的运行时栈异步预转存方式减少热迁移中的停机时间,具体包括以下步骤:
S21、源WASM虚拟机在目标WebAssembly实例的运行时栈帧中加入脏标志,所述脏标志用于标记该栈帧是否已在预转存阶段加入快照、或是在加入快照之后是否被修改;
S22、源WASM虚拟机在目标WebAssembly实例的运行时栈帧中额外加入计数器,所述计数器用于防止在非停机状态下异步获取栈帧的时候发生错误,所述计数器在每次预转存过程中值加1;
S23、源WASM虚拟机每次预转存从快照中丢弃所有脏标志为1的栈帧,并将其中满足计数器阈值的脏标志为1的栈帧加入到快照中,把新加入快照中的栈帧脏标志设置为0;
S24、源WASM虚拟机在步骤S2的多次异步预转存周期中以步骤S21、步骤S22、和步骤S23的方法逻辑预转存有效的栈帧;
S25、在步骤S3源WASM虚拟机停机转存核心上下文的时候,从快照中丢弃所有脏标志为1的栈帧,并将目标WebAssembly实例中当前的全部脏标志为1的栈帧加入到快照中。
优选地,上述的一种WebAssembly虚拟机分布式***细粒度迁移方法,基于WebAssemblyv1.1规范和WebAssembly-Micro-Runtime的WAMR-04-15-2021发行版本进行软件开发。
优选地,上述的一种WebAssembly虚拟机分布式***细粒度迁移方法,所述核心上下文包括表、寄存器、栈、内存块和全局量。
优选地,上述的一种WebAssembly虚拟机分布式***细粒度迁移方法,所述寄存器指栈顶指针、程序计数器。
优选地,上述的一种WebAssembly虚拟机分布式***细粒度迁移方法,所述拓展上下文包括函数、实例配置和模块实例。
本发明的又一目的是,提供一种基于WebAssembly虚拟机分布式***、迁移性能达到细粒度程度的迁移***。
为实现上述又一目的,本发明采取的技术方案是一种WebAssembly虚拟机分布式***细粒度迁移***,包括若干异构服务器,所述异构服务器部署有docker容器组成的收发节点,装有64位Ubuntu20.04***、并配备2个vCPU和4GB内存,所述***用于执行上述的一种WebAssembly虚拟机分布式***细粒度迁移方法。
本发明一种WebAssembly虚拟机分布式***细粒度迁移方法有如下有益效果:结合WebAssembly官方规范以及WebAssembly-Micro-Runtime项目总结出了一种WebAssembly虚拟机进程的运行时上下文结构划分方式,并基于该划分设计出了一套WebAssembly应用的异步迁移流程,以实现WebAssembly应用实例级的细粒度热迁移;同时,考虑到热迁移技术在实际应用场景,通过额外将运行时栈加入异步预转存过程以进一步缩短迁移过程中的停机时间,由于运行时栈在运行中处于极度动态的状态,异步转存非停机状态下的运行时栈可能会带来资源竞争导致的错误,结合栈的增长特性以及WebAssembly的控制流设计,通过在栈帧中加入脏标志以及计数器的方式来尽可能安全的在非停机状态下异步预转存运行时栈。
【附图说明】
图1是一种WebAssembly虚拟机分布式***细粒度迁移方法WASM虚拟机进程运行时上下文结构示意图。
图2是一种WebAssembly虚拟机分布式***细粒度迁移方法WASM应用迁移工作流示意图。
图3是一种WebAssembly虚拟机分布式***细粒度迁移方法WebAssembly实例的运行时栈异步预转存示意图。
【具体实施方式】
下面结合实施例并参照附图对本发明作进一步描述。
在本发明中,服务器是在网络上提供、管理网络资源的一个计算机或设备,终端可指各种类型的装置,包括(但不限于)无线电话、蜂窝式电话、膝上型计算机、多媒体无线装置、无线通信个人计算机(PC)卡、个人数字助理(PDA)、外部或内部调制解调器等。客户端设备,即终端可为任何经由无线信道和/或经由有线信道(例如,光纤或同轴电缆)与服务器通信的数据装置。终端可具有多种名称,例如移动台、移动装置、移动单元,移动电话、远程站、远程终端机、远程单元、用户装置、用户设备、手持式装置等。不同终端可并入一个***中。终端可为移动的或固定的,且可分散遍及一个通信网络。
实施例1
本实施例实现一种WebAssembly虚拟机分布式***细粒度迁移方法。
本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法在WebAssembly官方规范以及WebAssembly-Micro-Runtime的基础上,设计一种针对WebAssembly应用(进程)的细粒度迁移功能,使得基于WebAssembly虚拟机的分布式***在节点的迁移过程中能够获得更好的性能。同时,本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法还利用WebAssembly应用的运行时结构特性,通过预转存运行时栈的方式来进一步降低热迁移中的停机时间。
本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法:包括一种细粒度的WebAssembly虚拟机进程运行时上下文结构划分方案,以及基于该划分方案针对WebAssembly实例设计的异步迁移和运行时栈的预转存方法。
图1是一种WebAssembly虚拟机分布式***细粒度迁移方法WASM虚拟机进程运行时上下文结构示意图。如附图1所示,本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法WebAssembly虚拟机进程运行时上下文结构划分方案:
1.该运行时上下文结构划分方案用于从WebAssembly虚拟机进程中分离出足以描述单个WebAssembly实例的数据最小集。
2.核心上下文指单个实例中在运行期频繁更新的部分,核心上下文转存过程需要使实例进入停机状态,包含了栈、内存块、全局量等。
3.拓展上下文指单个实例中在运行期能够确保不会更新或是不频繁更新的部分,拓展上下文能在非停机状态下完成转存工作,包含了函数、配置、模块实例。
4.由于WebAssembly是基于栈的指令集架构,在设计上并无现成的寄存器用于传递操作数,此处的寄存器主要是指栈顶指针、程序计数器等针对实例的运行时变量。
图2是一种WebAssembly虚拟机分布式***细粒度迁移方法WASM应用迁移工作流示意图。如附图2所示,本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法针对WebAssembly实例的异步迁移方法步骤如下:
1.在非停机状态下将目标WebAssembly实例的拓展上下文转存到快照中。
2.在接收到停机请求之后,源虚拟机等待目标WebAssembly实例执行完上一条指令,在开始下一条指令之前将其暂停。
3.在停机状态下将目标WebAssembly实例的核心上下文转存到快照中。
4.目标虚拟机根据快照中的拓展上下文构建出新的WebAssembly实例,将其暂停。
5.目标虚拟机根据新实例的地址空间对快照中核心上下文的地址进行重新映射之后将其替换掉新实例的核心上下文,完成替换后恢复该实例的执行。
图3是一种WebAssembly虚拟机分布式***细粒度迁移方法WebAssembly实例的运行时栈异步预转存示意图。如附图3所示,本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法针对WebAssembly实例的运行时栈预转存方法如下:
1.在WebAssembly实例的运行时栈帧上加入脏标志(标志为1)以标记该栈帧是否已在预转存阶段加入快照,或是在加入快照之后是否被修改。
2.为了防止在非停机状态下异步获取栈帧的时候发生错误,额外在栈帧中加入计数器,该计数器在每次预转存过程中将其值加1。
3.每次预转存从快照中丢弃所有脏标志为1的栈帧,并将满足计数器阈值的脏帧加入到快照中,把新加入的栈帧脏标志设置为0。
4.多次进行预转存过程以最大限度的预转存有效的栈帧。
5.最终的停机-转存过程中在转存核心上下文的时候,从快照中丢弃所有脏标志为1的栈帧,并将目标WebAssembly实例中当前的全部脏帧加入到快照中。
本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法具体部署实例是由两个docker容器组成的收发节点,通过网桥进行网络连接。本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法具体部署不受服务器种类和数目的限制,可以扩展到两台以上的异构服务器组成集群。
本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法具体部署每个容器节点装有64位Ubuntu20.04***,并配备2个vCPU和4GB内存。本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法的具体开发是基于WebAssembly v1.1规范和WebAssembly-Micro-Runtime的WAMR-04-15-2021发行版本作为说明。
本实施例一种WebAssembly虚拟机分布式***细粒度迁移方法在WebAssembly虚拟机节点之间进行应用迁移时,迁移粒度可以细化到单个实例,在单个虚拟机运行多个实例的场景下也能避免迁移任务对非目标实例影响,细粒度的迁移功能能够在保证正确性的前提下达到更高的性能。每个节点之间通过任意的方式进行迁移快照的传输,从而使得在源节点生成的快照数据能够在目的节点重建出目标实例,从而到达迁移的目的。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于任一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和补充,这些改进和补充也应视为本发明的保护范围。

Claims (7)

1.一种WebAssembly虚拟机分布式***细粒度迁移方法,其特征在于包括以下步骤:
S1、从源WASM虚拟机进程中分离出描述目标WebAssembly实例的数据最小集,所述数据最小集包括实例运行期频繁更新部分的核心上下文、以及实例运行期不会更新或不频繁更新部分的拓展上下文;
S2、源WASM虚拟机在非停机状态下将目标WebAssembly实例的拓展上下文转存到快照中;
S3、源WASM虚拟机接收到目标源WASM虚拟机迁移停机请求之后,源WASM虚拟机等待目标WebAssembly实例执行完上一条指令,在开始下一条指令之前将目标WebAssembly实例暂停;
S4、源WASM虚拟机在停机状态下将目标WebAssembly实例的核心上下文转存到快照中;
S5、目标WASM虚拟机根据快照中的拓展上下文构建出新目标WebAssembly实例,暂停新目标WebAssembly实例;
S6、目标WASM虚拟机根据新目标WebAssembly实例的地址空间对快照中核心上下文的地址进行重新映射之后,替换掉新目标WebAssembly实例的核心上下文,完成替换后恢复新目标WebAssembly实例进程执行。
2.根据权利要求1所述的一种WebAssembly虚拟机分布式***细粒度迁移方法,其特征在于所述步骤S2源WASM虚拟机通过目标WebAssembly实例的运行时栈异步预转存方式减少热迁移中的停机时间,具体包括以下步骤:
S21、源WASM虚拟机在目标WebAssembly实例的运行时栈帧中加入脏标志,所述脏标志用于标记该栈帧是否已在预转存阶段加入快照、或是在加入快照之后是否被修改;
S22、源WASM虚拟机在目标WebAssembly实例的运行时栈帧中额外加入计数器,所述计数器用于防止在非停机状态下异步获取栈帧的时候发生错误,所述计数器在每次预转存过程中值加1;
S23、源WASM虚拟机每次预转存从快照中丢弃所有脏标志为1的栈帧,并将其中满足计数器阈值的脏标志为1的栈帧加入到快照中,把新加入快照中的栈帧脏标志设置为0;
S24、源WASM虚拟机在步骤S2的多次异步预转存周期中以步骤S21、步骤S22、和步骤S23的方法逻辑预转存有效的栈帧;
S25、在步骤S3源WASM虚拟机停机转存核心上下文的时候,从快照中丢弃所有脏标志为1的栈帧,并将目标WebAssembly实例中当前的全部脏标志为1的栈帧加入到快照中。
3.根据权利要求1所述的一种WebAssembly虚拟机分布式***细粒度迁移方法,其特征在于:所述方法基于WebAssembly v1.1规范和WebAssembly-Micro-Runtime的WAMR-04-15-2021发行版本进行软件开发。
4.根据权利要求1所述的一种WebAssembly虚拟机分布式***细粒度迁移方法,其特征在于:所述核心上下文包括表、寄存器、栈、内存块和全局量。
5.根据权利要求4所述的一种WebAssembly虚拟机分布式***细粒度迁移方法,其特征在于:所述寄存器指栈顶指针、程序计数器。
6.根据权利要求1所述的一种WebAssembly虚拟机分布式***细粒度迁移方法,其特征在于:所述拓展上下文包括函数、实例配置和模块实例。
7.一种WebAssembly虚拟机分布式***细粒度迁移***,包括若干异构服务器,所述异构服务器部署有docker容器组成的收发节点,装有64位Ubuntu20.04***、并配备2个vCPU和4GB内存,其特征在于:所述***用于执行权利要求1至权利要求6任一权利要求所述的一种WebAssembly虚拟机分布式***细粒度迁移方法。
CN202111121273.8A 2021-09-24 2021-09-24 一种WebAssembly虚拟机分布式***细粒度迁移方法及*** Active CN113791870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111121273.8A CN113791870B (zh) 2021-09-24 2021-09-24 一种WebAssembly虚拟机分布式***细粒度迁移方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111121273.8A CN113791870B (zh) 2021-09-24 2021-09-24 一种WebAssembly虚拟机分布式***细粒度迁移方法及***

Publications (2)

Publication Number Publication Date
CN113791870A CN113791870A (zh) 2021-12-14
CN113791870B true CN113791870B (zh) 2024-03-26

Family

ID=78879216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111121273.8A Active CN113791870B (zh) 2021-09-24 2021-09-24 一种WebAssembly虚拟机分布式***细粒度迁移方法及***

Country Status (1)

Country Link
CN (1) CN113791870B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115658330B (zh) * 2022-12-23 2023-03-28 南京大学 面向WebAssembly的跨平台GPU虚拟化方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和***
CN103365741A (zh) * 2012-03-30 2013-10-23 伊姆西公司 用于虚拟机集群的快照和恢复的方法和设备
CN104123171A (zh) * 2014-06-10 2014-10-29 浙江大学 基于numa架构的虚拟机迁移方法及***
CN106227587A (zh) * 2016-07-19 2016-12-14 浪潮(北京)电子信息产业有限公司 一种带快照虚拟机整机动态迁移方法及装置
CN111611048A (zh) * 2020-04-08 2020-09-01 曙光信息产业(北京)有限公司 云计算环境中虚拟机的迁移方法、装置和计算机设备
CN112559114A (zh) * 2019-09-24 2021-03-26 阿里巴巴集团控股有限公司 虚拟机的生成方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194620B2 (en) * 2018-10-31 2021-12-07 Nutanix, Inc. Virtual machine migration task management
US11074095B2 (en) * 2019-01-04 2021-07-27 International Business Machines Corporation Event-based virtual machine that hosts microservices for handling program faults

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081552A (zh) * 2009-12-01 2011-06-01 华为技术有限公司 一种物理机到虚拟机的在线迁移方法、装置和***
CN103365741A (zh) * 2012-03-30 2013-10-23 伊姆西公司 用于虚拟机集群的快照和恢复的方法和设备
CN104123171A (zh) * 2014-06-10 2014-10-29 浙江大学 基于numa架构的虚拟机迁移方法及***
CN106227587A (zh) * 2016-07-19 2016-12-14 浪潮(北京)电子信息产业有限公司 一种带快照虚拟机整机动态迁移方法及装置
CN112559114A (zh) * 2019-09-24 2021-03-26 阿里巴巴集团控股有限公司 虚拟机的生成方法和装置
CN111611048A (zh) * 2020-04-08 2020-09-01 曙光信息产业(北京)有限公司 云计算环境中虚拟机的迁移方法、装置和计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
虚拟机全***在线迁移;张彬彬;罗英伟;汪小林;王振林;孙逸峰;陈昊罡;许卓群;李晓明;;电子学报;20090415(第04期);全文 *

Also Published As

Publication number Publication date
CN113791870A (zh) 2021-12-14

Similar Documents

Publication Publication Date Title
CN108958796B (zh) 业务请求处理方法及装置、业务请求处理***
US10554604B1 (en) Low-load message queue scaling using ephemeral logical message topics
CN102667714B (zh) 支持访问由操作***环境外的资源提供的功能的方法和***
CN114327930A (zh) 用于异构多核核间通信的***架构和***架构的运行方法
CN103927193A (zh) Java应用程序函数迁移运行时的加载方法、服务端虚拟机
CN113791870B (zh) 一种WebAssembly虚拟机分布式***细粒度迁移方法及***
JPWO2014192867A1 (ja) 分散処理システム、分散処理装置、分散処理方法および分散処理プログラム
CN111736913A (zh) 类加载方法和装置
CN112925586B (zh) 一种小程序路由方法、装置、计算机设备及存储介质
CN116560878B (zh) 一种内存共享方法和相关装置
CN116680209A (zh) 基于wasm的多智能合约实例管理方法
CN114564241B (zh) 硬件设备的访问方法、装置、计算机设备和存储介质
KR20070096316A (ko) 무선 센서 네트워크 환경에서 프로그램을 변경하기 위한확장 가능한 가상 머신 및 이를 이용한 리프로그래밍 방법
EP1557756B1 (en) Deterministic rule-based dispatch of objects to code for processing objects
CN116382713A (zh) 构建应用镜像的方法、***、设备和存储介质
CN106843895B (zh) 用于处理请求的方法、***和可读存储介质
US20220261238A1 (en) Method and system for deploying third-party application to microcontroller by means of edge assistance
CN114443052A (zh) 一种il指令运行时的动态特例化方法和装置
CN110096315B (zh) 一种组件加载方法和装置
CN112650502A (zh) 批处理任务处理方法、装置、计算机设备和存储介质
CN116107764B (zh) 数据处理方法及***
CN113849248B (zh) 小程序加载方法、设备、存储介质及程序产品
CN114816581B (zh) 一种基于arm处理器的无操作***算法动态加载方法
US20240054000A1 (en) Container scheduling and deployment method and apparatus, and domain controller system
CN117519908B (zh) 一种虚拟机热迁移方法、计算机设备及介质

Legal Events

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