WO2012163017A1 - Method for processing access exception of distributed virtual machine and virtual machine monitor - Google Patents

Method for processing access exception of distributed virtual machine and virtual machine monitor Download PDF

Info

Publication number
WO2012163017A1
WO2012163017A1 PCT/CN2011/081116 CN2011081116W WO2012163017A1 WO 2012163017 A1 WO2012163017 A1 WO 2012163017A1 CN 2011081116 W CN2011081116 W CN 2011081116W WO 2012163017 A1 WO2012163017 A1 WO 2012163017A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machine
access
subpage
memory
current instruction
Prior art date
Application number
PCT/CN2011/081116
Other languages
French (fr)
Chinese (zh)
Inventor
邱军
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to CN2011800021229A priority Critical patent/CN102439567A/en
Priority to PCT/CN2011/081116 priority patent/WO2012163017A1/en
Publication of WO2012163017A1 publication Critical patent/WO2012163017A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/109Address translation for multiple virtual address spaces, e.g. segmentation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/151Emulated environment, e.g. virtual machine

Definitions

  • the present invention relates to the field of computer technologies, and in particular, to a processing method for a distributed virtual machine access exception and a virtual machine monitor. Background technique
  • a virtual machine is a complete computer system that runs through a software and has a complete hardware system function and runs in a completely isolated environment.
  • Distributed virtualization technology is a technology that reassembles resources from multiple physical machines into a virtual machine in a virtual way. When the operating system installed on the virtual machine runs and uses these virtual resources, it is deployed in each A distributed virtual machine monitor (D VMM) on a physical machine intercepts sensitive access behaviors to ensure the correct use of virtual resources by virtual machines.
  • D VMM distributed virtual machine monitor
  • DSM Distributed Shared Memory
  • DVMM capture processor access to remote memory or local cache requires the use of a processor's Page Fault (PF) or Nested Page Fault (Nested Page Fault) mechanisms, and these exceptions are physical Page size (for example, 4KB, 2MB, or 1 GB) is generated, that is, the processor accessing any data in this physical page will generate an exception, which leads to False Sharing.
  • PF Page Fault
  • Nested Page Fault Nested Page Fault
  • the processor on two different physical nodes needs to access one byte of the same memory address. In order to maintain the memory of this byte, the DSM is consistent with the two processors, and the processor needs to intercept the memory address.
  • the technical problem to be solved by the embodiments of the present invention is to provide a processing method for a distributed virtual machine access exception and a virtual machine monitor, which can reduce the generation of false sharing, thereby improving the performance of the distributed virtual machine memory.
  • a method for processing a distributed virtual machine access exception includes:
  • the memory can access the subpage where the access exception occurs and re-execute the current instruction.
  • a virtual machine monitor including:
  • a sub-page search module configured to obtain an in-page offset address of a sub-page of a physical page in which an access abnormality occurs according to an address of a physical page that accesses an abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the page Internal offset address, find a subpage where an access exception occurs, and the physical page includes several subpages;
  • An access authority determining module configured to determine whether the virtual machine has the access right of the subpage with the abnormal access,
  • a distributed shared memory configured to determine, in the virtual machine, the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, and enable the virtual machine memory to access the subpage with the access exception And re-execute the current instruction
  • An instruction emulation execution module configured to: execute, by the virtual machine, an access permission of the subpage having the access exception, execute the current instruction, and return an execution result to a virtual machine execution context, so that the virtual machine completes The execution of the current instruction.
  • a distributed virtual machine includes a plurality of physical servers connected through a network, and each of the physical servers is provided with a virtual machine monitor, and the virtual machine monitor includes:
  • a sub-page search module configured to obtain an in-page offset address of a sub-page of a physical page in which an access abnormality occurs according to an address of a physical page that accesses an abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the page Internal offset address, find a subpage where an access exception occurs, and the physical page includes several subpages;
  • An access authority determining module configured to determine whether the virtual machine has the access permission of the subpage with the abnormal access
  • a distributed shared memory configured to determine, in the virtual machine, the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, and enable the virtual machine memory to access the subpage with the access exception And re-execute the current instruction
  • An instruction emulation execution module configured to: execute, by the virtual machine, an access permission of the subpage having the access exception, execute the current instruction, and return an execution result to a virtual machine execution context, so that the virtual machine completes The execution of the current instruction.
  • the controller divides the physical page into several sub-pages, and when an access exception occurs on the physical page, other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing the occurrence of sharing.
  • the virtual machine memory can access the subpage having the access exception; when determining the access authority of the subpage, simulating the execution of the current access exception instruction, and returning the execution result to the virtual machine execution context, so that the The virtual machine completes the execution of the current instruction, which can effectively solve the access exception problem and improve the performance of the virtual machine memory.
  • FIG. 2 is a schematic diagram of a virtual machine monitor according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of a command simulation execution module in an embodiment of the present invention.
  • a pseudo-machine monitor can reduce the generation of false shares, thereby improving the performance of distributed virtual machine memory.
  • the first embodiment of the server comprises: a central processing unit (CPU), a virtual machine memory, a network card, and a high-speed input/output (I/O) device.
  • each physical server is provided with a virtual machine monitor, and the virtual machine monitors communicate with each other, so that the processor of each physical server can access the resources of other physical servers, thereby forming a virtual Aggregated hardware platform.
  • the virtual machine memory is an isolated, zero-based and contiguous pseudo-physical memory space for the virtual machine. This memory space corresponds to a piece of physical memory allocated by each physical server.
  • the virtual machine monitor establishes a distributed virtual machine on each physical server.
  • the P2M (Pseudo-physical Address to Machine Physical Address) table converts the GFN into an MFN.
  • a part of the GFN in the P2M table is mapped to the memory of the local server; since the processor of the local physical server cannot directly access the memory of other physical servers, the GFN mapping mapping the memory of other physical servers is cached locally, and this cache stores the memory on the remote physical server. Content. In order to ensure the consistency of the local cache and remote memory, you need to set the distributed shared memory in the virtual machine monitor.
  • This embodiment provides a processing method for a distributed virtual machine access exception. As shown in FIG. 1, the method includes:
  • Step 101 An access address occurs when the virtual machine executes the current instruction and accesses the virtual machine memory, and finds a subpage with an access exception according to the in-page offset address, where the physical page includes several subpages.
  • the DSM needs to intercept this processor's access to this memory address.
  • This embodiment divides the physical page into a number of sub-pages to reduce the intercept granularity and assign sub-page addresses to the sub-pages. Therefore, when an access exception occurs on a physical page, a subpage with an exception can be found, and other subpages other than the subpage where the access exception occurs in the physical page can be normally accessed, thereby greatly improving the efficiency of the memory. , reducing the phenomenon of false sharing.
  • the in-page offset address refers to the address of the subpage relative to the physical page where it is located, that is, the difference between the subpage address and the start address of the physical page. Access The address of the abnormal physical page minus the starting address of the physical page is the offset address of the subpage where the exception occurred. Based on the calculated in-page offset address, you can find the subpage where the access exception occurred.
  • Step 102 Determine whether the virtual machine has the access right of the subpage where the access abnormality occurs.
  • the embodiment sets a sub-page management module in the virtual machine monitor for storing the permission information of the sub-pages, as shown in FIG. 2, wherein the physical page permissions are all sub-pages. Permissions for the least privileged subpage.
  • the permission information includes Read Write, Read Only, and Unreadable (INV), and the level of permissions decreases. Per-page permissions can be changed through distributed shared memory. The permissions information for a subpage is updated when the virtual machine monitor maintains shared memory consistency.
  • a processor needs to write to the virtual machine memory, after reading the contents of the subpage management module, it is found that the permission to access the abnormal subpage is readable and unwritable, that is, the processor cannot access the memory. The write operation is performed, so the processor at this time does not have access to this subpage.
  • Step 103 If the virtual machine does not have the access permission of the subpage that has an access exception, repair the subpage where the access exception occurs, enable the virtual machine memory to access the subpage with the access exception and re-execute the current instruction. .
  • the virtual machine monitor After determining that the access permission of the abnormal subpage is not accessed, the virtual machine monitor calls the distributed shared memory to repair the subpage, so that the subpage can be accessed by the virtual machine memory, that is, the permission of the subpage is modified to be Read or writable. After the repair is completed, the virtual machine's processor re-executes the abnormal instruction. Since the virtual machine memory is readable or writable, the instruction can be executed smoothly, reducing the time for the virtual machine monitor to handle the exception.
  • Step 104 If the virtual machine has the access permission of the subpage that has an access exception, execute the current instruction, and return the execution result to the virtual machine execution context. The virtual machine completes execution of the current instruction.
  • the context is a static description of the whole process of the process execution activity.
  • the contents of the executed process instructions and data in the relevant registers and the stack are referred to as the above, and the contents of the executed instructions and data in the registers and the stack are called
  • the text, the contents of the instructions and data to be executed in the register and the stack are referred to below.
  • the virtual machine execution context in this embodiment includes virtual machine registers, content in virtual machine memory, and virtual machine control information.
  • the virtual machine monitor After determining that the virtual machine has access rights to access the abnormal subpage, the virtual machine monitor further executes the current instruction, and returns the execution result to the virtual machine execution context, so that the virtual machine completes execution of the current instruction, the virtual machine After receiving the instruction simulation result, execute the next instruction of the current instruction.
  • the virtual machine memory saves the original execution result of the current instruction
  • the current instruction is decoded to obtain the instruction operation code and the operand; according to the instruction operation code, the corresponding operation is performed on the operand, and after the operation is successful, a new execution result is obtained, and the operand related to the current instruction is obtained. Update to the virtual machine execution context.
  • the process returns from the virtual machine monitor to the virtual machine and updates the execution results saved in the execution context of the virtual machine.
  • the virtual machine monitor can replace the virtual machine to process the abnormal access instruction, and can quickly repair the abnormal virtual machine memory, thereby improving the efficiency of the virtual machine memory.
  • the embodiment further includes the following steps;
  • Step 105 Determine whether there is an access right of the memory operand of the current instruction, and step 106, if there is no access right of the memory operand of the current instruction, repair the subpage where the memory operand is located, so that the Memory operands can be accessed. After repairing the subpage where the memory operand is located, the virtual machine monitor can execute the current access exception instruction.
  • the embodiment provides a virtual machine monitoring machine, as shown in FIG. 2, including: a subpage search module 1 1 , an access authority judging module 12, a distributed shared memory 13 and an instruction emulation execution module 14 , wherein
  • the sub-page search module 1 1 is configured to obtain an intra-page offset address of a sub-page of the physical page where the access abnormality occurs, according to the address of the physical page where the abnormality occurs when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the Describe an in-page offset address, find a subpage where an access exception occurs, and the physical page includes a plurality of subpages;
  • the access authority judging module 12 is configured to determine whether the virtual machine has the access right of the sub-page with the abnormal access
  • the distributed shared memory 13 is configured to: when determining that the virtual machine does not have the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, so that the virtual machine memory can access the subpage with the access exception and Re-execute the current instruction;
  • the instruction simulation execution module 14 is configured to: when determining that the virtual machine has the access authority of the subpage having the access exception, execute the current instruction, and return the execution result to the virtual machine execution context, so that the virtual machine completes the Execution of the current instruction.
  • the virtual machine execution context in this embodiment includes a virtual machine register, a content in a virtual machine memory, and a virtual machine control letter. Interest.
  • the access authority determining module 12 is further configured to: determine whether the access authority of the memory operand of the current instruction is available;
  • the distributed shared memory 13 is further configured to: when determining that there is no access permission of the memory operand, repair a subpage where the memory operand is located, so that the memory operand can be accessed.
  • the virtual machine monitoring machine of this embodiment further includes a subpage management module 10 for storing permission information of the subpage.
  • the access authority determining module 12 is further configured to read the permission information of the subpage in the subpage management module, and the access authority of the physical page is not greater than the access authority of the subpage included in the subpage.
  • the rights information includes: readable and writable, readable and writable, and unreadable and unwritable.
  • the instruction emulation execution module 14 of this embodiment specifically includes: a decoding unit 141, configured to decode the current instruction according to the instruction set encoding, to obtain an instruction opcode and an operand;
  • the executing unit 142 is configured to perform a corresponding operation on the operand according to the instruction opcode. After the operation is successful, the execution result is obtained, and the operand related to the current instruction is updated to the virtual machine execution context.
  • the virtual machine monitoring machine of this embodiment when the physical page is divided into a plurality of sub-pages, when an access abnormality occurs on the physical page, other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing the occurrence of the false sharing.
  • the access authority judgment module when determining that the virtual machine does not have access rights to access the abnormal subpage, the distributed shared memory repairs the subpage that accesses the exception, so that the subpage with the access exception is allowed to be accessed by the virtual machine memory;
  • the instruction emulation execution module executes the current instruction, and the execution result is executed. Returning to the virtual machine execution context, enabling the virtual machine to complete the execution of the current instruction, effectively solving the access exception and improving the performance of the virtual machine memory.
  • the embodiment provides a distributed virtual machine.
  • the system includes a plurality of physical servers connected through a network.
  • Each of the physical servers is provided with a virtual machine monitor.
  • the virtual machine monitor includes:
  • the sub-page search module 1 1 is configured to obtain an intra-page offset address of a sub-page of the physical page where the access abnormality occurs, according to the address of the physical page where the abnormality occurs when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the Describe an in-page offset address, find a subpage where an access exception occurs, and the physical page includes a plurality of subpages;
  • the access authority judging module 12 is configured to determine whether the virtual machine has the access right of the sub-page with the abnormal access
  • the distributed shared memory 13 is configured to: when determining that the virtual machine does not have the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, so that the virtual machine memory can access the subpage with the access exception and Re-execute the current instruction;
  • the instruction simulation execution module 14 is configured to: when determining that the virtual machine has the access authority of the subpage having the access exception, execute the current instruction, and return the execution result to the virtual machine execution context, so that the virtual machine completes the Execution of the current instruction.
  • the virtual machine execution context in this embodiment includes virtual machine registers, content in virtual machine memory, and virtual machine control information.
  • the virtual machine monitor of this embodiment further includes:
  • a subpage management module 10 configured to store permission information of the subpage
  • the communication module 15 is configured to implement communication between the virtual machine monitors in the distributed virtual machine to ensure consistency of information in the same memory address on different physical servers.
  • the working principle of each part of the virtual machine monitoring machine of this embodiment is similar to that of the first embodiment, and is no longer
  • the distributed virtual machine in this embodiment divides the physical page into a plurality of sub-pages, and when an access abnormality occurs on the physical page, the other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing the occurrence of the false sharing.
  • the access authority judgment module of the virtual machine monitor when the virtual machine does not have the access right of the access subpage of the abnormality, the distributed shared memory repairs the subpage that accesses the abnormality, so that the subpage that has the access abnormality is allowed to be virtualized.
  • the instruction emulation execution module executes the current instruction, and returns the execution result to the virtual machine execution context, so that the virtual machine completes the execution of the current instruction, which can be effective Resolve access exceptions and improve the performance of virtual machine memory.
  • the present invention can be implemented by means of software plus necessary general hardware, and of course, by hardware, but in many cases, the former is a better implementation. .
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer.
  • a hard disk or optical disk or the like includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

