Method and apparatus for improving hypervisor performance in memory split environment

CN119576473APending Publication Date: 2025-03-07ELECTRONICS & TELECOMM RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411198920.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-23
Filing Date
2024-08-29
Publication Date
2025-03-07

Smart Images

  • Figure CN119576473A_ABST
    Figure CN119576473A_ABST
Patent Text Reader

Abstract

The invention relates to a method and apparatus for improving hypervisor performance in a memory split environment. Disclosed herein is a method for improving hypervisor performance in a memory split environment. The method comprises the following steps: allocating memory pages to a virtual machine according to a preset unit; comparing the address range of the page frame to be returned with a preset page size; and de-mapping the address space for the page frame to be returned according to the comparison result with the preset page size. The step of removing the address space mapping comprises the step of removing the address space mapping on the basis of continuous page frames when the range of the page frames to be returned is equal to or larger than the preset page size.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims the benefit of Korean Patent Application No. 10-2023-0117380, filed on September 5, 2023, and No. 10-2023-0164357, filed on November 23, 2023, which are hereby incorporated by reference in their entirety into this application. Technical Field

[0003] The present disclosure relates to techniques for improving performance of a hypervisor in a disaggregated memory system.

[0004] More specifically, the present disclosure relates to techniques for improving performance of a hypervisor through unit-based memory page reclamation and providing information about reclaimed memory. Background Art

[0005] Recently, data centers that provide cloud services have shown interest in providing resource separation. Resource separation is a technology that effectively utilizes resources by sharing the computing and memory resources of multiple computers. In particular, the recent increase in memory usage for training and reasoning large-scale artificial intelligence (AI) language models has led to a growing demand for memory separation technology.

[0006] Data centers basically use virtualization technology to provide computing and memory resources to multiple users and allocate resources on a per-virtual machine basis. However, when a split memory system is applied, fine segmentation and management of memory resources is required even at the virtual machine level, which has not been considered. For example, when a virtual machine is created, the hypervisor allocates a given memory area to the virtual machine and manages it. The virtual machine usually uses the corresponding memory area without returning it until it is terminated or migrated. However, when a split memory system is applied, frequently used memory pages remain in the host local memory, while infrequently used memory pages are evicted to the remote memory, which results in frequent memory page allocation / reclaim. Therefore, fine segmentation and management of memory pages are required.

[0007] This management becomes more complicated when a virtual machine uses nested page tables (NPT) and tries to modify its physical memory. This problem occurs because the hypervisor does not know the actual memory used by the virtual machine after it first allocates memory to the virtual machine. Balloon driver technology helps to solve the problem of different memory perspectives between the virtual machine and the hypervisor. Balloon driver technology is a method in which a virtual machine returns unnecessary memory pages in its managed memory to the hypervisor when the hypervisor requests the virtual machine to return the memory. However, it is difficult to apply it to a split memory system because of the large size of memory being returned and because it causes significant performance overhead. Therefore, a technology that can solve these problems in a split memory system is needed.

[0008] [Related technical literature]

[0009] (Patent Document 1) Korean Patent Application Publication No. 2010-0012263, entitled “Solid state storage system and controlling method thereof”. Summary of the invention

[0010] One object of the present disclosure is to improve the performance of a virtualization system in identifying a split memory system.

[0011] Another object of the present disclosure is to increase the granularity of returning memory from a virtual machine at the hypervisor level, thereby improving the performance of the hypervisor.

[0012] It is a further object of the present disclosure to provide a hint to return memory, thereby improving the performance of the hypervisor.

[0013] In order to achieve the above-mentioned purpose, the method for improving the performance of the hypervisor in the memory separation environment according to the embodiment of the present disclosure includes: allocating memory pages to the virtual machine according to the preset unit; comparing the address range of the page frame to be returned with the preset page size; and according to the comparison result with the preset page size, unmapping the address space for the page frame to be returned. Unmapping the address space includes: when the range of the page frame to be returned is equal to or greater than the preset page size, unmapping the address space based on continuous page frames.

