[go: up one dir, main page]

CN107491340B - Implementation method of giant virtual machine across physical machines - Google Patents

Implementation method of giant virtual machine across physical machines Download PDF

Info

Publication number
CN107491340B
CN107491340B CN201710639785.0A CN201710639785A CN107491340B CN 107491340 B CN107491340 B CN 107491340B CN 201710639785 A CN201710639785 A CN 201710639785A CN 107491340 B CN107491340 B CN 107491340B
Authority
CN
China
Prior art keywords
virtual machine
interrupt
management software
machine management
memory
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
CN201710639785.0A
Other languages
Chinese (zh)
Other versions
CN107491340A (en
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 Jiao Tong University
Original Assignee
Shanghai Jiao Tong 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 Jiao Tong University filed Critical Shanghai Jiao Tong University
Priority to CN201710639785.0A priority Critical patent/CN107491340B/en
Publication of CN107491340A publication Critical patent/CN107491340A/en
Application granted granted Critical
Publication of CN107491340B publication Critical patent/CN107491340B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

本发明提供了一种跨物理机的巨型虚拟机实现方法,包括以下步骤:步骤一,巨型虚拟机的创建步骤;步骤二,巨型虚拟机的中断处理步骤;步骤三,设备中断的处理步骤;步骤四,基于高速共享内存访问技术的远程访问步骤。本发明实现多台物理机为一台虚拟机提供计算、IO和其它资源。机器间通过远程高速内存访问技术进行远程内存访问,实现了高速的分布式共享内存。

Figure 201710639785

The present invention provides a method for realizing a giant virtual machine across physical machines, comprising the following steps: step 1, the creation step of the giant virtual machine; step 2, the interrupt processing step of the giant virtual machine; step 3, the processing step of equipment interruption; The fourth step is a remote access step based on the high-speed shared memory access technology. The invention realizes that multiple physical machines provide computing, IO and other resources for one virtual machine. Remote memory access is performed between machines through remote high-speed memory access technology, realizing high-speed distributed shared memory.

Figure 201710639785

Description

跨物理机的巨型虚拟机实现方法Implementation method of giant virtual machine across physical machines

技术领域technical field

本发明涉及一种巨型虚拟机实现方法,具体地,涉及一种跨物理机的巨型虚拟机(Giant VM)实现方法。The present invention relates to a method for realizing a giant virtual machine, in particular, to a method for realizing a giant virtual machine (Giant VM) across physical machines.

背景技术Background technique

虚拟化是指通过虚拟化技术将一台物理计算机虚拟为多台逻辑计算机。每台逻辑计算机可运行不同的操作系统,相互独立,互不影响,为数据、计算能力、存储和其他资源提供了一个逻辑视图。随着机器学习等领域的发展,人们对虚拟机的性能提出了更高需求,单台物理计算机的资源,包括CPU、内存和其它设备(如GPU、FPGA)等已无法满足需求。将多台物理机虚拟成单台虚拟机(简称“多虚一”)从而使该虚拟机拥有海量资源,成为了可行的解决方案。Virtualization refers to virtualizing a physical computer into multiple logical computers through virtualization technology. Each logical computer can run a different operating system, independent of each other, without affecting each other, providing a logical view of data, computing power, storage, and other resources. With the development of machine learning and other fields, people have put forward higher requirements for the performance of virtual machines, and the resources of a single physical computer, including CPU, memory and other devices (such as GPU, FPGA), can no longer meet the requirements. It is a feasible solution to virtualize multiple physical machines into a single virtual machine (referred to as "multi-virtual-one") so that the virtual machine has massive resources.

目前虽然有一些多虚一的分布式系统,但它们主要通过在架构底层添加额外的虚拟化抽象层实现,绕过了宿主机系统和虚拟机管理软件的监控和管理。这样的架构不仅无法利用最新的虚拟机管理软件,而且在对分布式系统架构进行调整时会带来巨大的复杂度,难以实现资源的实时调配。同时,基于传统网络实现的分布式共享内存在传输速度上出现瓶颈,限制了系统的可拓展性。Although there are some multi-virtual distributed systems, they are mainly implemented by adding an additional virtualization abstraction layer at the bottom layer of the architecture, bypassing the monitoring and management of the host system and virtual machine management software. Such an architecture not only cannot utilize the latest virtual machine management software, but also brings huge complexity when adjusting the distributed system architecture, making it difficult to realize real-time resource allocation. At the same time, the distributed shared memory based on traditional network has bottlenecks in transmission speed, which limits the scalability of the system.

发明内容SUMMARY OF THE INVENTION

针对现有技术中的缺陷,本发明的目的是提供一种跨物理机的巨型虚拟机实现方法,其实现多台物理机为一台虚拟机提供计算、IO(输入输出)和其它资源。机器间通过远程高速内存访问技术(如RDMA)进行远程内存访问,实现了高速的分布式共享内存。除此之外,本发明还创造性地提供对GPU、FPGA等新型计算硬件设备的接入支持,从而使虚拟机能够满足新型高性能计算、机器学习等领域的需求。In view of the defects in the prior art, the purpose of the present invention is to provide a method for implementing a giant virtual machine across physical machines, which enables multiple physical machines to provide computing, IO (input and output) and other resources for a virtual machine. Remote memory access is performed between machines through remote high-speed memory access technology (such as RDMA), which realizes high-speed distributed shared memory. In addition, the present invention also creatively provides access support for new computing hardware devices such as GPU and FPGA, so that the virtual machine can meet the needs of new high-performance computing, machine learning and other fields.

根据本发明的一个方面,提供一种跨物理机的巨型虚拟机实现方法,其特征在于,包括以下步骤:According to an aspect of the present invention, a method for implementing a giant virtual machine across physical machines is provided, which is characterized by comprising the following steps:

步骤一,巨型虚拟机的创建步骤;Step 1, the steps of creating a giant virtual machine;

步骤二,巨型虚拟机的中断处理步骤;Step 2, the interrupt processing steps of the giant virtual machine;

步骤三,设备中断的处理步骤;Step 3, the processing steps of equipment interruption;

步骤四,基于高速共享内存访问技术的远程访问步骤。The fourth step is a remote access step based on the high-speed shared memory access technology.

优选地,所述步骤一包括以下步骤:Preferably, the step one includes the following steps:

步骤十一:用户向全局虚拟机管理软件发送巨型虚拟机创建指令,包含巨型虚拟机所需的CPU、内存和其它设备类型和数目;Step 11: The user sends a giant virtual machine creation instruction to the global virtual machine management software, including the type and number of CPU, memory and other devices required by the giant virtual machine;

步骤十二:全局虚拟机管理软件解析用户请求,对所有物理计算机进行发现,并将解析后的请求根据协议通知主虚拟机管理软件;Step 12: The global virtual machine management software parses the user request, discovers all physical computers, and notifies the main virtual machine management software of the parsed request according to the protocol;

步骤十三:主虚拟机管理软件在本地创建虚拟机实例,并创建请求指定的vCPU实例;Step 13: The main virtual machine management software creates a virtual machine instance locally, and creates the vCPU instance specified by the request;

步骤十四:主虚拟机管理软件根据请求,创建分布式共享内存的全局地址空间;全局地址空间中只有部分内存位于本地,其它内存位于远端;Step 14: The main virtual machine management software creates a global address space of distributed shared memory according to the request; in the global address space, only part of the memory is located locally, and other memory is located remotely;

步骤十五:主虚拟机管理软件根据请求,创建本地的设备实例;Step 15: The main virtual machine management software creates a local device instance according to the request;

步骤十六:主虚拟机管理软件将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件,进入等待状态;Step 16: The main virtual machine management software returns the vCPU, memory, PCIE bus information to the global virtual machine management software, and enters the waiting state;

步骤十七:全局虚拟机管理软件将主虚拟机管理软件发回的信息连同用户请求发送给远程计算机的虚拟机管理软件;Step seventeen: the global virtual machine management software sends the information returned by the main virtual machine management software together with the user request to the virtual machine management software of the remote computer;

步骤十八:远程计算机的虚拟机管理软件在本地创建虚拟机实例,同步主虚拟机的PCIE总线,并创建请求指定的vCPU实例,设置vCPU状态;Step 18: The virtual machine management software of the remote computer creates a virtual machine instance locally, synchronizes the PCIE bus of the main virtual machine, creates a vCPU instance specified by the request, and sets the vCPU state;

步骤十九:远程计算机的虚拟机管理软件根据请求,指定内存为全局分布式共享内存地址空间的一部分;Step 19: the virtual machine management software of the remote computer designates the memory as a part of the global distributed shared memory address space according to the request;

步骤二十:远程计算机的虚拟机管理软件根据请求,创建本地的IO设备实例;Step 20: The virtual machine management software of the remote computer creates a local IO device instance according to the request;

步骤二十一:远程计算机的虚拟机管理软件将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件进入等待状态;Step 21: The virtual machine management software of the remote computer returns the vCPU, memory, and PCIE bus information to the global virtual machine management software to enter a waiting state;

步骤二十二:远程计算机的虚拟机管理软件将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件;Step 22: The virtual machine management software of the remote computer returns the vCPU, memory, and PCIE bus information to the global virtual machine management software;

步骤二十三:全局虚拟机管理软件通知主虚拟机管理软件开始运行虚拟机。Step 23: The global virtual machine management software notifies the main virtual machine management software to start running the virtual machine.

优选地,所述步骤二包括以下步骤:Preferably, the second step includes the following steps:

步骤三十一:位于某台物理计算机中某个核向某个核发送中断;Step 31: A certain core in a certain physical computer sends an interrupt to a certain core;

步骤三十二:中断被送到中断路由,判断该中断的类型;如果中断的目标和发送者位于同一个物理CPU,则为同CPU核间中断;如果中断的目标和发送者位于同一台物理计算机的不同CPU,则为跨CPU核间中断;如果中断的目标和发送者位于不同物理计算机,则为跨机器核间中断;Step 32: The interrupt is sent to the interrupt route to determine the type of the interrupt; if the interrupt target and the sender are located in the same physical CPU, it is an interrupt between the same CPU core; if the interrupt target and the sender are located in the same physical CPU For different CPUs of the computer, it is a cross-CPU-core interrupt; if the target and sender of the interrupt are located on different physical computers, it is a cross-machine-core interrupt;

步骤三十三:中断路由根据中断类型进行转发;对于同CPU核间中断和跨CPU核间中断,利用同CPU和NUMA中断机制进行送达;对于跨机器核间中断,将发送给中断路由,由其负责将中断送达目标虚拟机管理软件;目标虚拟机管理软件收到后将中断注入到目标核。Step 33: Interrupt routing is forwarded according to the type of interrupt; for interrupts between the same CPU core and across CPU cores, the same CPU and NUMA interrupt mechanisms are used for delivery; It is responsible for delivering the interrupt to the target virtual machine management software; the target virtual machine management software injects the interrupt into the target core after receiving it.

优选地,所述步骤三包括以下步骤:Preferably, the step 3 includes the following steps:

步骤四十一:位于某台物理计算机中某个设备向某个核发送中断;Step 41: A device located in a physical computer sends an interrupt to a core;

步骤四十二:中断被送到中断路由,判断该中断的类型;如果中断的目标和发送者位于同一台物理计算机,则为同机器设备中断;如果中断的目标和发送者位于不同物理计算机,则为跨物理机设备中断;Step 42: The interrupt is sent to the interrupt route to determine the type of the interrupt; if the interrupt target and the sender are located on the same physical computer, it is an interrupt on the same machine; if the interrupt target and the sender are located on different physical computers, It is interrupted across physical machine devices;

步骤四十三:中断路由根据中断类型进行转发;对于同机器设备中断,利用设备中断机制进行送达;对于跨物理机设备中断,会将中断发送给中断路由,由其负责将中断送达目标虚拟机管理软件;目标虚拟机管理软件收到后将中断注入到目标核。Step 43: The interrupt routing is forwarded according to the interrupt type; for the same-machine device interrupt, the device interrupt mechanism is used for delivery; for the cross-physical machine device interrupt, the interrupt is sent to the interrupt route, which is responsible for delivering the interrupt to the target The hypervisor; the target hypervisor injects the interrupt into the target core after receiving it.

优选地,所述步骤四包括以下步骤:Preferably, the step 4 includes the following steps:

步骤四十一:运行在虚拟机操作系统上的应用访问或修改某个地址的页;Step 41: The application running on the virtual machine operating system accesses or modifies the page of a certain address;

步骤四十二:由硬件通过虚拟机操作系统的页表和虚拟机扩展页表进行查找,如果发生缺页,退出到虚拟机管理软件进行处理;Step 42: The hardware searches through the page table of the virtual machine operating system and the extended page table of the virtual machine. If a page missing occurs, exit to the virtual machine management software for processing;

步骤四十三:虚拟机管理软件处理缺页错误,如果发现该内存页位于远程计算机,则向共享内存路由发送远程内存操作请求;Step 43: The virtual machine management software processes the page fault, and if it is found that the memory page is located on the remote computer, it sends a remote memory operation request to the shared memory route;

步骤四十四:共享内存路由根据路由表对目标计算机进行远程内存操作;Step 44: The shared memory routing performs a remote memory operation on the target computer according to the routing table;

步骤四十五:目标计算机向共享内存路由返回远程内存操作结果;Step 45: The target computer returns the remote memory operation result to the shared memory route;

步骤四十六:共享内存路由将远程内存操作返回的结果转发给虚拟机管理软件;Step 46: The shared memory routing forwards the result returned by the remote memory operation to the virtual machine management software;

步骤四十七:虚拟机管理软件将内存返回给虚拟机操作系统。Step 47: The virtual machine management software returns the memory to the virtual machine operating system.

与现有技术相比,本发明具有如下的有益效果:本发明能够实现对多台物理计算机进行虚拟化,从而提供一台或多台拥有海量计算资源的高性能巨型虚拟机,满足高性能计算的需求。本发明实现多台物理机为一台虚拟机提供计算、IO和其它资源。机器间通过远程高速内存访问技术(如RDMA)进行远程内存访问,实现了高速的分布式共享内存。除此之外,本发明还创造性地提供对GPU、FPGA等新型计算硬件设备的接入支持,从而使虚拟机能够满足新型高性能计算、机器学习等领域的需求。本发明针对大规模分布式计算系统,在分布式共享内存的基础上对计算资源进行抽象(CPU,GPU,FPGA),实现跨机器多虚一,对外呈现统一的、具有海量资源的巨型虚拟机。Compared with the prior art, the present invention has the following beneficial effects: the present invention can realize the virtualization of multiple physical computers, thereby providing one or more high-performance giant virtual machines with massive computing resources to meet the needs of high-performance computing. demand. The invention realizes that multiple physical machines provide computing, IO and other resources for one virtual machine. Remote memory access is performed between machines through remote high-speed memory access technology (such as RDMA), which realizes high-speed distributed shared memory. In addition, the present invention also creatively provides access support for new computing hardware devices such as GPU and FPGA, so that the virtual machine can meet the needs of new high-performance computing, machine learning and other fields. Aiming at large-scale distributed computing systems, the invention abstracts computing resources (CPU, GPU, FPGA) on the basis of distributed shared memory, realizes multiple virtual ones across machines, and presents a unified giant virtual machine with massive resources to the outside world. .

附图说明Description of drawings

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:Other features, objects and advantages of the present invention will become more apparent by reading the detailed description of non-limiting embodiments with reference to the following drawings:

图1为本发明架构示意图。FIG. 1 is a schematic diagram of the structure of the present invention.

图2为虚拟PCIE总线示意图。FIG. 2 is a schematic diagram of a virtual PCIE bus.

图3为核间中断示意图。Figure 3 is a schematic diagram of an inter-core interrupt.

图4为设备中断示意图。Figure 4 is a schematic diagram of equipment interruption.

图5.为基于高速共享内存访问技术的远程访问流程示意图。Figure 5 is a schematic diagram of a remote access process based on high-speed shared memory access technology.

图6为应用感知示意图。FIG. 6 is a schematic diagram of application awareness.

具体实施方式Detailed ways

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。The present invention will be described in detail below with reference to specific embodiments. The following examples will help those skilled in the art to further understand the present invention, but do not limit the present invention in any form. It should be noted that, for those skilled in the art, several modifications and improvements can be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.

本发明跨物理机的巨型虚拟机(Giant VM)实现方法包括以下步骤:The method for implementing the giant virtual machine (Giant VM) across physical machines of the present invention comprises the following steps:

步骤一,巨型虚拟机的创建步骤;Step 1, the steps of creating a giant virtual machine;

步骤二,巨型虚拟机的中断处理步骤;Step 2, the interrupt processing steps of the giant virtual machine;

步骤三,设备中断的处理步骤;Step 3, the processing steps of equipment interruption;

步骤四,基于高速共享内存访问技术(如RDMA)的远程访问步骤。Step 4, a remote access step based on a high-speed shared memory access technology (such as RDMA).

步骤一包括以下步骤:Step 1 includes the following steps:

步骤十一:用户向全局虚拟机管理软件Coordinator发送巨型虚拟机创建指令,包含巨型虚拟机所需的CPU(Central Processing Unit,中央处理器)、内存和其它设备类型和数目;Step 11: The user sends a giant virtual machine creation instruction to the global virtual machine management software Coordinator, including the CPU (Central Processing Unit, central processing unit), memory, and other device types and numbers required by the giant virtual machine;

步骤十二:全局虚拟机管理软件Coordinator解析用户请求,对所有物理计算机进行发现,并将解析后的请求根据协议通知主虚拟机管理软件(master);Step 12: The global virtual machine management software Coordinator parses the user request, discovers all physical computers, and notifies the master virtual machine management software (master) of the parsed request according to the protocol;

步骤十三:主虚拟机管理软件(master)在本地创建虚拟机实例,并创建请求指定的vCPU(虚拟中央处理器)实例。vCPU分为本地vCPU和远端vCPU,本地vCPU会在本地的物理CPU上执行,而远端vCPU将在后续步骤同步到其它物理计算机进行执行;所有vCPU被挂在到该虚拟机实例的虚拟PCIE总线上;Step 13: The master virtual machine management software (master) creates a virtual machine instance locally, and creates a vCPU (virtual central processing unit) instance specified by the request. vCPUs are divided into local vCPUs and remote vCPUs. The local vCPUs will be executed on the local physical CPU, while the remote vCPUs will be synchronized to other physical computers for execution in subsequent steps; all vCPUs are linked to the virtual PCIE of the virtual machine instance. on the bus;

步骤十四:主虚拟机管理软件(master)根据请求,创建分布式共享内存的全局地址空间。全局地址空间中只有部分内存位于本地,其它内存位于远端;Step 14: The master virtual machine management software (master) creates the global address space of the distributed shared memory according to the request. Only part of the memory in the global address space is located locally, and other memory is located remotely;

步骤十五:主虚拟机管理软件(master)根据请求,创建本地的设备实例,如GPU,并将其挂载到虚拟机的PCIE总线上;Step 15: The master virtual machine management software (master) creates a local device instance, such as a GPU, according to the request, and mounts it on the PCIE bus of the virtual machine;

步骤十六:主虚拟机管理软件(master)将vCPU、内存、PCIE总线信息返回给Coordinator,进入等待状态;Step 16: The master virtual machine management software (master) returns the vCPU, memory, and PCIE bus information to the Coordinator, and enters the waiting state;

步骤十七:全局虚拟机管理软件Coordinator将主虚拟机管理软件(master)发回的信息连同用户请求发送给远程计算机的虚拟机管理软件(worker);Step 17: The global virtual machine management software Coordinator sends the information returned by the master virtual machine management software (master) together with the user request to the virtual machine management software (worker) of the remote computer;

步骤十八:远程计算机的虚拟机管理软件(worker)在本地创建虚拟机实例,同步主虚拟机的PCIE总线,并创建请求指定的vCPU实例,设置vCPU状态;Step 18: The virtual machine management software (worker) of the remote computer creates a virtual machine instance locally, synchronizes the PCIE bus of the main virtual machine, creates the vCPU instance specified by the request, and sets the vCPU state;

步骤十九:远程计算机的虚拟机管理软件(worker)根据请求,指定内存为全局分布式共享内存地址空间的一部分;Step 19: The virtual machine management software (worker) of the remote computer designates the memory as a part of the globally distributed shared memory address space according to the request;

步骤二十:远程计算机的虚拟机管理软件(worker)根据请求,创建本地的IO设备实例,如GPU,并将其挂载到虚拟机的PCIE总线上;Step 20: The virtual machine management software (worker) of the remote computer creates a local IO device instance, such as a GPU, according to the request, and mounts it on the PCIE bus of the virtual machine;

步骤二十一:远程计算机的虚拟机管理软件(worker)将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件Coordinator,进入等待状态;Step 21: The virtual machine management software (worker) of the remote computer returns the vCPU, memory, and PCIE bus information to the global virtual machine management software Coordinator, and enters a waiting state;

步骤二十二:远程计算机的虚拟机管理软件(worker)将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件Coordinator;Step 22: The virtual machine management software (worker) of the remote computer returns the vCPU, memory, and PCIE bus information to the global virtual machine management software Coordinator;

步骤二十三:全局虚拟机管理软件Coordinator通知主虚拟机管理软件(master)开始运行虚拟机。Step 23: The global virtual machine management software Coordinator notifies the master virtual machine management software (master) to start running the virtual machine.

从巨型虚拟机的角度来看,一个中断从中断源发出以后,通过巨型虚拟机的中断路由,将其送达中断目标。如图3所示,步骤二包括以下步骤:From the perspective of the giant virtual machine, after an interrupt is sent from the interrupt source, it is delivered to the interrupt target through the interrupt routing of the giant virtual machine. As shown in Figure 3, step 2 includes the following steps:

步骤三十一:位于某台物理计算机中某个核(core)向某个核(core)发送中断。Step 31: A certain core (core) located in a certain physical computer sends an interrupt to a certain core (core).

步骤三十二:中断被送到中断路由,判断该中断的类型。如果中断的目标和发送者位于同一个物理CPU,则为同CPU核间中断;如果中断的目标和发送者位于同一台物理计算机的不同CPU,则为跨CPU核间中断;如果中断的目标和发送者位于不同物理计算机,则为跨机器核间中断。Step 32: The interrupt is sent to the interrupt route, and the type of the interrupt is determined. If the interrupt target and the sender are located on the same physical CPU, it is an interrupt between CPU cores; if the interrupt target and the sender are located on different CPUs of the same physical computer, it is a cross-CPU core interrupt; if the interrupt target and If the sender is on a different physical computer, it is a cross-machine-core interrupt.

步骤三十三:中断路由根据中断类型进行转发。对于同CPU核间中断和跨CPU核间中断,利用同CPU和NUMA中断机制进行送达;对于跨机器核间中断,将发送给中断路由,由其负责将中断送达目标虚拟机管理软件。目标虚拟机管理软件收到后将中断注入到目标核(core)。Step 33: The interruption route is forwarded according to the interruption type. Inter-CPU and inter-CPU-core interrupts are delivered by intra-CPU and NUMA interrupt mechanisms; inter-core inter-core interrupts are sent to the interrupt routing, which is responsible for delivering the interrupt to the target virtual machine management software. The target hypervisor receives the interrupt and injects it into the target core (core).

如图4所示,步骤三包括以下步骤:As shown in Figure 4, step 3 includes the following steps:

步骤四十一:位于某台物理计算机中某个设备向某个核(core)发送中断。Step 41: A device located in a certain physical computer sends an interrupt to a certain core (core).

步骤四十二:中断被送到中断路由,判断该中断的类型。如果中断的目标和发送者位于同一台物理计算机,则为同机器设备中断;如果中断的目标和发送者位于不同物理计算机,则为跨物理机设备中断。Step 42: The interrupt is sent to the interrupt route, and the type of the interrupt is determined. If the target and sender of the interruption are located on the same physical computer, it is an interruption of the same machine device; if the target and sender of the interruption are located on different physical computers, it is an interruption across physical machines.

步骤四十三:中断路由根据中断类型进行转发。对于同机器设备中断,利用设备中断机制进行送达;对于跨物理机设备中断,会将中断发送给中断路由,由其负责将中断送达目标虚拟机管理软件。目标虚拟机管理软件收到后将中断注入到目标核(core)。Step 43: The interruption route is forwarded according to the interruption type. For the same-machine device interruption, the device interruption mechanism is used for delivery; for the cross-physical machine device interruption, the interruption is sent to the interruption route, which is responsible for delivering the interruption to the target virtual machine management software. The target hypervisor receives the interrupt and injects it into the target core (core).

从巨型虚拟机的角度来看,它拥有一片统一、连续的物理内存地址空间。但实际上,这段物理内存地址空间所映射到的物理内存位于多台物理计算机上。当巨型虚拟机中的操作系统或应用访问内存时,如果内存地址对应的内存位于远端机器,则访问内存的请求将送达内存路由,由内存路由将请求送达目标,在获得结果后返回给请求者。如图5所示,步骤四包括以下步骤:From the perspective of a giant virtual machine, it has a uniform, contiguous physical memory address space. But in fact, the physical memory to which this physical memory address space is mapped is located on multiple physical computers. When the operating system or application in the giant virtual machine accesses the memory, if the memory corresponding to the memory address is located on the remote machine, the request to access the memory will be sent to the memory route, and the memory route will send the request to the target, and return after the result is obtained. to the requester. As shown in Figure 5, step 4 includes the following steps:

步骤四十一:运行在虚拟机操作系统上的应用访问或修改某个地址的页;Step 41: The application running on the virtual machine operating system accesses or modifies the page of a certain address;

步骤四十二:由硬件通过虚拟机操作系统的页表和虚拟机扩展页表(如EPT)进行查找,如果发生缺页,退出到虚拟机管理软件进行处理;Step 42: The hardware searches through the page table of the virtual machine operating system and the virtual machine extended page table (such as EPT), and if a page missing occurs, exit to the virtual machine management software for processing;

步骤四十三:虚拟机管理软件处理缺页错误,如果发现该内存页位于远程计算机,则向共享内存路由发送远程内存操作请求;Step 43: The virtual machine management software processes the page fault, and if it is found that the memory page is located on the remote computer, it sends a remote memory operation request to the shared memory route;

步骤四十四:共享内存路由根据路由表对目标计算机进行远程内存操作;Step 44: The shared memory routing performs a remote memory operation on the target computer according to the routing table;

步骤四十五:目标计算机向共享内存路由返回远程内存操作结果;Step 45: The target computer returns the remote memory operation result to the shared memory route;

步骤四十六:共享内存路由将远程内存操作返回的结果转发给虚拟机管理软件;Step 46: The shared memory routing forwards the result returned by the remote memory operation to the virtual machine management software;

步骤四十七:虚拟机管理软件将内存返回给虚拟机操作系统。Step 47: The virtual machine management software returns the memory to the virtual machine operating system.

在应用层面,由于对底层资源进行了虚拟化,只会感知到运行在一台拥有海量资源的巨型虚拟机上。而在巨型虚拟机之下,由运行不同物理计算机上虚拟机管理软件进行协作,共同为上层提供计算资源,如图6所示。At the application level, because the underlying resources are virtualized, they can only perceive that they are running on a giant virtual machine with massive resources. Under the giant virtual machine, the virtual machine management software running on different physical computers cooperates to provide computing resources for the upper layer, as shown in Figure 6.

创建完毕的巨型虚拟机拥有以下特性:The created giant virtual machine has the following characteristics:

一,所有物理计算机通过高速网络相互连接,由全局虚拟机管理软件Coordinator负责发现、控制和管理。由Coordinator选中有且仅有一台物理机的虚拟机管理软件作为master,其他物理机上的虚拟机管理软件作为worker。First, all physical computers are connected to each other through a high-speed network, and the global virtual machine management software Coordinator is responsible for discovery, control and management. The virtual machine management software with one and only one physical machine selected by the Coordinator is used as the master, and the virtual machine management software on other physical machines is used as the worker.

二,master和worker之间通过Coordinator相互发现,此后既可通过Coordinator进行通信,亦可直接进行通信。Second, the master and the worker discover each other through the Coordinator, after which they can communicate through the Coordinator or communicate directly.

三,巨型虚拟机的所有物理计算机节点维护相同或不同数目的vCPU,如果vCPU在本地,则属于本地vCPU,在本地执行。如果在远程,由远程计算机保证执行。vCPU的核间中断通过中断路由能够跨核、跨CPU、跨机器送达。Third, all physical computer nodes of the giant virtual machine maintain the same or different numbers of vCPUs. If the vCPU is local, it belongs to the local vCPU and executes locally. If remote, execution is guaranteed by the remote computer. Inter-core interrupts for vCPUs can be delivered across cores, CPUs, and machines through interrupt routing.

四,巨型虚拟机的所有物理计算机使用高速共享内存访问技术,实现分布式共享内存。Fourth, all physical computers of the giant virtual machine use high-speed shared memory access technology to realize distributed shared memory.

五,巨型虚拟机的所有物理计算机使用共享存储技术,实现分布式共享存储。Fifth, all physical computers of the giant virtual machine use shared storage technology to realize distributed shared storage.

巨型虚拟机的拥有唯一的虚拟PCIE(包括PCI)总线,各物理机的设备将挂载到该总线上,如图2所示。除了CPU之外,GPU、FPGA等新型计算硬件设备能够挂载到虚拟PCIE总线上,为巨型虚拟机提供服务。The giant virtual machine has a unique virtual PCIE (including PCI) bus, and the devices of each physical machine will be mounted on the bus, as shown in Figure 2. In addition to CPUs, new computing hardware devices such as GPUs and FPGAs can be mounted on the virtual PCIE bus to provide services for giant virtual machines.

具体部署实例是由三台普通服务器组成的集群,每台服务器配有支持InfiniBand的网卡。服务器通过光纤连接到中心InfiniBand交换机上。本发明不受服务器种类和数目的限制,可以扩展到三台以上的异构服务器组成集群。The specific deployment example is a cluster composed of three ordinary servers, each of which is equipped with a network card that supports InfiniBand. The servers are connected to the central InfiniBand switch via fiber. The invention is not limited by the type and number of servers, and can be extended to more than three heterogeneous servers to form a cluster.

每台服务器装有Ubuntu Server 16.04.1LTS 64bit,并且配备两路CPU共计56核和64GB内存。本发明的具体开发是基于QEMU 2.8.1.1和Linux内核4.8.10的源码版本作为说明,对于其它虚拟机管理器和Linux其它版本内核也同样适用。Each server is equipped with Ubuntu Server 16.04.1LTS 64bit, and is equipped with two CPUs with a total of 56 cores and 64GB of memory. The specific development of the present invention is based on the source code version of QEMU 2.8.1.1 and Linux kernel 4.8.10 as an illustration, and is also applicable to other virtual machine managers and kernels of other versions of Linux.

如图1所示,不同服务器利用共享存储维护一致的磁盘镜像,利用基于RDMA的分布式共享内存维护一致的内存。Coordinator负责发现、协调和管理各服务器,在收到用户请求后将请求发送给主虚拟机管理软件和远程的虚拟机管理软件,创建出一台跨服务器的巨型虚拟机。As shown in Figure 1, different servers use shared storage to maintain consistent disk images, and use RDMA-based distributed shared memory to maintain consistent memory. The Coordinator is responsible for discovering, coordinating and managing each server. After receiving the user request, it sends the request to the main virtual machine management software and the remote virtual machine management software to create a giant virtual machine across servers.

该巨型虚拟机拥有168个vCPU,每个vCPU对应一个物理核,其中有56个vCPU运行在本机的物理核上,其余112个vCPU运行在其它两台远程服务器上。巨型虚拟机拥有192GB的分布式共享内存,其中有64GB为本机内存,其余128GB为远端内存,通过RDMA对远端内存进行高速访问。同时,虚拟机拥有并能够使用位于不同计算机上的计算、IO和其它设备,如GPU、FPGA等。The giant virtual machine has 168 vCPUs, each vCPU corresponds to a physical core, of which 56 vCPUs run on the physical core of the machine, and the remaining 112 vCPUs run on the other two remote servers. The giant virtual machine has 192GB of distributed shared memory, of which 64GB is local memory, and the remaining 128GB is remote memory, which can be accessed at high speed through RDMA. At the same time, the virtual machine owns and is able to use computing, IO and other devices such as GPU, FPGA, etc. located on different computers.

该架构完全对用户透明,用户直接对Coordinator发送指令即可实现对巨型虚拟机的创建、变更和销毁。运行在巨型虚拟机上的应用程序能够透明地使用经过虚拟化后的海量资源。The architecture is completely transparent to users, and users can create, change and destroy giant virtual machines by directly sending instructions to the Coordinator. Applications running on giant virtual machines can transparently use the vast amount of virtualized resources.

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。Specific embodiments of the present invention have been described above. It should be understood that the present invention is not limited to the above-mentioned specific embodiments, and those skilled in the art can make various variations or modifications within the scope of the claims, which do not affect the essential content of the present invention.

Claims (4)

1.一种跨物理机的巨型虚拟机实现方法,其特征在于,包括以下步骤:1. a giant virtual machine implementation method across physical machines, is characterized in that, comprises the following steps: 步骤一,巨型虚拟机的创建步骤;Step 1, the steps of creating a giant virtual machine; 步骤二,巨型虚拟机的中断处理步骤;Step 2, the interrupt processing steps of the giant virtual machine; 步骤三,设备中断的处理步骤;Step 3, the processing steps of equipment interruption; 步骤四,基于高速共享内存访问技术的远程访问步骤;Step 4, remote access step based on high-speed shared memory access technology; 所述步骤一包括以下步骤:The first step includes the following steps: 步骤十一:用户向全局虚拟机管理软件发送巨型虚拟机创建指令,包含巨型虚拟机所需的CPU、内存和其它设备类型和数目;Step 11: The user sends a giant virtual machine creation instruction to the global virtual machine management software, including the type and number of CPU, memory and other devices required by the giant virtual machine; 步骤十二:全局虚拟机管理软件解析用户请求,对所有物理计算机进行发现,并将解析后的请求根据协议通知主虚拟机管理软件;Step 12: The global virtual machine management software parses the user request, discovers all physical computers, and notifies the main virtual machine management software of the parsed request according to the protocol; 步骤十三:主虚拟机管理软件在本地创建虚拟机实例,并创建请求指定的vCPU实例;Step 13: The main virtual machine management software creates a virtual machine instance locally, and creates the vCPU instance specified by the request; 步骤十四:主虚拟机管理软件根据请求,创建分布式共享内存的全局地址空间;全局地址空间中只有部分内存位于本地,其它内存位于远端;Step 14: The main virtual machine management software creates a global address space of distributed shared memory according to the request; in the global address space, only part of the memory is located locally, and other memory is located remotely; 步骤十五:主虚拟机管理软件根据请求,创建本地的设备实例;Step 15: The main virtual machine management software creates a local device instance according to the request; 步骤十六:主虚拟机管理软件将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件,进入等待状态;Step 16: The main virtual machine management software returns the vCPU, memory, PCIE bus information to the global virtual machine management software, and enters the waiting state; 步骤十七:全局虚拟机管理软件将主虚拟机管理软件发回的信息连同用户请求发送给远程计算机的虚拟机管理软件;Step seventeen: the global virtual machine management software sends the information returned by the main virtual machine management software together with the user request to the virtual machine management software of the remote computer; 步骤十八:远程计算机的虚拟机管理软件在本地创建虚拟机实例,同步主虚拟机的PCIE总线,并创建请求指定的vCPU实例,设置vCPU状态;Step 18: The virtual machine management software of the remote computer creates a virtual machine instance locally, synchronizes the PCIE bus of the main virtual machine, creates a vCPU instance specified by the request, and sets the vCPU state; 步骤十九:远程计算机的虚拟机管理软件根据请求,指定内存为全局分布式共享内存地址空间的一部分;Step 19: the virtual machine management software of the remote computer designates the memory as a part of the global distributed shared memory address space according to the request; 步骤二十:远程计算机的虚拟机管理软件根据请求,创建本地的IO设备实例;Step 20: The virtual machine management software of the remote computer creates a local IO device instance according to the request; 步骤二十一:远程计算机的虚拟机管理软件将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件进入等待状态;Step 21: The virtual machine management software of the remote computer returns the vCPU, memory, and PCIE bus information to the global virtual machine management software to enter a waiting state; 步骤二十二:远程计算机的虚拟机管理软件将vCPU、内存、PCIE总线信息返回给全局虚拟机管理软件;Step 22: The virtual machine management software of the remote computer returns the vCPU, memory, and PCIE bus information to the global virtual machine management software; 步骤二十三:全局虚拟机管理软件通知主虚拟机管理软件开始运行虚拟机。Step 23: The global virtual machine management software notifies the main virtual machine management software to start running the virtual machine. 2.根据权利要求1所述的跨物理机的巨型虚拟机实现方法,其特征在于,所述步骤二包括以下步骤:2. The method for implementing a giant virtual machine across physical machines according to claim 1, wherein the step 2 comprises the following steps: 步骤三十一:位于某台物理计算机中某个核向某个核发送中断;Step 31: A certain core in a certain physical computer sends an interrupt to a certain core; 步骤三十二:中断被送到中断路由,判断该中断的类型;如果中断的目标和发送者位于同一个物理CPU,则为同CPU核间中断;如果中断的目标和发送者位于同一台物理计算机的不同CPU,则为跨CPU核间中断;如果中断的目标和发送者位于不同物理计算机,则为跨机器核间中断;Step 32: The interrupt is sent to the interrupt route to determine the type of the interrupt; if the interrupt target and the sender are located in the same physical CPU, it is an interrupt between the same CPU core; if the interrupt target and the sender are located in the same physical CPU For different CPUs of the computer, it is a cross-CPU-core interrupt; if the target and sender of the interrupt are located on different physical computers, it is a cross-machine-core interrupt; 步骤三十三:中断路由根据中断类型进行转发;对于同CPU核间中断和跨CPU核间中断,利用同CPU和NUMA中断机制进行送达;对于跨机器核间中断,将发送给中断路由,由其负责将中断送达目标虚拟机管理软件;目标虚拟机管理软件收到后将中断注入到目标核。Step 33: Interrupt routing is forwarded according to the interrupt type; for interrupts between the same CPU core and across CPU cores, the same CPU and NUMA interrupt mechanisms are used for delivery; for inter-machine core interrupts, it is sent to the interrupt routing, It is responsible for delivering the interrupt to the target virtual machine management software; the target virtual machine management software injects the interrupt into the target core after receiving it. 3.根据权利要求1所述的跨物理机的巨型虚拟机实现方法,其特征在于,所述步骤三包括以下步骤:3. The method for implementing a giant virtual machine across physical machines according to claim 1, wherein the step 3 comprises the following steps: 步骤四十一:位于某台物理计算机中某个设备向某个核发送中断;Step 41: A device located in a physical computer sends an interrupt to a core; 步骤四十二:中断被送到中断路由,判断该中断的类型;如果中断的目标和发送者位于同一台物理计算机,则为同机器设备中断;如果中断的目标和发送者位于不同物理计算机,则为跨物理机设备中断;Step 42: The interrupt is sent to the interrupt route to determine the type of the interrupt; if the interrupt target and the sender are located on the same physical computer, it is an interrupt on the same machine device; if the interrupt target and the sender are located on different physical computers, It is interrupted across physical machine devices; 步骤四十三:中断路由根据中断类型进行转发;对于同机器设备中断,利用设备中断机制进行送达;对于跨物理机设备中断,会将中断发送给中断路由,由其负责将中断送达目标虚拟机管理软件;目标虚拟机管理软件收到后将中断注入到目标核。Step 43: The interrupt routing is forwarded according to the interrupt type; for the same-machine device interrupt, the device interrupt mechanism is used for delivery; for the cross-physical machine device interrupt, the interrupt is sent to the interrupt route, which is responsible for delivering the interrupt to the target The hypervisor; the target hypervisor injects the interrupt into the target core after receiving it. 4.根据权利要求1所述的跨物理机的巨型虚拟机实现方法,其特征在于,所述步骤四包括以下步骤:4. The method for implementing a giant virtual machine across physical machines according to claim 1, wherein the step 4 comprises the following steps: 步骤四十一:运行在虚拟机操作系统上的应用访问或修改某个地址的页;Step 41: The application running on the virtual machine operating system accesses or modifies the page of a certain address; 步骤四十二:由硬件通过虚拟机操作系统的页表和虚拟机扩展页表进行查找,如果发生缺页,退出到虚拟机管理软件进行处理;Step 42: The hardware searches through the page table of the virtual machine operating system and the extended page table of the virtual machine. If a page missing occurs, exit to the virtual machine management software for processing; 步骤四十三:虚拟机管理软件处理缺页错误,如果发现当前缺页位于远程计算机,则向共享内存路由发送远程内存操作请求;Step 43: The virtual machine management software handles the page fault, and if the current page fault is found on the remote computer, it sends a remote memory operation request to the shared memory route; 步骤四十四:共享内存路由根据路由表对目标计算机进行远程内存操作;Step 44: The shared memory routing performs remote memory operations on the target computer according to the routing table; 步骤四十五:目标计算机向共享内存路由返回远程内存操作结果;Step 45: The target computer returns the remote memory operation result to the shared memory route; 步骤四十六:共享内存路由将远程内存操作返回的结果转发给虚拟机管理软件;Step 46: The shared memory routing forwards the result returned by the remote memory operation to the virtual machine management software; 步骤四十七:虚拟机管理软件将内存返回给虚拟机操作系统。Step 47: The virtual machine management software returns the memory to the virtual machine operating system.
CN201710639785.0A 2017-07-31 2017-07-31 Implementation method of giant virtual machine across physical machines Active CN107491340B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710639785.0A CN107491340B (en) 2017-07-31 2017-07-31 Implementation method of giant virtual machine across physical machines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710639785.0A CN107491340B (en) 2017-07-31 2017-07-31 Implementation method of giant virtual machine across physical machines

Publications (2)

Publication Number Publication Date
CN107491340A CN107491340A (en) 2017-12-19
CN107491340B true CN107491340B (en) 2020-07-14

Family

ID=60643958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710639785.0A Active CN107491340B (en) 2017-07-31 2017-07-31 Implementation method of giant virtual machine across physical machines

Country Status (1)

Country Link
CN (1) CN107491340B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108932154B (en) * 2018-07-23 2022-05-27 上海交通大学 Distributed virtual machine manager
CN111399973B (en) * 2019-01-03 2023-07-28 阿里巴巴集团控股有限公司 FPGA remote mounting structure, network management and control method and device and electronic equipment
CN110069440A (en) * 2019-03-11 2019-07-30 胡友彬 Meteorological ocean data Processing Algorithm Hardware system and method based on heterogeneous polynuclear
CN111090531B (en) * 2019-12-11 2023-08-04 杭州海康威视系统技术有限公司 Method for realizing distributed virtualization of graphic processor and distributed system
CN112783667B (en) * 2020-12-10 2023-08-15 中国科学院深圳先进技术研究院 Memory sharing system and method based on virtual environment
CN112748989A (en) * 2021-01-29 2021-05-04 上海交通大学 Virtual machine memory management method, system, terminal and medium based on remote memory

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101361036A (en) * 2005-12-23 2009-02-04 英特尔公司 Changing a scheduler in a virtual machine monitor
CN101751284A (en) * 2009-12-25 2010-06-23 北京航空航天大学 I/O resource scheduling method for distributed virtual machine monitor
CN103699428A (en) * 2013-12-20 2014-04-02 华为技术有限公司 Method and computer device for affinity binding of interrupts of virtual network interface card
CN103729234A (en) * 2013-12-20 2014-04-16 中电长城网际系统应用有限公司 Method and device for clustering management of virtual machines
CN104216726A (en) * 2013-06-04 2014-12-17 腾讯科技(深圳)有限公司 Loading method and device for Android virtual machine

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172603B2 (en) * 2011-11-15 2015-10-27 Nicira, Inc. WAN optimizer for logical networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101361036A (en) * 2005-12-23 2009-02-04 英特尔公司 Changing a scheduler in a virtual machine monitor
CN101751284A (en) * 2009-12-25 2010-06-23 北京航空航天大学 I/O resource scheduling method for distributed virtual machine monitor
CN104216726A (en) * 2013-06-04 2014-12-17 腾讯科技(深圳)有限公司 Loading method and device for Android virtual machine
CN103699428A (en) * 2013-12-20 2014-04-02 华为技术有限公司 Method and computer device for affinity binding of interrupts of virtual network interface card
CN103729234A (en) * 2013-12-20 2014-04-16 中电长城网际系统应用有限公司 Method and device for clustering management of virtual machines

Also Published As

Publication number Publication date
CN107491340A (en) 2017-12-19

Similar Documents

Publication Publication Date Title
CN107491340B (en) Implementation method of giant virtual machine across physical machines
US9519795B2 (en) Interconnect partition binding API, allocation and management of application-specific partitions
CN104094231B (en) For the system and method for the dynamic migration for supporting the virtual machine in InfiniBand network
US9497264B2 (en) Apparatus, method and system for aggregating computing resources
US10452580B2 (en) Method and system for providing remote direct memory access to virtual machines
WO2017114283A1 (en) Method and apparatus for processing read/write request in physical host
US11914556B2 (en) Lazy virtual filesystem instantiation and caching
US10691477B2 (en) Virtual machine live migration using intelligent order of pages to transfer
US10367688B2 (en) Discovering changes of network interface controller names
CN103530167A (en) Virtual machine memory data migration method and relevant device and cluster system
US11860792B2 (en) Memory access handling for peripheral component interconnect devices
CN104199718A (en) Dispatching method of virtual processor based on NUMA high-performance network cache resource affinity
US12282791B2 (en) Virtualized I/O
CN107168771A (en) A kind of scheduling virtual machine device and method under Non Uniform Memory Access access architectures
US10873630B2 (en) Server architecture having dedicated compute resources for processing infrastructure-related workloads
CN106095576A (en) Under virtualization multi-core environment, nonuniformity I/O accesses resources of virtual machine moving method
WO2022001808A1 (en) System and interrupt processing method
Smolyar et al. Ioctopus: Outsmarting nonuniform dma
JP6523425B2 (en) Processing stream-based events using virtual streams and processing agents
US20190042456A1 (en) Multibank cache with dynamic cache virtualization
Ge et al. Memory sharing for handling memory overload on physical machines in cloud data centers
US20220035649A1 (en) Event notification support for nested virtual machines
CN108762891A (en) A kind of cloud platform resource regulating method and device
US11983555B2 (en) Storage snapshots for nested virtual machines
US12423132B2 (en) Efficient queue shadowing for virtual machines

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