Disclosed are a method for processing access exception of a distributed virtual machine and a virtual machine monitor, which relate to the technical field of computers and can reduce the occurrence of false sharing, thereby improving the performance of a memory of the distributed virtual machine. The method for processing access exception of a distributed virtual machine provided by the embodiment of the present invention comprises: finding a subpage where access exception occurs according to an address of a physical page where the access exception occurs when the virtual machine executes a current instruction and accesses a memory of the virtual machine; judging whether the virtual machine has the right to access the subpage where the access exception occurs; if the virtual machine does not have the access right, repairing the subpage where the access exception occurs, so that the memory of the virtual machine can access the subpage where the access exception occurs and re-execute the current instruction; and if the virtual machine has the access right, executing the current instruction, and returning an execution result to a virtual machine execution context, so that the virtual machine completes the execution of the current instruction.

Description

分布式虚拟机访问异常的处理方法以及虚拟机监控器 技术领域  Distributed virtual machine access exception processing method and virtual machine monitor
本发明涉及计算机技术领域, 尤其涉及一种分布式虚拟机访问异 常的处理方法以及虚拟机监控器。 背景技术  The present invention relates to the field of computer technologies, and in particular, to a processing method for a distributed virtual machine access exception and a virtual machine monitor. Background technique
虚拟机( Virtual Machine , 简称 VM )指通过软件模拟的具有完整 硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。分布 式虚拟化技术是一种将来自多台物理机器的资源以虚拟的方式重新组 合成一台虚拟机的技术,当安装在虚拟机上的操作系统运行和使用这些 虚拟资源时,部署在每台物理机器上的分布式虚拟机监控器 (Distributed Virtual Machine Monitor, 简称 D VMM)会截获敏感的访问行为, 以保证 虚拟机对虚拟资源使用的正确性。  A virtual machine (VM) is a complete computer system that runs through a software and has a complete hardware system function and runs in a completely isolated environment. Distributed virtualization technology is a technology that reassembles resources from multiple physical machines into a virtual machine in a virtual way. When the operating system installed on the virtual machine runs and uses these virtual resources, it is deployed in each A distributed virtual machine monitor (D VMM) on a physical machine intercepts sensitive access behaviors to ensure the correct use of virtual resources by virtual machines.
由于每台物理机器上的处理器只能访问本地的内存, 因此, DVMM 需要截获虚拟机对远程内存或远程内存对本地緩存 ( cache ) 的访问, 并将这些访问事件交给分布式共享内存 ( Distributed Shared Memory, 简称 DSM ) 处理, 以维护本地緩存与远程内存的正确性和一致性 ( Consistent and Coherent ) 。  Since the processor on each physical machine can only access local memory, DVMM needs to intercept the virtual machine's access to the local cache (cache) of remote memory or remote memory, and hand these access events to distributed shared memory ( Distributed Shared Memory (DSM) processing to maintain the correctness and consistency of local cache and remote memory ( Consistent and Coherent).
一般情况下, D V M M捕获处理器对远程内存或本地緩存的访问需 要使用处理器的页面异常(Page Fault,简称 PF)或嵌套的页异常(Nested Page Fault ) 等机制, 而这些异常是以物理页大小为单位 (例如 4KB、 2MB或 1 GB ) 产生, 即处理器访问此物理页内的任一数据都会产生异 常, 这就导致了假共享问题 (False Sharing)。 又如极端的情况, 两个不 同物理节点上的处理器需要访问同一内存地址的一个字节, DSM为了 维护这个字节的内存对两个处理器是一致的,需要截获处理器对这个内 存地址的访问, 又因为内存截获是以物理页为单位的, 导致处理器对此 物理页中实际共享的地址之外的其他字节的访问也产生内存异常(无权 限访问) , 使 DSM触发处理维持共享内存一致性的过程。 假共享降低 了 DVMM中緩存的利用率, 增加了无意义的网络通信, 加重远程内存 访问迟延, 进而影响分布式虚拟机内存性能。 In general, DVMM capture processor access to remote memory or local cache requires the use of a processor's Page Fault (PF) or Nested Page Fault (Nested Page Fault) mechanisms, and these exceptions are physical Page size (for example, 4KB, 2MB, or 1 GB) is generated, that is, the processor accessing any data in this physical page will generate an exception, which leads to False Sharing. In the extreme case, the processor on two different physical nodes needs to access one byte of the same memory address. In order to maintain the memory of this byte, the DSM is consistent with the two processors, and the processor needs to intercept the memory address. Access, and because memory capture is in physical pages, causing the processor to Access to other bytes than the actual shared address in the physical page also creates a memory exception (no access) that causes the DSM to trigger processing to maintain shared memory consistency. False sharing reduces the cache utilization in DVMM, increases meaningless network communication, and increases remote memory access latency, which in turn affects distributed virtual machine memory performance.
发明内容 Summary of the invention
本发明的实施例所要解决的技术问题在于提供一种分布式虚拟机访 问异常的处理方法以及虚拟机监控器, 能够减少假共享的产生, 从而提 高了分布式虚拟机内存的性能。  The technical problem to be solved by the embodiments of the present invention is to provide a processing method for a distributed virtual machine access exception and a virtual machine monitor, which can reduce the generation of false sharing, thereby improving the performance of the distributed virtual machine memory.
为解决上述技术问题, 本发明的实施例釆用如下技术方案: 一种分布式虚拟机访问异常的处理方法, 包括:  To solve the above technical problem, the embodiment of the present invention uses the following technical solution: A method for processing a distributed virtual machine access exception includes:
根据虚拟机执行当前指令并访问虚拟机内存时出现访问异常的物 据所述页内偏移地址, 找到出现访问异常的子页, 所述物理页包括若干 个子页;  Obtaining an access exception according to the in-page offset address according to the in-page offset address when the virtual machine executes the current instruction and accesses the virtual machine memory, and the physical page includes a plurality of subpages;
判断所述虚拟机是否具有所述出现访问异常的子页的访问权限, 若所述虚拟机没有所述出现访问异常的子页的访问权限, 修复所 述出现访问异常的子页, 使虚拟机内存能够访问所述出现访问异常的子 页并重新执行当前指令,  Determining whether the virtual machine has the access right of the sub-page with the access exception, and if the virtual machine does not have the access right of the sub-page with the access exception, repairing the sub-page with the access exception, and making the virtual machine The memory can access the subpage where the access exception occurs and re-execute the current instruction.
若所述虚拟机具有所述出现访问异常的子页的访问权限, 执行所 述当前指令, 并将执行结果返回给虚拟机执行上下文, 使所述虚拟机完 成所述当前指令的执行。  And if the virtual machine has the access right of the subpage having the access exception, executing the current instruction, and returning the execution result to the virtual machine execution context, so that the virtual machine completes execution of the current instruction.
一种虚拟机监控器, 包括:  A virtual machine monitor, including:
子页查找模块, 用于根据虚拟机执行当前指令并访问虚拟机内存 时出现访问异常的物理页的地址, 获得出现访问异常的物理页的子页的 页内偏移地址, 并根据所述页内偏移地址, 找到出现访问异常的子页, 所述物理页包括若干个子页; 访问权限判断模块, 用于判断所述虚拟机是否具有所述出现访问 异常的子页的访问权限, a sub-page search module, configured to obtain an in-page offset address of a sub-page of a physical page in which an access abnormality occurs according to an address of a physical page that accesses an abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the page Internal offset address, find a subpage where an access exception occurs, and the physical page includes several subpages; An access authority determining module, configured to determine whether the virtual machine has the access right of the subpage with the abnormal access,
分布式共享内存, 用于在判断所述虚拟机没有所述出现访问异常 的子页的访问权限, 修复所述出现访问异常的子页, 使虚拟机内存能够 访问所述出现访问异常的子页并重新执行当前指令,  a distributed shared memory, configured to determine, in the virtual machine, the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, and enable the virtual machine memory to access the subpage with the access exception And re-execute the current instruction,
指令模拟执行模块, 用于在判断所述虚拟机具有所述出现访问异 常的子页的访问权限, 执行所述当前指令, 并将执行结果返回给虚拟机 执行上下文, 使所述虚拟机完成所述当前指令的执行。  An instruction emulation execution module, configured to: execute, by the virtual machine, an access permission of the subpage having the access exception, execute the current instruction, and return an execution result to a virtual machine execution context, so that the virtual machine completes The execution of the current instruction.
一种分布式虚拟机, 包括多个通过网络连接的物理服务器, 每台 所述物理服务器上均设有虚拟机监控器, 所述虚拟机监控器包括:  A distributed virtual machine includes a plurality of physical servers connected through a network, and each of the physical servers is provided with a virtual machine monitor, and the virtual machine monitor includes:
子页查找模块, 用于根据虚拟机执行当前指令并访问虚拟机内存 时出现访问异常的物理页的地址, 获得出现访问异常的物理页的子页的 页内偏移地址, 并根据所述页内偏移地址, 找到出现访问异常的子页, 所述物理页包括若干个子页;  a sub-page search module, configured to obtain an in-page offset address of a sub-page of a physical page in which an access abnormality occurs according to an address of a physical page that accesses an abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the page Internal offset address, find a subpage where an access exception occurs, and the physical page includes several subpages;
访问权限判断模块, 用于判断所述虚拟机是否具有所述出现访问 异常的子页的访问权限,  An access authority determining module, configured to determine whether the virtual machine has the access permission of the subpage with the abnormal access,
分布式共享内存, 用于在判断所述虚拟机没有所述出现访问异常 的子页的访问权限, 修复所述出现访问异常的子页, 使虚拟机内存能够 访问所述出现访问异常的子页并重新执行当前指令,  a distributed shared memory, configured to determine, in the virtual machine, the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, and enable the virtual machine memory to access the subpage with the access exception And re-execute the current instruction,
指令模拟执行模块, 用于在判断所述虚拟机具有所述出现访问异 常的子页的访问权限, 执行所述当前指令, 并将执行结果返回给虚拟机 执行上下文, 使所述虚拟机完成所述当前指令的执行。 控器, 通过将物理页划分为若干个子页, 在物理页出现访问异常时, 使出 现访问异常的子页以外的其他子页能够被正常访问, 减少了 4叚共享的发生, 虚拟机内存能够访问所述出现访问异常的子页; 在判断具有所述子页的 访问权限时, 模拟执行当前所述访问异常的指令, 并将执行结果返回给 虚拟机执行上下文, 使所述虚拟机完成所述当前指令的执行, 能够有效 解决访问异常问题, 提高了虚拟机内存的性能。 An instruction emulation execution module, configured to: execute, by the virtual machine, an access permission of the subpage having the access exception, execute the current instruction, and return an execution result to a virtual machine execution context, so that the virtual machine completes The execution of the current instruction. The controller divides the physical page into several sub-pages, and when an access exception occurs on the physical page, other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing the occurrence of sharing. The virtual machine memory can access the subpage having the access exception; when determining the access authority of the subpage, simulating the execution of the current access exception instruction, and returning the execution result to the virtual machine execution context, so that the The virtual machine completes the execution of the current instruction, which can effectively solve the access exception problem and improve the performance of the virtual machine memory.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对 实施例描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的 附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出 创造性劳动的前提下, 还可以根据这些附图获得其他的附图。 示意图;  In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only the present invention. For some embodiments, other drawings may be obtained from those of ordinary skill in the art without departing from the drawings. Schematic diagram
图 2为本发明实施例中虚拟机监控器的示意图;  2 is a schematic diagram of a virtual machine monitor according to an embodiment of the present invention;
图 3为本发明实施例中指令模拟执行模块的示意图;  3 is a schematic diagram of a command simulation execution module in an embodiment of the present invention;
具体实施方式 拟机监控器, 能够减少假共享的产生, 从而提高了分布式虚拟机内存的 性能。 DETAILED DESCRIPTION A pseudo-machine monitor can reduce the generation of false shares, thereby improving the performance of distributed virtual machine memory.
下面结合附图对本发明实施例做详细描述。  The embodiments of the present invention are described in detail below with reference to the accompanying drawings.
实施例一 理服务器组成,具体包括: 处理器( Central Processing Unit, 简称 CPU )、 虚拟机内存、 网卡和高速输入输出 (I/O )设备。 此外, 每个物理服务器 上均设有虚拟机监控器, 通过虚拟机监控器之间相互通信, 使得每个物 理服务器的处理器可以访问其他物理服务器的资源, 进而组成一个虚拟 的聚合的硬件平台。 The first embodiment of the server comprises: a central processing unit (CPU), a virtual machine memory, a network card, and a high-speed input/output (I/O) device. In addition, each physical server is provided with a virtual machine monitor, and the virtual machine monitors communicate with each other, so that the processor of each physical server can access the resources of other physical servers, thereby forming a virtual Aggregated hardware platform.
虚拟机内存对于虚拟机来说是一个隔离的、 从零开始且具有连续 性的伪物理内存空间, 这个内存空间分别对应各物理服务器分配的一段 物理内存。 虚拟机监控器在每个物理服务器上为分布式虚拟机建立一个 The virtual machine memory is an isolated, zero-based and contiguous pseudo-physical memory space for the virtual machine. This memory space corresponds to a piece of physical memory allocated by each physical server. The virtual machine monitor establishes a distributed virtual machine on each physical server.
P2M ( Pseudo-physical Address to Machine Physical Address , 虚拟机伪 地址到机器物理地址的映射关系)表, 将 GFN转换成 MFN。 P2M表中 一部分 GFN 映射到本地服务器的内存; 由于本地物理服务器的处理器 不能直接访问其他物理服务器的内存, 因此映射其他物理服务器内存的 GFN映射在本地緩存, 这个緩存存储了远程物理服务器上内存的内容。 为了保证本地緩存和远程内存的一致性, 需要在虚拟机监控器中设置分 布式共享内存。 The P2M (Pseudo-physical Address to Machine Physical Address) table converts the GFN into an MFN. A part of the GFN in the P2M table is mapped to the memory of the local server; since the processor of the local physical server cannot directly access the memory of other physical servers, the GFN mapping mapping the memory of other physical servers is cached locally, and this cache stores the memory on the remote physical server. Content. In order to ensure the consistency of the local cache and remote memory, you need to set the distributed shared memory in the virtual machine monitor.
本实施例提供一种分布式虚拟机访问异常的处理方法, 如图 1 所 示, 该方法包括:  This embodiment provides a processing method for a distributed virtual machine access exception. As shown in FIG. 1, the method includes:
步骤 101、根据虚拟机执行当前指令并访问虚拟机内存时出现访问 址, 并根据所述页内偏移地址, 找到出现访问异常的子页, 所述物理页 包括若干个子页。  Step 101: An access address occurs when the virtual machine executes the current instruction and accesses the virtual machine memory, and finds a subpage with an access exception according to the in-page offset address, where the physical page includes several subpages.
当某一物理服务器上的处理器访问虚拟机内存地址中的数据时, When a processor on a physical server accesses data in the virtual machine's memory address,
DSM需要截获此处理器对这个内存地址的访问。 本实施例将物理页划 分为若干个子页(sub-page) , 以减小截获粒度, 并为子页分配子页地址。 因此, 当物理页出现访问异常时, 可查找到出现异常的子页, 物理页中 除出现访问异常的子页之外的其他子页均可正常访问,通过这种方式大 大提高了内存的效率, 减少了假共享现象。 The DSM needs to intercept this processor's access to this memory address. This embodiment divides the physical page into a number of sub-pages to reduce the intercept granularity and assign sub-page addresses to the sub-pages. Therefore, when an access exception occurs on a physical page, a subpage with an exception can be found, and other subpages other than the subpage where the access exception occurs in the physical page can be normally accessed, thereby greatly improving the efficiency of the memory. , reducing the phenomenon of false sharing.
由于内存地址的访问是以字节为单位的, 因此, 为了找到出现异 常的子页, 需要获得子页的页内偏移地址。 页内偏移地址是指子页相对 于所在的物理页的地址, 即子页地址与物理页的起始地址的差值。访问 异常的物理页的地址减去物理页的起始地址即为出现异常的子页的偏 移地址。 根据计算出的页内偏移地址, 便可找到出现访问异常的子页。 Since the access to the memory address is in bytes, in order to find the subpage where the exception occurs, the in-page offset address of the subpage needs to be obtained. The in-page offset address refers to the address of the subpage relative to the physical page where it is located, that is, the difference between the subpage address and the start address of the physical page. Access The address of the abnormal physical page minus the starting address of the physical page is the offset address of the subpage where the exception occurred. Based on the calculated in-page offset address, you can find the subpage where the access exception occurred.
步骤 102、判断虚拟机是否具有所述出现访问异常的子页的访问权 限。  Step 102: Determine whether the virtual machine has the access right of the subpage where the access abnormality occurs.
在根据子页的页内偏移地址找到出现访问异常的子页后, 判断是 否具有这个子页的访问权限。 为了方便子页的管理, 本实施例在虚拟机 监控器中设置子页管理模块, 用于存储所述子页的权限信息, 如图 2所 示, 其中, 物理页的权限为所有子页中权限最低的子页的权限。 一般情 况下, 权限信息包括可读可写 (Read Write ) 、 可读不可写 (Read only ) 和不可读不可写 (INV ) , 权限的级别依次降低。 子页的权限可通过分 布式共享内存进行更改。 子页的权限信息在虚拟机监控器维持共享内存 一致性时被更新。  After finding the subpage where the access exception occurs based on the in-page offset address of the subpage, it is judged whether or not the subpage has access authority. In order to facilitate the management of the sub-pages, the embodiment sets a sub-page management module in the virtual machine monitor for storing the permission information of the sub-pages, as shown in FIG. 2, wherein the physical page permissions are all sub-pages. Permissions for the least privileged subpage. In general, the permission information includes Read Write, Read Only, and Unreadable (INV), and the level of permissions decreases. Per-page permissions can be changed through distributed shared memory. The permissions information for a subpage is updated when the virtual machine monitor maintains shared memory consistency.
举例来说, 若某处理器需要对虚拟机内存进行写操作, 在读取子 页管理模块中的内容后, 发现出现访问异常的子页的权限为可读不可 写, 即处理器不能对内存进行写操作, 因此, 此时的处理器不具有这个 子页的访问权限。  For example, if a processor needs to write to the virtual machine memory, after reading the contents of the subpage management module, it is found that the permission to access the abnormal subpage is readable and unwritable, that is, the processor cannot access the memory. The write operation is performed, so the processor at this time does not have access to this subpage.
步骤 103、 若所述虚拟机没有所述出现访问异常的子页的访问权 限, 修复所述出现访问异常的子页, 使虚拟机内存能够访问所述出现访 问异常的子页并重新执行当前指令。  Step 103: If the virtual machine does not have the access permission of the subpage that has an access exception, repair the subpage where the access exception occurs, enable the virtual machine memory to access the subpage with the access exception and re-execute the current instruction. .
在判断没有访问异常的子页的访问权限后, 虚拟机监控器调用分 布式共享内存修复所述子页, 使所述子页能够被虚拟机内存访问, 即将 所述子页的权限修改为可读或者可写。 修复完毕后, 虚拟机的处理器重 新执行出现异常的指令, 由于涉及的虚拟机内存已可读或者可写, 因此, 指令可以被顺利的执行, 减少了虚拟机监控器处理异常的时间。  After determining that the access permission of the abnormal subpage is not accessed, the virtual machine monitor calls the distributed shared memory to repair the subpage, so that the subpage can be accessed by the virtual machine memory, that is, the permission of the subpage is modified to be Read or writable. After the repair is completed, the virtual machine's processor re-executes the abnormal instruction. Since the virtual machine memory is readable or writable, the instruction can be executed smoothly, reducing the time for the virtual machine monitor to handle the exception.
步骤 104、 若所述虚拟机具有所述出现访问异常的子页的访问权 限, 执行所述当前指令, 并将执行结果返回给虚拟机执行上下文, 使所 述虚拟机完成所述当前指令的执行。 Step 104: If the virtual machine has the access permission of the subpage that has an access exception, execute the current instruction, and return the execution result to the virtual machine execution context. The virtual machine completes execution of the current instruction.
上下文是进程执行活动全过程的静态描述, 通常把已执行过的进 程指令和数据在相关寄存器与堆栈中的内容称为上文, 把正在执行的指 令和数据在寄存器和堆栈中的内容称为正文, 把待执行的指令和数据在 寄存器与堆栈中的内容称为下文。 本实施例中的虚拟机执行上下文包括 虚拟机寄存器、 虚拟机内存中的内容和虚拟机控制信息。  The context is a static description of the whole process of the process execution activity. Usually, the contents of the executed process instructions and data in the relevant registers and the stack are referred to as the above, and the contents of the executed instructions and data in the registers and the stack are called The text, the contents of the instructions and data to be executed in the register and the stack are referred to below. The virtual machine execution context in this embodiment includes virtual machine registers, content in virtual machine memory, and virtual machine control information.
在判断虚拟机具有访问异常的子页的访问权限后, 虚拟机监控器 进一步执行当前指令, 并将执行结果返回给虚拟机执行上下文, 使所述 虚拟机完成所述当前指令的执行, 虚拟机在接收到指令模拟结果后, 执 行当前指令的下一条指令。  After determining that the virtual machine has access rights to access the abnormal subpage, the virtual machine monitor further executes the current instruction, and returns the execution result to the virtual machine execution context, so that the virtual machine completes execution of the current instruction, the virtual machine After receiving the instruction simulation result, execute the next instruction of the current instruction.
虚拟机监控器模拟执行当前访问异常的指令的过程如下:  The process of the virtual machine monitor emulating the instruction to execute the current access exception is as follows:
虚拟机内存保存当前指令的原始的执行结果;  The virtual machine memory saves the original execution result of the current instruction;
根据指令集编码将当前指令进行译码, 得到指令操作码和操作数; 根据指令操作码对操作数执行相应的操作, 操作成功后, 得到新 的执行结果, 并将与当前指令相关的操作数更新至虚拟机执行上下文。  According to the instruction set encoding, the current instruction is decoded to obtain the instruction operation code and the operand; according to the instruction operation code, the corresponding operation is performed on the operand, and after the operation is successful, a new execution result is obtained, and the operand related to the current instruction is obtained. Update to the virtual machine execution context.
在完成上述步骤后, 处理过程从虚拟机监控器返回至虚拟机中, 并更新保存在虚拟机执行上下文中的执行结果。 通过上述方法, 虚拟机 监控器就可代替虚拟机处理访问异常的指令, 能够迅速修复访问异常的 虚拟机内存, 从而提高了虚拟机内存的效率。  After completing the above steps, the process returns from the virtual machine monitor to the virtual machine and updates the execution results saved in the execution context of the virtual machine. Through the above method, the virtual machine monitor can replace the virtual machine to process the abnormal access instruction, and can quickly repair the abnormal virtual machine memory, thereby improving the efficiency of the virtual machine memory.
在模拟执行当前指令的过程中, 可能会遇到操作数不在当前访问 异常的子页的情况, 而在其他的子页中, 因此, 虚拟机监控器首先需要 从其他子页中读取操作数。 故本实施例在判断具有子页的访问权限之 后, 还包括以下步骤;  During the simulation of executing the current instruction, you may encounter the case where the operand is not in the subpage where the exception is currently accessed, but in other subpages, therefore, the virtual machine monitor first needs to read the operand from other subpages. . Therefore, after determining that the access authority has a subpage, the embodiment further includes the following steps;
步骤 105、 判断是否具有所述当前指令的内存操作数的访问权限, 步骤 106、 若没有所述当前指令的内存操作数的访问权限, 则修复 所述内存操作数所在的子页, 使所述内存操作数能够被访问。 在修复所述内存操作数所在的子页后, 虚拟机监控器便可执行当 前访问异常的指令。 Step 105: Determine whether there is an access right of the memory operand of the current instruction, and step 106, if there is no access right of the memory operand of the current instruction, repair the subpage where the memory operand is located, so that the Memory operands can be accessed. After repairing the subpage where the memory operand is located, the virtual machine monitor can execute the current access exception instruction.
本实施例的分布式虚拟机访问异常的处理方法,通过将物理页划分 为若干个子页,在物理页出现访问异常时,使出现访问异常的子页以外的其 他子页能够被正常访问, 减少了假共享的发生, 并在判断没有出现访问异常 的子页的访问权限时, 修复出现访问异常的子页, 使所述子页能够被虚 拟机内存访问; 在判断具有出现访问异常的子页的访问权限时, 执行当 前指令, 并将执行结果返回给虚拟机执行上下文, 使虚拟机完成所述当 前指令的执行, 能够有效解决访问异常, 提高了虚拟机内存的性能。 实施例二  In the processing method of the distributed virtual machine access exception of the embodiment, when the physical page is divided into a plurality of sub-pages, when an access abnormality occurs on the physical page, other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing The occurrence of the fake share occurs, and when it is determined that the access permission of the subpage accessing the exception does not occur, the subpage having the access exception is repaired, so that the subpage can be accessed by the virtual machine memory; the subpage having the access exception is judged When the access authority is executed, the current instruction is executed, and the execution result is returned to the virtual machine execution context, so that the virtual machine completes execution of the current instruction, which can effectively solve the access exception and improve the performance of the virtual machine memory. Embodiment 2
本实施例提供一种虚拟机监控机, 如图 2 所示, 包括: 子页查找 模块 1 1、 访问权限判断模块 12、 分布式共享内存 13和指令模拟执行模 块 14 , 其中,  The embodiment provides a virtual machine monitoring machine, as shown in FIG. 2, including: a subpage search module 1 1 , an access authority judging module 12, a distributed shared memory 13 and an instruction emulation execution module 14 , wherein
子页查找模块 1 1 , 用于根据虚拟机执行当前指令并访问虚拟机内 存时出现访问异常的物理页的地址, 获得出现访问异常的物理页的子页 的页内偏移地址,并根据所述页内偏移地址,找到出现访问异常的子页, 所述物理页包括若干个子页;  The sub-page search module 1 1 is configured to obtain an intra-page offset address of a sub-page of the physical page where the access abnormality occurs, according to the address of the physical page where the abnormality occurs when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the Describe an in-page offset address, find a subpage where an access exception occurs, and the physical page includes a plurality of subpages;
访问权限判断模块 12 , 用于判断虚拟机是否具有所述出现访问异 常的子页的访问权限;  The access authority judging module 12 is configured to determine whether the virtual machine has the access right of the sub-page with the abnormal access;
分布式共享内存 13 , 用于在判断虚拟机没有所述出现访问异常的 子页的访问权限, 修复所述出现访问异常的子页, 使虚拟机内存能够访 问所述出现访问异常的子页并重新执行当前指令;  The distributed shared memory 13 is configured to: when determining that the virtual machine does not have the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, so that the virtual machine memory can access the subpage with the access exception and Re-execute the current instruction;
指令模拟执行模块 14 , 用于在判断虚拟机具有所述出现访问异常 的子页的访问权限, 执行所述当前指令, 并将执行结果返回给虚拟机执 行上下文, 使所述虚拟机完成所述当前指令的执行。 本实施例中的虚拟 机执行上下文包括虚拟机寄存器、 虚拟机内存中的内容和虚拟机控制信 息。 The instruction simulation execution module 14 is configured to: when determining that the virtual machine has the access authority of the subpage having the access exception, execute the current instruction, and return the execution result to the virtual machine execution context, so that the virtual machine completes the Execution of the current instruction. The virtual machine execution context in this embodiment includes a virtual machine register, a content in a virtual machine memory, and a virtual machine control letter. Interest.
进一步的, 所述访问权限判断模块 12还用于: 判断是否具有所述 当前指令的内存操作数的访问权限;  Further, the access authority determining module 12 is further configured to: determine whether the access authority of the memory operand of the current instruction is available;
所述分布式共享内存 13还用于: 在判断没有所述内存操作数的访 问权限时, 修复所述内存操作数所在的子页, 使所述内存操作数能够被 访问。  The distributed shared memory 13 is further configured to: when determining that there is no access permission of the memory operand, repair a subpage where the memory operand is located, so that the memory operand can be accessed.
本实施例的虚拟机监控机还包括子页管理模块 10 , 用于存储子页 的权限信息。  The virtual machine monitoring machine of this embodiment further includes a subpage management module 10 for storing permission information of the subpage.
进一步的, 所述访问权限判断模块 12还用于读取所述子页管理模 块中子页的权限信息, 所述物理页的访问权限不大于其包括的子页的访 问权限。  Further, the access authority determining module 12 is further configured to read the permission information of the subpage in the subpage management module, and the access authority of the physical page is not greater than the access authority of the subpage included in the subpage.
所述权限信息包括: 可读可写、 可读不可写和不可读不可写。 如图 3所示, 本实施例的指令模拟执行模块 14具体包括: 译码单元 141 , 用于根据指令集编码将当前指令进行译码, 得到指 令操作码和操作数;  The rights information includes: readable and writable, readable and writable, and unreadable and unwritable. As shown in FIG. 3, the instruction emulation execution module 14 of this embodiment specifically includes: a decoding unit 141, configured to decode the current instruction according to the instruction set encoding, to obtain an instruction opcode and an operand;
执行单元 142 , 用于根据指令操作码对操作数执行相应的操作, 操 作成功后, 得到执行结果, 并将与当前指令相关的操作数更新至虚拟机 执行上下文。  The executing unit 142 is configured to perform a corresponding operation on the operand according to the instruction opcode. After the operation is successful, the execution result is obtained, and the operand related to the current instruction is updated to the virtual machine execution context.
本实施例的虚拟机监控机各部分的工作原理与实施例一类似,在此不再 赘述。  The working principle of each part of the virtual machine monitoring machine of this embodiment is similar to that of the first embodiment, and details are not described herein again.
本实施例的虚拟机监控机, 通过将物理页划分为若干个子页, 在物理 页出现访问异常时,使出现访问异常的子页以外的其他子页能够被正常访问, 减少了假共享的发生, 并通过访问权限判断模块在判断虚拟机没有出现访 问异常的子页的访问权限时, 分布式共享内存修复出现访问异常的子页, 使出现访问异常的子页允许被虚拟机内存访问;在判断具有出现访问异常 的子页的访问权限时, 指令模拟执行模块执行当前指令, 并将执行结果 返回给虚拟机执行上下文, 使所述虚拟机完成当前指令的执行, 能够有 效解决访问异常, 提高了虚拟机内存的性能。 In the virtual machine monitoring machine of this embodiment, when the physical page is divided into a plurality of sub-pages, when an access abnormality occurs on the physical page, other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing the occurrence of the false sharing. And through the access authority judgment module, when determining that the virtual machine does not have access rights to access the abnormal subpage, the distributed shared memory repairs the subpage that accesses the exception, so that the subpage with the access exception is allowed to be accessed by the virtual machine memory; When judging the access permission of a subpage with an access exception, the instruction emulation execution module executes the current instruction, and the execution result is executed. Returning to the virtual machine execution context, enabling the virtual machine to complete the execution of the current instruction, effectively solving the access exception and improving the performance of the virtual machine memory.
实施例三  Embodiment 3
本实施例提供一种分布式虚拟机, 如图 4所示, 包括多个通过网络 连接的物理服务器, 每台所述物理服务器上均设有虚拟机监控器, 所述 虚拟机监控器包括:  The embodiment provides a distributed virtual machine. As shown in FIG. 4, the system includes a plurality of physical servers connected through a network. Each of the physical servers is provided with a virtual machine monitor. The virtual machine monitor includes:
子页查找模块 1 1 , 用于根据虚拟机执行当前指令并访问虚拟机内 存时出现访问异常的物理页的地址, 获得出现访问异常的物理页的子页 的页内偏移地址,并根据所述页内偏移地址,找到出现访问异常的子页, 所述物理页包括若干个子页;  The sub-page search module 1 1 is configured to obtain an intra-page offset address of a sub-page of the physical page where the access abnormality occurs, according to the address of the physical page where the abnormality occurs when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the Describe an in-page offset address, find a subpage where an access exception occurs, and the physical page includes a plurality of subpages;
访问权限判断模块 12 , 用于判断虚拟机是否具有所述出现访问异 常的子页的访问权限;  The access authority judging module 12 is configured to determine whether the virtual machine has the access right of the sub-page with the abnormal access;
分布式共享内存 13 , 用于在判断虚拟机没有所述出现访问异常的 子页的访问权限, 修复所述出现访问异常的子页, 使虚拟机内存能够访 问所述出现访问异常的子页并重新执行当前指令;  The distributed shared memory 13 is configured to: when determining that the virtual machine does not have the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, so that the virtual machine memory can access the subpage with the access exception and Re-execute the current instruction;
指令模拟执行模块 14 , 用于在判断虚拟机具有所述出现访问异常 的子页的访问权限, 执行所述当前指令, 并将执行结果返回给虚拟机执 行上下文, 使所述虚拟机完成所述当前指令的执行。 本实施例中的虚拟 机执行上下文包括虚拟机寄存器、 虚拟机内存中的内容和虚拟机控制信 息。  The instruction simulation execution module 14 is configured to: when determining that the virtual machine has the access authority of the subpage having the access exception, execute the current instruction, and return the execution result to the virtual machine execution context, so that the virtual machine completes the Execution of the current instruction. The virtual machine execution context in this embodiment includes virtual machine registers, content in virtual machine memory, and virtual machine control information.
进一步的, 本实施例的虚拟机监控器还包括:  Further, the virtual machine monitor of this embodiment further includes:
子页管理模块 10 , 用于存储子页的权限信息;  a subpage management module 10, configured to store permission information of the subpage;
通信模块 15 , 用于实现所述分布式虚拟机中各虚拟机监控器之间 的通信, 以保证同一内存地址中的信息在不同物理服务器的一致性。  The communication module 15 is configured to implement communication between the virtual machine monitors in the distributed virtual machine to ensure consistency of information in the same memory address on different physical servers.
本实施例的虚拟机监控机各部分的工作原理与实施例一类似,在此不再 本实施例的分布式虚拟机, 通过将物理页划分为若干个子页, 在物理 页出现访问异常时,使出现访问异常的子页以外的其他子页能够被正常访问, 减少了假共享的发生, 并通过虚拟机监控机的访问权限判断模块在判断虚 拟机没有出现访问异常的子页的访问权限时, 分布式共享内存修复出现 访问异常的子页, 使出现访问异常的子页允许被虚拟机内存访问; 在判断 具有出现访问异常的子页的访问权限时, 指令模拟执行模块执行当前指 令, 并将执行结果返回给虚拟机执行上下文, 使所述虚拟机完成当前指 令的执行, 能够有效解决访问异常, 提高了虚拟机内存的性能。 The working principle of each part of the virtual machine monitoring machine of this embodiment is similar to that of the first embodiment, and is no longer The distributed virtual machine in this embodiment divides the physical page into a plurality of sub-pages, and when an access abnormality occurs on the physical page, the other sub-pages other than the sub-page where the access abnormality occurs can be normally accessed, thereby reducing the occurrence of the false sharing. And, through the access authority judgment module of the virtual machine monitor, when the virtual machine does not have the access right of the access subpage of the abnormality, the distributed shared memory repairs the subpage that accesses the abnormality, so that the subpage that has the access abnormality is allowed to be virtualized. Machine memory access; when determining the access permission of the subpage having the access exception, the instruction emulation execution module executes the current instruction, and returns the execution result to the virtual machine execution context, so that the virtual machine completes the execution of the current instruction, which can be effective Resolve access exceptions and improve the performance of virtual machine memory.
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件的方式来实现, 当然也可以通过硬件, 但 很多情况下前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本 质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该 计算机软件产品存储在可读取的存储介质中, 如计算机的软盘, 硬盘或光盘 等, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例所述的方法。  Through the description of the above embodiments, those skilled in the art can clearly understand that the present invention can be implemented by means of software plus necessary general hardware, and of course, by hardware, but in many cases, the former is a better implementation. . Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer. A hard disk or optical disk or the like includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不 局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围 内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。  The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily think of changes or substitutions within the technical scope of the present invention. It should be covered by the scope of the present invention. Therefore, the scope of the invention should be determined by the scope of the appended claims.