[0014] Here, releasing the address space mapping may include: when the range of the page frames to be returned is smaller than a preset page size, releasing the address space mapping for each page frame.

[0015] Here, releasing the address space mapping may include: when releasing the address space mapping for each page frame, releasing the mapping of the address space mapped to the page frame based on a data structure in a reverse mapping (rmap) form.

[0016] Here, allocating memory pages to the virtual machine may include: allocating physically continuous memory pages according to preset units.

[0017] Here, comparing the address range with the preset page size may include determining whether the address range of the page frame to be returned corresponds to consecutively allocated pages.

[0018] Here, releasing the address space mapping may include: when the range of the page frames to be returned is equal to or greater than a preset page size, releasing the address space mapping using the continuously allocated header information of the reverse-mapped page table entry list.

[0019] Here, the method may further include: when a memory page in the virtual machine corresponds to a free page, passing the virtual address of the memory page corresponding to the free page to a kernel-level virtual machine tool module.

[0020] Here, passing the virtual address to the kernel-level virtual machine tool module may include: passing a physical address corresponding to the virtual address to the hypervisor, and marking the physical address with a free page flag.

[0021] Here, when a page fault occurs on a page marked with a free page flag, an initialization page in the local memory may be used.

[0022] In addition, in order to achieve the above-mentioned purpose, the device for improving the performance of the hypervisor in the memory separation environment according to the embodiment of the present disclosure includes: a memory allocation unit, which is used to allocate memory pages to the virtual machine according to a preset unit; and a memory return unit, which is used to compare the address range of the page frame to be returned with the preset page size, and release the address space mapping for the page frame to be returned according to the comparison result with the preset page size. When the range of the page frame to be returned is equal to or greater than the preset page size, the memory return unit can release the address space mapping based on continuous page frames.

[0023] Here, when the range of the page frames to be returned is smaller than a preset page size, the memory returning unit may release the address space mapping for each page frame.

[0024] Here, when unmapping the address space for each page frame, the memory return unit may unmap the address space mapped to the page frame based on a data structure in the form of a reverse map (rmap).

[0025] Here, the memory allocation unit may allocate physically continuous memory pages according to a preset unit.

[0026] Here, the memory return unit may determine whether the address range of the page frame to be returned corresponds to consecutively allocated pages.

[0027] Here, when the range of the page frames to be returned is equal to or greater than the preset page size, the memory returning unit may release the address space mapping by using the continuously allocated header information of the reverse mapped page table entry list.

[0028] Here, when the memory page in the virtual machine corresponds to a free page, the memory return unit may pass the virtual address of the memory page corresponding to the free page to the kernel-level virtual machine tool module.

[0029] Here, the memory return unit may pass the physical address corresponding to the virtual address to the hypervisor and mark the physical address with a free page flag.

[0030] In addition, in order to achieve the above-mentioned purpose, a method for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure includes: allocating memory pages to virtual machines according to preset units; when a memory page in the virtual machine corresponds to a free page, passing the virtual address of the memory page corresponding to the free page to a kernel-level virtual machine tool module; and passing the physical address corresponding to the virtual address to the hypervisor.

[0031] Here, the method may further include: marking the physical address with a free page flag.

[0032] Here, when a page fault occurs on a page marked with a free page flag, an initialization page in the local memory may be used. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] The above and other objects, features and advantages of the present disclosure will be more clearly understood from the following detailed description in conjunction with the accompanying drawings, in which:

[0034] Figure 1 is a flow chart illustrating a method for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure;

[0035] Figure 2 is a flow chart illustrating a method for improving the performance of a hypervisor in a memory separation environment according to another embodiment of the present disclosure;

[0036] Figure 3 Conceptually illustrates the process of traversing the reverse map (rmap) and unmapping the address space to return the memory page;

[0037] Figure 4 The unit-based initialization method of rmap in the batch unmapping technique is conceptually illustrated;

[0038] Figure 5 is a flow chart illustrating a batch unmapping technique according to an embodiment of the present disclosure;

[0039] Figure 6is a diagram conceptually illustrating a method of performing a function of providing a free page hint;

[0040] Figure 7 is a diagram showing system performance when a technique for improving performance of a hypervisor according to an embodiment of the present disclosure is applied;

[0041] Figure 8 is a block diagram showing an apparatus for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure; and

[0042] Fig. 9 is a diagram showing a configuration of a computer system according to an embodiment. DETAILED DESCRIPTION

[0043] The advantages and features of the present disclosure and methods for achieving them will be apparent from the exemplary embodiments that will be described in more detail below with reference to the accompanying drawings. However, it should be noted that the present disclosure is not limited to the following exemplary embodiments and can be implemented in various forms. Therefore, exemplary embodiments are provided only to disclose the present disclosure and to let those skilled in the art understand the categories of the present disclosure, and the present disclosure is defined only based on the claims. The same reference numerals or the same reference indicators represent the same elements throughout the specification.

[0044] It should be understood that although the terms "first", "second", etc. may be used herein to describe various elements, these elements are not intended to be limited by these terms. These terms are only used to distinguish one element from another element. For example, the first element discussed below may be referred to as the second element without departing from the technical spirit of the present disclosure.

[0045] The terms used herein are only used to describe specific embodiments and are not intended to limit the present disclosure. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. It should be further understood that the terms "include", "comprise", "include" and / or "comprises" specify the presence of the features, integers, steps, operations, elements and / or components when used herein, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or their groups.

[0046] In this specification, each expression such as "A or B", "at least one of A and B", "at least one of A or B", "A, B or C", "at least one of A, B and C" and "at least one of A, B or C" may include any one of the items listed in the expression or all possible combinations thereof.

[0047] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as those commonly understood by those skilled in the art to which the present disclosure belongs. Terms that are the same as those defined in commonly used dictionaries should be interpreted as having the same meaning as the contextual meaning of the relevant field, and should not be interpreted as having an ideal or overly formal meaning unless explicitly defined in this specification.

[0048] Embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. In the following description of the present disclosure, the same reference numerals are used to represent the same or similar elements throughout the drawings, and repeated description of the same components will be omitted.

[0049] Figure 1 is a flow chart illustrating a method for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure.

[0050] The method for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure may be executed by an apparatus for improving the performance of a hypervisor (such as a computing device or a server, etc.).

[0051] See also Figure 1 According to an embodiment of the present disclosure, the method for improving the performance of a hypervisor in a memory separation environment includes: at step S110, allocating memory pages to a virtual machine according to a preset unit; at step S120, comparing the address range of a page frame to be returned with a preset page size; and at step S130, according to the comparison result with the preset page size, unmapping the address space for the page frame to be returned. Unmapping the address space includes: when the range of the page frame to be returned is equal to or greater than the preset page size, unmapping the address space based on continuous page frames.

[0052] Here, releasing the address space mapping at step S130 may include: when the range of the page frames to be returned is smaller than a preset page size, releasing the address space mapping for each page frame.

[0053] Here, unmapping the address space at step S130 may include unmapping the address space mapped to the page frame based on a data structure in the form of a reverse mapping (rmap) when unmapping the address space for each page frame.

[0054] Here, allocating memory pages to the virtual machine according to a preset unit in step S110 may include: allocating physically continuous memory pages according to the preset unit.

[0055] Here, comparing the address range with the preset page size at step S120 may include determining whether the address range of the page frame to be returned corresponds to consecutively allocated pages.

[0056] Here, unmapping the address space in step S130 may include unmapping the address space using the continuously allocated header information of the reverse mapped page table entry list when the address range of the page frame to be returned is equal to or greater than a preset page size.

[0057] Here, the method may further include: when a memory page in the virtual machine corresponds to a free page, passing the virtual address of the memory page corresponding to the free page to a kernel-level virtual machine tool module.