Claims

权利 要 求 书 Claim
1、 一种分布式虚拟机访问异常的处理方法, 其特征在于, 包括: 根据虚拟机执行当前指令并访问虚拟机内存时出现访问异常的物理 述页内偏移地址,找到出现访问异常的子页,所述物理页包括若干个子页; 判断所述虚拟机是否具有所述出现访问异常的子页的访问权限, 若所述虚拟机没有所述出现访问异常的子页的访问权限, 修复所述 出现访问异常的子页, 使虚拟机内存能够访问所述出现访问异常的子页并 重新执行当前指令, A processing method for a distributed virtual machine access abnormality, comprising: obtaining an access abnormality occurrence sub-page by an offset address within a physical description page of an access abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory; a page, the physical page includes a plurality of sub-pages; determining whether the virtual machine has the access right of the sub-page in which the access abnormality occurs, and if the virtual machine does not have the access right of the sub-page where the access abnormality occurs, the repairing station Describe the subpage where the access exception occurs, enabling the virtual machine memory to access the subpage where the access exception occurs and re-execute the current instruction.
若所述虚拟机具有所述出现访问异常的子页的访问权限, 执行所述 当前指令, 并将执行结果返回给虚拟机执行上下文, 使所述虚拟机完成所 述当前指令的执行。  And if the virtual machine has the access right of the subpage having the access exception, executing the current instruction, and returning the execution result to the virtual machine execution context, so that the virtual machine completes execution of the current instruction.
2、 根据权利要求 1所述的分布式虚拟机访问异常的处理方法, 其特 征在于, 在判断所述虚拟机具有所述出现访问异常的子页的访问权限之 后, 还包括;  The method for processing a distributed virtual machine access exception according to claim 1, further comprising: after determining that the virtual machine has the access authority of the subpage having the access exception;
判断是否具有所述当前指令的内存操作数的访问权限,  Determining whether there is access permission of the memory operand of the current instruction,
若没有所述当前指令的内存操作数的访问权限, 则修复所述内存操 作数所在的子页, 使所述内存操作数能够被访问。  If there is no access permission for the memory operand of the current instruction, the subpage where the memory operand is located is repaired, so that the memory operand can be accessed.
3、 根据权利要求 1所述的分布式虚拟机访问异常的处理方法, 其特 征在于, 在所述找到出现访问异常的子页之后, 判断所述虚拟机是否具有 所述出现访问异常的子页的访问权限之前, 还包括:  The method for processing a distributed virtual machine access exception according to claim 1, wherein after the finding a subpage having an access abnormality, determining whether the virtual machine has the subpage having the access abnormality Before access, it also includes:
读取出现访问异常的子页的权限信息, 所述物理页的访问权限不大 于其包括的子页的访问权限。  The permission information of the subpage in which the access exception occurs is read, and the access authority of the physical page is not greater than the access authority of the subpage included.
4、 根据权利要求 3所述的分布式虚拟机访问异常的处理方法, 其特 征在于, 所述权限信息包括: 可读可写、 可读不可写和不可读不可写。 The method for processing a distributed virtual machine access exception according to claim 3, wherein the rights information comprises: readable and writable, readable and writable, and unreadable and writable.
5、 根据权利要求 1所述的分布式虚拟机访问异常的处理方法, 其特 征在于, 所述执行所述当前指令, 包括: The method for processing a distributed virtual machine access exception according to claim 1, wherein the executing the current instruction comprises:
根据指令集编码将当前指令进行译码, 得到指令操作码和操作数; 根据指令操作码对操作数执行相应的操作, 操作成功后, 得到执行 结果, 并将与所述当前指令相关的操作数更新至虚拟机执行上下文。  Decoding according to the instruction set encoding the current instruction, obtaining the instruction operation code and the operand; performing corresponding operations on the operand according to the instruction operation code, after the operation is successful, obtaining the execution result, and the operand related to the current instruction Update to the virtual machine execution context.
6、 根据权利要求 1或 5所述的分布式虚拟机访问异常的处理方法, 其特征在于, 所述虚拟机执行上下文包括虚拟机寄存器、 虚拟机内存中的 内容和虚拟机控制信息。  The method for processing a distributed virtual machine access exception according to claim 1 or 5, wherein the virtual machine execution context includes a virtual machine register, content in a virtual machine memory, and virtual machine control information.
7、 一种虚拟机监控器, 其特征在于, 包括:  7. A virtual machine monitor, comprising:
子页查找模块, 用于根据虚拟机执行当前指令并访问虚拟机内存时 出现访问异常的物理页的地址, 获得出现访问异常的物理页的子页的页内 偏移地址, 并根据所述页内偏移地址, 找到出现访问异常的子页, 所述物 理页包括若干个子页;  a sub-page search module, configured to obtain an in-page offset address of a sub-page of a physical page in which an access abnormality occurs according to an address of a physical page that accesses an abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the page Internal offset address, find a subpage where an access exception occurs, and the physical page includes several subpages;
访问权限判断模块, 用于判断所述虚拟机是否具有所述出现访问异 常的子页的访问权限,  An access authority determining module, configured to determine whether the virtual machine has the access permission of the subpage having the abnormal access,
分布式共享内存, 用于在判断所述虚拟机没有所述出现访问异常的 子页的访问权限, 修复所述出现访问异常的子页, 使虚拟机内存能够访问 所述出现访问异常的子页并重新执行当前指令,  a distributed shared memory, configured to determine, in the virtual machine, the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, and enable the virtual machine memory to access the subpage with the access exception And re-execute the current instruction,
指令模拟执行模块, 用于在判断所述虚拟机具有所述出现访问异常 的子页的访问权限, 执行所述当前指令, 并将执行结果返回给虚拟机执行 上下文, 使所述虚拟机完成所述当前指令的执行。  An instruction emulation execution module, configured to: execute, by the virtual machine, an access permission of the subpage having the access exception, execute the current instruction, and return an execution result to a virtual machine execution context, so that the virtual machine completes The execution of the current instruction.
8、 根据权利要求 7所述的虚拟机监控器, 其特征在于,  8. The virtual machine monitor of claim 7 wherein:
所述访问权限判断模块还用于: 判断是否具有所述当前指令的内存 操作数的访问权限,  The access authority determining module is further configured to: determine whether the access authority of the memory operand of the current instruction is
若没有所述当前指令的内存操作数的访问权限, 则修复所述内存操 作数所在的子页, 使所述内存操作数能够被访问。 If there is no access permission of the memory operand of the current instruction, the subpage where the memory operand is located is repaired, so that the memory operand can be accessed.
9、 根据权利要求 7所述的虚拟机监控器, 其特征在于, 还包括: 子页管理模块, 用于存储子页的权限信息。 The virtual machine monitor according to claim 7, further comprising: a subpage management module, configured to store the permission information of the subpage.
10、 根据权利要求 9所述的虚拟机监控器, 其特征在于,  10. The virtual machine monitor of claim 9 wherein:
所述访问权限判断模块还用于读取子页管理模块中子页的权限信 息, 所述物理页的访问权限不大于其包括的子页的访问权限。  The access authority determining module is further configured to read the permission information of the subpage in the subpage management module, and the access authority of the physical page is not greater than the access authority of the subpage included by the subpage.
1 1、 根据权利要求 9或 10所述的虚拟机监控器, 其特征在于, 所述 权限信息包括: 可读可写、 可读不可写和不可读不可写。  The virtual machine monitor according to claim 9 or 10, wherein the rights information comprises: readable and writable, readable and writable, and unreadable and unwritable.
12、 根据权利要求 7 所述的虚拟机监控器, 其特征在于, 所述指令 模拟执行模块具体包括:  The virtual machine monitor according to claim 7, wherein the command simulation execution module specifically includes:
译码单元, 用于根据指令集编码将当前指令进行译码, 得到指令操 作码和操作数;  a decoding unit, configured to decode the current instruction according to the instruction set encoding, to obtain an instruction operation code and an operand;
执行单元, 用于根据指令操作码对操作数执行相应的操作, 操作成 功后, 得到执行结果, 并将与所述当前指令相关的操作数更新至虚拟机执 行上下文。  The execution unit is configured to perform a corresponding operation on the operand according to the instruction operation code. After the operation succeeds, the execution result is obtained, and the operand related to the current instruction is updated to the virtual machine execution context.
13、 根据权利要求 7或 12所述的虚拟机监控器, 其特征在于, 所述 虚拟机执行上下文包括虚拟机寄存器、 虚拟机内存中的内容和虚拟机控制 信息。  13. The virtual machine monitor of claim 7 or 12, wherein the virtual machine execution context comprises a virtual machine register, content in a virtual machine memory, and virtual machine control information.
14、 一种分布式虚拟机, 包括多个通过网络连接的物理服务器, 每 台所述物理服务器上均设有虚拟机监控器, 其特征在于, 所述虚拟机监控 器包括:  A distributed virtual machine, comprising a plurality of physical servers connected through a network, each of which has a virtual machine monitor, wherein the virtual machine monitor comprises:
子页查找模块, 用于根据虚拟机执行当前指令并访问虚拟机内存时 出现访问异常的物理页的地址, 获得出现访问异常的物理页的子页的页内 偏移地址, 并根据所述页内偏移地址, 找到出现访问异常的子页, 所述物 理页包括若干个子页;  a sub-page search module, configured to obtain an in-page offset address of a sub-page of a physical page in which an access abnormality occurs according to an address of a physical page that accesses an abnormality when the virtual machine executes the current instruction and accesses the virtual machine memory, and according to the page Internal offset address, find a subpage where an access exception occurs, and the physical page includes several subpages;
访问权限判断模块, 用于判断所述虚拟机是否具有所述出现访问异 常的子页的访问权限, 分布式共享内存, 用于在判断所述虚拟机没有所述出现访问异常的 子页的访问权限, 修复所述出现访问异常的子页, 使虚拟机内存能够访问 所述出现访问异常的子页并重新执行当前指令, An access authority determining module, configured to determine whether the virtual machine has the access right of the subpage with the abnormal access, a distributed shared memory, configured to determine, in the virtual machine, the access permission of the subpage that has the access exception, repair the subpage where the access exception occurs, and enable the virtual machine memory to access the subpage with the access exception And re-execute the current instruction,
指令模拟执行模块, 用于在判断所述虚拟机具有所述出现访问异常 的子页的访问权限, 执行所述当前指令, 并将执行结果返回给虚拟机执行 上下文, 使所述虚拟机完成所述当前指令的执行。  An instruction emulation execution module, configured to: execute, by the virtual machine, an access permission of the subpage having the access exception, execute the current instruction, and return an execution result to a virtual machine execution context, so that the virtual machine completes The execution of the current instruction.
15、 根据权利要求 14所述的分布式虚拟机, 其特征在于, 所述虚拟 机监控器还包括:  The distributed virtual machine according to claim 14, wherein the virtual machine monitor further comprises:
通信模块, 用于实现所述分布式虚拟机中各虚拟机监控器之间的通 信, 以保证同一内存地址中的信息在不同物理服务器的一致性。  The communication module is configured to implement communication between the virtual machine monitors in the distributed virtual machine to ensure consistency of information in the same memory address on different physical servers.
PCT/CN2011/081116 2011-10-21 2011-10-21 Method for processing access exception of distributed virtual machine and virtual machine monitor WO2012163017A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2011800021229A CN102439567A (en) 2011-10-21 2011-10-21 Processing method of distributed virtual machine visit abnormality and virtual machine monitor
PCT/CN2011/081116 WO2012163017A1 (en) 2011-10-21 2011-10-21 Method for processing access exception of distributed virtual machine and virtual machine monitor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/081116 WO2012163017A1 (en) 2011-10-21 2011-10-21 Method for processing access exception of distributed virtual machine and virtual machine monitor

Publications (1)

Publication Number Publication Date
WO2012163017A1 true WO2012163017A1 (en) 2012-12-06

Family

ID=45986237

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/081116 WO2012163017A1 (en) 2011-10-21 2011-10-21 Method for processing access exception of distributed virtual machine and virtual machine monitor

Country Status (2)

Country Link
CN (1) CN102439567A (en)
WO (1) WO2012163017A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102866929B (en) * 2012-07-23 2015-08-19 上海斐讯数据通信技术有限公司 Bad block repair method for memory
US9547599B2 (en) 2013-07-26 2017-01-17 Futurewei Technologies, Inc. System and method for predicting false sharing
US9678883B2 (en) 2013-07-26 2017-06-13 Futurewei Technologies, Inc. System and method for detecting false sharing
CN105468434A (en) * 2015-12-11 2016-04-06 浪潮(北京)电子信息产业有限公司 Method and device for processing exception of virtual machine
CN107223236B (en) * 2016-12-29 2020-05-15 深圳前海达闼云端智能科技有限公司 Method and device for simultaneously operating multiple virtual machines and electronic equipment
CN108540341B (en) * 2018-03-19 2021-01-29 云宏信息科技股份有限公司 Resource monitoring method and device
CN112363796B (en) * 2020-10-19 2022-11-11 海光信息技术股份有限公司 Virtual machine shared memory allocation method and device and electronic equipment
CN114844833A (en) * 2022-03-30 2022-08-02 阿里云计算有限公司 Message processing method and system, storage medium and computer terminal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398768A (en) * 2008-10-28 2009-04-01 北京航空航天大学 Construct method of distributed virtual machine monitor system
CN101477495A (en) * 2008-10-28 2009-07-08 北京航空航天大学 Implementing method for distributed internal memory virtualization technology
US7596654B1 (en) * 2006-01-26 2009-09-29 Symantec Operating Corporation Virtual machine spanning multiple computers
CN101620573A (en) * 2009-07-03 2010-01-06 中国人民解放军国防科学技术大学 Virtualization method of memory management unit of X86 system structure

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100527098C (en) * 2007-11-27 2009-08-12 北京大学 Dynamic EMS memory mappings method of virtual machine manager

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7596654B1 (en) * 2006-01-26 2009-09-29 Symantec Operating Corporation Virtual machine spanning multiple computers
CN101398768A (en) * 2008-10-28 2009-04-01 北京航空航天大学 Construct method of distributed virtual machine monitor system
CN101477495A (en) * 2008-10-28 2009-07-08 北京航空航天大学 Implementing method for distributed internal memory virtualization technology
CN101620573A (en) * 2009-07-03 2010-01-06 中国人民解放军国防科学技术大学 Virtualization method of memory management unit of X86 system structure