[0058] Here, passing the virtual address to the kernel-level virtual machine tool module may include: passing a physical address corresponding to the virtual address to the hypervisor, and marking the physical address with a free page flag.

[0059] Here, in this method, when a page fault occurs in a page marked with a free page flag, an initialization page in the local memory may be used.

[0060] Figure 2 is a flowchart illustrating a method for improving the performance of a hypervisor in a memory separation environment according to another embodiment of the present disclosure.

[0061] The method for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure may be executed by an apparatus for improving the performance of a hypervisor, such as a computing device or a server.

[0062] See also Figure 2 According to an embodiment of the present disclosure, the method for improving the performance of a hypervisor in a memory separation environment includes: in step S210, allocating memory pages to a virtual machine according to preset units; in step S220, when a memory page in the virtual machine corresponds to a free page, passing the virtual address of the memory page corresponding to the free page to a kernel-level virtual machine tool module; and in step S230, passing the physical address corresponding to the virtual address to the hypervisor.

[0063] Here, the method may further include: marking the physical address with a free page flag.

[0064] Here, in this method, when a page fault occurs in a marked page, an initialization page in the local memory may be used.

[0065] The following will be combined Figures 3 to 6 The embodiments of the present disclosure are described in detail.

[0066] Figure 3 The process of traversing the reverse map (rmap) and unmapping the address space to return memory pages is conceptually illustrated.

[0067] In a virtualized system, the hypervisor allocates a large amount of memory when a virtual machine is first created, and the virtual machine can use the memory without returning it until the virtual machine is terminated or migrated. Therefore, there is no need to consider the performance of the memory return mechanism. However, since the split memory system is configured to keep frequently used memory in local memory and evict infrequently used memory to remote memory, memory allocation and deallocation and process address space modification may occur frequently.

[0068] When a memory page needs to be migrated to remote memory, the hypervisor can use the method of unmapping the corresponding page from the virtual machine process address space and transferring the data to the remote memory. Since a single page can be mapped to another address space through page sharing, the operating system (OS) can create a data structure called a reverse map (rmap) and index the address space to which the single page is mapped, such as Figure 3 shown.

[0069] Therefore, to return a single page, the mapping in each address space is unmapped while traversing the reverse map (rmap). However, since the address space can be modified by the virtual machine's process even in a virtual machine, the unmapping can be performed after locking the address space.

[0070] Because returning memory pages as described above requires the task of traversing the reverse mapping (rmap) and clearing the page table entries of each address space, it may cause a large overhead. Existing virtualization systems only return memory pages when the virtual machine is migrated or terminated, but when a separated memory system is applied, the return of memory pages may occur frequently when the virtual machine is running, so performance improvements may be required. Therefore, the present disclosure achieves rapid return of memory by increasing the granularity of memory returned from the virtual machine, thereby improving the performance of the hypervisor in a memory separation environment.

[0071] The above-mentioned memory page return has the problem that a large number of pointers need to be tracked due to traversing the list through reverse mapping (rmap), and the address space needs to be locked so that the address space cannot be modified when the virtual machine or the host accesses the address space.

[0072] Figure 4 The cell-based initialization method of rmap for the bulk unmapping technique is conceptually illustrated.

[0073] The present invention allocates memory pages of a virtual machine in physically continuous units and uses a method for clearing areas of continuous page frames, such as Figure 4 As shown, this method is called "bulk unmapping" and is proposed.

[0074] When returning consecutively allocated page frames, since the head of the page table entry list of rmap is consecutively allocated, a method of initializing the range can be used. This is a technique that can be used for physically consecutive page frames, but since separate memory systems typically use prefetching to maintain spatial locality, allocating consecutive pages may help improve performance. Therefore, the batch unmapping technique proposed in the present disclosure can be well utilized in separate memory systems. In addition, when pages are not consecutively allocated, the existing rmap traversal technique can be used, so that the return of pages will not be performed incorrectly.

[0075] Figure 5 is a flow chart illustrating a batch unmapping technique according to an embodiment of the present disclosure.

[0076] When a memory page needs to be returned because it is selected as an infrequently used page in a separated memory system, a page with a large allocation granularity is returned, and a batch unmapping process can be performed to return the page. First, check whether the range of the address to be returned corresponds to a continuously allocated page. This is a step to determine whether the range corresponds to a memory page to which batch unmapping can be applied, and when the range is smaller than the size of the continuously allocated page, the memory page is a discontinuous page, and an existing rmap traversal method can be performed. In addition, even if the range corresponds to a continuously allocated page to which batch unmapping can be applied, when there is no list to be traversed, the existing method is also executed. Therefore, the rmap range of the page to which batch unmapping can be applied is selected, and the range is initialized to 0, thereby performing batch unmapping.

[0077] The following describes a technique for providing memory perspective consistency between a hypervisor and a virtual machine on a virtualized system in a memory separation environment. In a virtualized system, after the hypervisor allocates memory when creating a virtual machine, the hypervisor has no method for determining the context of the corresponding memory. In other words, there is no method to determine whether the virtual machine is using the memory allocated to it or whether the memory page is being used. The lack of this information leads to inefficiency in the separated memory system.

[0078] For example, a memory page allocated to a virtual machine may not be allocated by any process in the virtual machine, but the hypervisor does not know this information. Therefore, when the current hypervisor intends to reclaim the corresponding memory page from the virtual machine in a separated memory system environment, the data on the corresponding memory page before being reclaimed must be stored separately. That is, after a page is evicted to remote memory because it is not frequently used in the virtual machine, when the page is released by a process in the virtual machine, the page is a free page. Therefore, even if the page is accessed again, it is not necessary to bring the page to the local memory because it is a free page, but access to the page requires obtaining and storing the page from the remote memory.

[0079] The function of providing free page hints (free page awareness (FPA)) according to an embodiment of the present disclosure can solve the above-mentioned problem by transmitting information about such free pages to the hypervisor. If a memory page is a free page in a virtual machine, when it is evicted to a remote memory by the hypervisor of a separate memory system, the data of the page does not need to be retained, and when the data in use is evicted to the remote memory by the separate memory system and becomes a free page, the data of the page does not need to be retained.

[0080] Figure 6 : is a diagram conceptually showing a process of executing a function of providing a free page hint (free page awareness).

[0081] In order to provide a free page prompt, it is necessary to use the kernel module in the application and the virtual machine. Although the application can be modified, the present disclosure does not modify the application, but creates a virtual machine tool at the user level and transmits the virtual address of the free page (customer virtual address) to the virtual machine tool module. The virtual machine tool module is a loadable kernel module (LKM), which generates a customer physical address based on the virtual address of the free page, and passes the free page prompt to the hypervisor in the form of a hypercall, and the hypervisor can identify the free page by receiving the parameters of the hypercall and use a method of marking the page with a free page flag.

[0082] In the case of a page marked with a free page flag, even when a page fault occurs for that page, it is not obtained from the remote memory, but the initialization page in the local memory is used. Therefore, the number of accesses to the remote memory can be reduced.

[0083] Figure 7 is a graph showing the performance of a system when a technique for improving the performance of a hypervisor according to an embodiment of the present disclosure is applied.

[0084] See also Figure 7 , which shows the data loading performance when running the Graph500, XSBench, and BC benchmarks in a split memory system. In the figure, the data loading performance is normalized to the performance obtained when using split cloud memory with elastic block management (DCM), and the results obtained when the size of the host local memory is fixed to 30% of the total memory used by each benchmark are shown. The results show that when using performance optimization techniques other than bulk unmap (+BU), an average performance improvement of 29.7% can be obtained compared to DCM, while applying bulk unmap results in an average performance improvement of 14% compared to applying performance optimization techniques other than bulk unmap. In addition, it can be seen that when the function of providing hints of free pages (free page awareness (+FPA)) is used, an average performance improvement of 5.5% is further achieved.