Also Published As

Publication number Publication date
CN102439567A (en) 2012-05-02

Similar Documents

Publication Publication Date Title
WO2012163017A1 (en) Method for processing access exception of distributed virtual machine and virtual machine monitor
JP5936640B2 (en) Creating an isolated execution environment for co-designed processors
US9785352B2 (en) Transparent code patching
US9171159B2 (en) Performing security operations using binary translation
US10877793B2 (en) Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system
JP5541036B2 (en) Memory access control program, memory access control method, and information processing apparatus
RU2562372C2 (en) Computation medium adapter activation/deactivation
US20160350244A1 (en) Memory sharing for direct memory access by a device assigned to a guest operating system
US9891936B2 (en) Method and apparatus for page-level monitoring
US7506096B1 (en) Memory segment emulation model for virtual machine
US20160092371A1 (en) Method and Apparatus For Deterministic Translation Lookaside Buffer (TLB) Miss Handling
TWI790242B (en) Address translation data invalidation
EP2483783A1 (en) Facilitating memory accesses
US10061918B2 (en) System, apparatus and method for filtering memory access logging in a processor
CN112148641A (en) System and method for tracking physical address accesses by a CPU or device
TWI812798B (en) An apparatus and method for controlling memory accesses
US20220014356A1 (en) Seamless access to trusted domain protected memory by virtual machine manager using transformer key identifier
US20090198953A1 (en) Full Virtualization of Resources Across an IP Interconnect Using Page Frame Table
KR20220092372A (en) Method and apparatus for run-time memory isolation across different execution realms
US11010311B2 (en) Processing device and method for controlling processing device
JP2010198398A (en) Computer apparatus and control method
JP2022502729A (en) Memory access control
CN114840299A (en) Improved nested page table memory virtualization method and system under Shenwei architecture

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180002122.9

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11866503

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11866503

Country of ref document: EP

Kind code of ref document: A1