[0085] Figure 8is a block diagram showing an apparatus for improving the performance of a hypervisor in a memory separation environment according to an embodiment of the present disclosure.

[0086] See also Figure 8 According to an embodiment of the present disclosure, the device for improving the performance of a hypervisor in a memory separation environment includes: a memory allocation unit 810, which is used to allocate memory pages to a virtual machine according to a preset unit; and a memory return unit 820, which is used to compare the address range of a page frame to be returned with a preset page size, and release the address space mapping for the page frame to be returned according to the comparison result with the preset page size. When the range of the page frame to be returned is equal to or greater than the preset page size, the memory return unit releases the address space mapping based on continuous page frames.

[0087] Here, when the range of the page frames to be returned is smaller than the preset page size, the memory returning unit 820 may release the address space mapping for each page frame.

[0088] Here, when unmapping the address space for each page frame, the memory return unit 820 may unmap the address space mapped to the page frame based on a data structure in the form of a reverse map (rmap).

[0089] Here, the memory allocation unit 810 may allocate physically continuous memory pages in a preset unit.

[0090] Here, the memory return unit 820 may determine whether the address range of the page frame to be returned corresponds to consecutively allocated pages.

[0091] Here, when the range of the page frames to be returned is equal to or greater than the preset page size, the memory return unit 820 may release the address space mapping by using the continuously allocated header information of the reverse mapped page table entry list.

[0092] Here, when a memory page in the virtual memory corresponds to a free page, the memory return unit 820 may pass the virtual address of the memory page corresponding to the free page to the kernel-level virtual machine tool module.

[0093] Here, the memory return unit 820 may pass the physical address corresponding to the virtual address to the hypervisor and mark the physical address with a free page flag.

[0094] Fig. 9 is a diagram showing a configuration of a computer system according to an embodiment.

[0095] The apparatus for improving the performance of a hypervisor in a memory separation environment according to an embodiment may be implemented in a computer system 1000 including a computer-readable recording medium.

[0096] The computer system 1000 may include one or more processors 1010, memory 1030, user interface input device 1040, user interface output device 1050, and storage device 1060, which communicate with each other via bus 1020. In addition, the computer system 1000 may also include a network interface 1070 connected to a network 1080. The processor 1010 may be a central processing unit or a semiconductor device for executing a program or processing instructions stored in the memory 1030 or the storage device 1060. The memory 1030 and the storage device 1060 may be storage media, including at least one of volatile media, non-volatile media, removable media, non-removable media, communication media, or information transfer media, or a combination thereof. For example, the memory 1030 may include a ROM 1031 or a RAM 1032.

[0097] According to the present disclosure, the performance of a virtualization system in identifying a separate memory system can be improved.

[0098] Furthermore, the present disclosure may increase the granularity of memory returned from a virtual machine at the hypervisor level, thereby improving the performance of the hypervisor.

[0099] Additionally, the present disclosure provides hints of memory to be returned, thereby improving the performance of the hypervisor.

[0100] The specific implementations described in the present disclosure are embodiments and are not intended to limit the scope of the present disclosure. For the sake of brevity of the specification, descriptions of conventional electronic components, control systems, software and other functional aspects thereof may be omitted. In addition, the lines of the connecting components or connecting members shown in the figures represent functional connections and / or physical or circuit connections, and may be represented as multiple functional connections, physical connections or circuit connections that can be replaced or added to actual devices. In addition, unless specific terms such as "necessary", "important", etc. are used, the corresponding components may not be absolutely necessary.

[0101] Therefore, the spirit of the present disclosure should not be interpreted as being limited to the above-described embodiments, and the appended claims and the full scope of their equivalents should be construed as defining the scope and spirit of the present disclosure.

Claims

1. A method for improving hypervisor performance in a memory separation environment, comprising: Allocate memory pages to virtual machines in preset units; Compare the address range of the page frame to be returned with the preset page size; as well as According to the comparison result with the preset page size, the address space mapping is released for the page frame to be returned, The releasing of the address space mapping comprises: when the range of the page frames to be returned is equal to or greater than the preset page size, releasing the address space mapping based on continuous page frames.

2. The method according to claim 1, wherein: Release the address space mapping includes: when the range of the page frames to be returned is smaller than the preset page size, release the address space mapping for each page frame.

3. The method according to claim 2, wherein: Unmapping the address space includes: when unmapping the address space for each page frame, unmapping the address space mapped to the page frame based on a data structure in a reverse mapping form.

4. The method according to claim 2, wherein: Allocating the memory pages to the virtual machine includes: allocating physically continuous memory pages according to preset units.

5. The method according to claim 2, wherein: Comparing the address range with the preset page size includes determining whether the address range of the page frame to be returned corresponds to consecutively allocated pages.

6. The method according to claim 3, wherein: Release the address space mapping includes: when the range of the page frame to be returned is equal to or greater than the preset page size, release the address space mapping using the continuously allocated header information of the reverse mapped page table entry list.

7. The method according to claim 1, further comprising: When the memory page in the virtual machine corresponds to a free page, the virtual address of the memory page corresponding to the free page is passed to a kernel-level virtual machine tool module.

8. The method according to claim 7, wherein: Passing the virtual address to the kernel-level virtual machine tool module includes: passing a physical address corresponding to the virtual address to the hypervisor; and The physical address is marked with a free page flag.

9. The method according to claim 8, wherein: When a page fault occurs on a page marked with the free page flag, an initialization page in the local memory is used.

10. A device for improving the performance of a hypervisor in a memory separation environment, comprising: A memory allocation unit, used to allocate memory pages to the virtual machine according to a preset unit; as well as a memory return unit, configured to compare the address range of the page frame to be returned with a preset page size, and to unmap the address space of the page frame to be returned according to the comparison result with the preset page size, When the range of the page frames to be returned is equal to or greater than the preset page size, the memory returning unit releases the address space mapping based on continuous page frames.

11. The device according to claim 10, wherein: When the range of the page frames to be returned is smaller than the preset page size, the memory returning unit releases the address space mapping for each page frame.

12. The device according to claim 11, wherein When unmapping the address space for each page frame, the memory return unit unmaps the address space mapped to the page frame based on a data structure in a reverse mapping form.

13. The device according to claim 11, wherein: The memory allocation unit allocates physically continuous memory pages according to preset units.

14. The device according to claim 11, wherein: The memory return unit determines whether an address range of a page frame to be returned corresponds to consecutively allocated pages.

15. The device according to claim 12, wherein: When the range of the page frames to be returned is equal to or greater than the preset page size, the memory returning unit releases the address space mapping by using the continuously allocated header information of the reverse mapped page table entry list.

16. The device according to claim 10, wherein: When the memory page in the virtual machine corresponds to a free page, the memory return unit transfers the virtual address of the memory page corresponding to the free page to the kernel-level virtual machine tool module.

17. The device according to claim 16, wherein: The memory return unit transmits the physical address corresponding to the virtual address to the hypervisor and marks the physical address with a free page flag.

18. A method for improving hypervisor performance in a memory separation environment, comprising: Allocate memory pages to virtual machines according to preset units; When a memory page in the virtual machine corresponds to a free page, passing a virtual address of the memory page corresponding to the free page to a kernel-level virtual machine tool module; as well as A physical address corresponding to the virtual address is communicated to the hypervisor.

19. The method according to claim 18, further comprising: The physical address is marked with a free page flag.

20. The method according to claim 19, wherein: When a page fault occurs on a page marked with the free page flag, an initialization page in the local memory is used.

Citation Information

Patent Citations

  • Passive dilation in catheter insertion systems

    KR1020230117380A

  • Turn signal lamp for car

    KR1020230164357A