CN113032088B - Dirty page recording method, device, electronic equipment and computer readable medium - Google Patents
Dirty page recording method, device, electronic equipment and computer readable medium Download PDFInfo
- Publication number
- CN113032088B CN113032088B CN201911359730.XA CN201911359730A CN113032088B CN 113032088 B CN113032088 B CN 113032088B CN 201911359730 A CN201911359730 A CN 201911359730A CN 113032088 B CN113032088 B CN 113032088B
- Authority
- CN
- China
- Prior art keywords
- buffer
- dirty page
- virtual machine
- page
- dirty
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000000872 buffer Substances 0.000 claims abstract description 290
- 238000013508 migration Methods 0.000 claims abstract description 53
- 230000005012 migration Effects 0.000 claims abstract description 53
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012804 iterative process Methods 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 abstract description 8
- 238000012545 processing Methods 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004984 smart glass Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
The embodiment of the application provides a dirty page recording method, a dirty page recording device, electronic equipment and a computer readable medium, and relates to the technical field of data processing. Wherein the method comprises the following steps: when determining that a page in a memory of a virtual machine has a dirty page to be recorded, recording the dirty page by using a first buffer area; when the page content of the dirty page recorded by the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to a second buffer zone, and the dirty page is recorded by using the second buffer zone. According to the embodiment of the application, the buffer seamless switching mechanism is adopted, so that the problem that the user service performance of the virtual machine shakes or the direct equipment of the virtual machine is frequently blocked due to the fact that the virtual processor of the virtual machine frequently exits to the virtual machine monitor during hot migration because dirty pages of the memory of the virtual machine are recorded by adopting the PML mechanism of the processor in the prior art is effectively solved.
Description
Technical Field
The embodiment of the application relates to the technical field of data processing, in particular to a dirty page recording method, a dirty page recording device, electronic equipment and a computer readable medium.
Background
The hot migration technology of the virtual machine is one of core technologies of cloud computing. In the process of the virtual machine thermal migration, the service running on the virtual machine is not interrupted, and the user does not feel. The content of the virtual machine hot migration is mainly the memory of the virtual machine and the states of various devices. The memory migration is a main task of virtual machine state migration. Memory migration is an iterative process, firstly, transmission of all memory of the virtual machine is completed in the first round, and then, the dirty pages newly generated in the middle of the transmission are iterated until convergence conditions are reached.
In the prior art, a PML mechanism of a processor is generally used to record dirty pages in a virtual machine memory. If a dirty page in the virtual machine memory is generated by modifying a page in the virtual machine memory by a virtual processor of the virtual machine, the adoption of the PML mechanism can cause the virtual processor to frequently exit to the virtual machine monitor during the hot migration. During the virtual processor exit, the virtual processor is not running, causing some performance jitter to the user traffic of the virtual machine. If a dirty page in the virtual machine memory is generated by modifying a page in the virtual machine memory by the pass-through device of the virtual machine, the PML mechanism is adopted to cause frequent blocking of the operation of the pass-through device of the virtual machine during the hot migration. This is more serious than the performance jitter problem caused to the user traffic of the virtual machine. Therefore, how to solve the problem of performance jitter of virtual machine user service caused by recording dirty pages in the memory of the virtual machine by adopting a PML mechanism of a processor or the problem of frequently blocking the operation of the direct equipment of the virtual machine in the prior art becomes a technical problem to be solved currently.
Disclosure of Invention
The invention aims to provide a dirty page recording method, a device, electronic equipment and a computer readable medium, which are used for solving the problem of performance jitter of virtual machine user service caused by dirty pages in a memory of a virtual machine recorded by adopting a PML mechanism of a processor or the problem of frequently blocking the running of straight-through equipment of the virtual machine in the prior art.
According to a first aspect of embodiments of the present application, a dirty page recording method is provided. The method comprises the following steps: when determining that a page in a memory of a virtual machine has a dirty page to be recorded, recording the dirty page by using a first buffer area; when the page content of the dirty page recorded by the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to a second buffer zone, and the dirty page is recorded by using the second buffer zone.
According to a second aspect of embodiments of the present application, there is provided a dirty page recording apparatus. The device comprises: the first recording module is used for recording the dirty pages by using the first buffer area when determining that the pages in the memory of the virtual machine have the dirty pages to be recorded; and the first switching module is used for switching the first buffer into a second buffer when determining to thermally migrate the page content of the dirty page recorded in the first buffer, and recording the dirty page by using the second buffer.
According to a third aspect of embodiments of the present application, there is provided an electronic device, including: one or more processors; a computer readable medium configured to store one or more programs which, when executed by the one or more processors, cause the one or more processors to implement the dirty page recording method as described in the first aspect of the embodiments described above.
According to a fourth aspect of embodiments of the present application, there is provided a computer readable medium having stored thereon a computer program which, when executed by a processor, implements the dirty page recording method as described in the first aspect of the above embodiments.
According to the technical scheme provided by the embodiment of the application, when the fact that the page in the memory of the virtual machine has the dirty page to be recorded is determined, the dirty page is recorded by using the first buffer zone; when the page content of the dirty pages recorded in the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to the second buffer zone, and the dirty pages are recorded by using the second buffer zone.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments, made with reference to the following drawings, in which:
FIG. 1A is a schematic diagram of a host according to an embodiment of the present application;
FIG. 1B is a schematic diagram of an embodiment of a cloud computing system according to an embodiment of the present application;
FIG. 1C is a flowchart illustrating a method for recording dirty pages according to an embodiment of the present disclosure;
FIG. 2A is a flowchart illustrating a method for recording dirty pages according to a second embodiment of the present disclosure;
FIG. 2B is a schematic diagram of a dirty page recording process according to a second embodiment of the present application;
FIG. 3 is a schematic diagram of a dirty page recording apparatus according to a third embodiment of the present disclosure;
FIG. 4 is a schematic diagram of a dirty page recording apparatus according to a fourth embodiment of the present disclosure;
FIG. 5 is a schematic diagram of a dirty page recording apparatus according to a fifth embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device in a sixth embodiment of the present application;
fig. 7 is a hardware structure of an electronic device in a seventh embodiment of the present application.
Detailed Description
The present application is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely configured to illustrate the related invention, and are not limiting of the invention. It should be noted that, for convenience of description, only the portions related to the present invention are shown in the drawings.
It should be noted that, in the case of no conflict, the embodiments and features in the embodiments may be combined with each other. The present application will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1A is a schematic structural diagram of a host according to an embodiment of the present application. As can be seen from fig. 1A, the source host (source physical Machine) includes a Virtual Machine (VM), a Virtual Machine monitor layer, and a hardware layer.
One or more virtual computers, i.e., virtual machines, such as virtual machines 1, … … and virtual machine N in fig. 1A, can be emulated on a host machine by virtual machine software. These virtual machines operate just like real computers. An operating system and application programs can be installed on the virtual machine, and network resources can be accessed. For applications running in virtual machines, it is as if they were working in a real computer.
The virtual machine monitor layer in the host machine may be a virtual machine monitor for monitoring the operation of the virtual machine.
The hardware layer in the host is a hardware platform that the virtualized environment runs on, which can provide hardware resources for each virtual machine. The hardware layer may include a variety of hardware resources, such as processor CPU, memory, network cards, storage, and the like. But is not limited thereto, in practical applications, the hardware layer may also include any suitable other hardware resources required for the virtual machine to run.
The hot migration of the virtual machine refers to that data, state and the like of the virtual machine on a source host machine are migrated/copied to a target host machine (target end physical machine) to run in the resource utilization efficiency or maintenance requirement, and user service in the virtual machine is not perceived and interrupted in the migration process. The contents of migration are mainly the memory of the virtual machine and the states of various devices. Specifically, in a cloud computing scenario, one physical server runs multiple virtual machines, and different virtual machines run different tenant services. The state of the running virtual machine is thermally migrated from one physical server to another physical server to run through the thermal migration technology of the virtual machine, and the virtual machine on the idle physical server can be concentrated to one physical server to run, so that the resource utilization rate of the physical server is improved, or the maintenance and upgrading of the old physical server are realized.
Hosts are typically provided in a cloud computing system as part of the cloud computing system. A cloud computing system is shown in fig. 1B and includes a control device 10, a network 20, and a plurality of hosts 30. The control device 10 and the plurality of hosts 30 are communicatively connected through the network 20, and each host 30 includes at least one virtual machine.
In the event of a failure of one host 30 or an overload of the host 30 or other situations requiring data migration, the control device 10 coordinates the virtual machines on the host 30 to perform the thermal migration. For example, if the host 30A is overloaded, the control device 10 determines a virtual machine to be thermally migrated, such as 30A-VM1, from the host 30A; then, the control device 10 determines a target host, such as 30B, that can receive 30A-VM1 for data live migration; further, the control device 10 controls the virtual machines 30A to VM1 to be thermally migrated from the host 30A to the host 30B.
Referring to fig. 1C, a flowchart illustrating steps of a dirty page recording method applied to a thermo migration scenario according to an embodiment of the present application is shown.
Specifically, the dirty page recording method of the present embodiment includes the steps of:
in step S101, when it is determined that there is a dirty page to be recorded in a page in a memory of the virtual machine, the dirty page is recorded using the first buffer.
In this embodiment of the present application, when an operating system or an upper layer application of a virtual machine modifies a page in a memory of the virtual machine through a virtual processor of the virtual machine, it may be determined that a dirty page to be recorded exists in the page in the memory of the virtual machine. Optionally, when the pass-through device of the virtual machine modifies a page in the memory of the virtual machine, it may be determined that the page in the memory of the virtual machine has a dirty page to be recorded. The pass-through device may be understood as a hardware device directly controlled by a virtual processor of a virtual machine, rather than a hardware device indirectly controlled by a virtual machine monitor, for example, a network card, etc. The dirty page may be understood as a new modified page generated by modifying the virtual machine memory by an operating system, an application program or a pass-through device of the virtual machine in the process of migrating page content of the virtual machine memory. In addition, the process of virtual machine hot migration is to migrate page content of the memory of the virtual client machine from one physical machine to another physical machine in an iterative manner. In the first migration of page content of a memory of a virtual client from one physical machine to another physical machine, a virtual processor or pass-through device of the virtual machine may modify pages in the memory of the virtual machine to produce dirty pages to be recorded. In the process of migrating page content of the memory of the virtual client from one physical machine to another physical machine for the non-first time, a virtual processor or a pass-through device of the virtual machine may also modify pages in the memory of the virtual machine to generate dirty pages to be recorded. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In an embodiment of the present application, the first buffer may include a bitmap buffer, a PML buffer, and the like. The bitmap buffer area can be understood as a buffer area corresponding to a page in the memory of the virtual machine through a bit. For example, if the bit value of the bitmap buffer corresponding to a page in the virtual machine memory is 0, it indicates that the page is not modified and is not a dirty page. If the bit value of the bit corresponding to the page in the virtual machine memory in the bitmap buffer area is 1, the page is modified and is a dirty page, so that the dirty page existing in the virtual machine memory is recorded. Therefore, the bitmap buffer area corresponds to the page in the virtual machine memory through the bit, and the space of the bitmap buffer area can be effectively saved. The PML buffer may be understood as a buffer used in a scheme of recording a dirty page in the virtual machine memory by using a PML mechanism of the processor, where the PML buffer corresponds to a page in the virtual machine memory through a page address. The PML is a characteristic of the processor, and after the characteristic is turned on, the processor records the physical memory page information rewritten by the processor. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, when the dirty page is recorded using a first buffer, the dirty page is recorded in the first buffer based on address information of the dirty page. For example, when the first buffer is a PML buffer, the recording of the dirty page may be achieved by recording address information of the dirty page in the PML buffer. In addition, the first buffer area may be a buffer area for recording dirty pages, which is pre-allocated by a physical machine where the virtual machine is located for a virtual processor of the virtual machine, or may be a buffer area for recording dirty pages, which is allocated by a physical machine where the virtual machine is located for a virtual processor of the virtual machine in real time. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, when the dirty page is recorded in the first buffer based on the address information of the dirty page, the dirty page may be recorded in the first buffer based on the address information of the first buffer and the address information of the dirty page. The first buffer is pre-allocated for the virtual processor of the virtual machine by the physical machine where the virtual machine is located. Specifically, the method further includes, before recording the dirty page in the first buffer based on the address information of the first buffer and the address information of the dirty page: and writing the address information of the first buffer area into the virtual machine control structure body corresponding to the virtual processor of the virtual machine. Specifically, address information of the first buffer region is written into the virtual machine control structure body corresponding to the virtual processor of the virtual machine through a hot migration thread. The hot migration thread is used for hot migrating page content of dirty pages in the memory of the virtual machine, and the virtual machine control structure can be understood as a register set for controlling the behavior of the virtual processor. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some optional embodiments, when the first buffer is a bitmap buffer, the recording the dirty page in the first buffer based on address information of the first buffer and address information of the dirty page includes: determining bits in the bitmap buffer corresponding to the dirty pages based on the address information of the bitmap buffer and the address information of the dirty pages; and performing a set operation on a bit corresponding to the dirty page to record the dirty page in the first buffer. Wherein the determining, based on the address information of the bitmap buffer and the address information of the dirty page, a bit in the bitmap buffer corresponding to the dirty page includes: determining a number of a bit corresponding to the dirty page in the bitmap buffer based on address information of the dirty page and a size of the dirty page; and determining the bit corresponding to the dirty page in the bitmap buffer based on the address information of the bitmap buffer and the number of the bit. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In a specific example, in determining the number of bits in the bitmap buffer corresponding to the dirty page, the address information of the dirty page may be divided by the size of the dirty page to obtain the number of bits in the bitmap buffer corresponding to the dirty page. Wherein the dirty page address information (Guest Physical Address, GPA) is not a real physical address, it is simply a mapping of the physical machine (Host machine) virtual address (Host Virtual Address, HVA) where the virtual machine is located at the virtual machine address. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In step S102, when it is determined to thermally migrate the page content of the dirty page recorded in the first buffer, the first buffer is switched to a second buffer, and the dirty page is recorded using the second buffer.
In this embodiment of the present application, when a physical machine in which a virtual machine is located starts to migrate page contents of a dirty page in a virtual machine memory of a new round through a hot migration thread, it may be determined to hot migrate page contents of the dirty page recorded in the first buffer. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, the first buffer is switched to the second buffer when the first buffer is switched to the second buffer. In particular, the first buffer may be switched to the second buffer by a hot migration thread. Wherein the second buffer may include a bitmap buffer, a PML buffer, and the like. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some optional embodiments, when the first buffer area is switched to a second buffer area, address information of the second buffer area is written into the virtual machine control structure body corresponding to the virtual processor of the virtual machine, and a zero clearing operation is performed on a flag register of the virtual machine control structure body; and executing write operation on the synchronous register of the virtual machine control structure body to inform the virtual processor to switch the first buffer zone to the second buffer zone based on the address information of the second buffer zone written in the virtual machine control structure body corresponding to the virtual processor. By this, the write operation is performed on the synchronization register of the virtual machine control structure to notify the virtual processor of the switching of the buffer, and seamless switching of the buffer of the virtual processor for recording dirty pages can be realized at a small cost. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In a specific example, the address information of the second buffer area may be written into the virtual machine control structure corresponding to the virtual processor of the virtual machine through the hot migration thread, a clear operation is performed on a flag register of the virtual machine control structure, and a write operation is performed on a synchronization register of the virtual machine control structure, so as to inform the virtual processor to switch the first buffer area to the second buffer area based on the address information of the second buffer area written in the virtual machine control structure corresponding to the virtual processor. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, the method further comprises: the flag register is queried to determine whether the virtual processor has completed switching the first buffer to the second buffer. Thereby, it can be determined whether the virtual processor has completed switching the first buffer to the second buffer. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In a specific example, by performing a write operation on a synchronization register of a virtual machine control structure through a hot migration thread, a virtual processor is triggered by the synchronization register write, thereby notifying the virtual processor to perform a buffer switching. After notifying the virtual processor of the buffer switch, the virtual processor microcode flushes the memory space that may exist in the first buffer to write the dirty page information recorded in the virtual processor's cache. Then, the virtual processor rewrites the value of the flag register in the corresponding virtual machine control structure from 0 to 1. Then, the hot migration thread queries the value of the flag register in the virtual machine control structure corresponding to the virtual processor. If the value is 1, it indicates that the virtual processor has completed switching the first buffer to the second buffer. If the value is 0, it indicates that the virtual processor has not completed switching the first buffer to the second buffer. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, the method further comprises: and when the virtual processor is determined to finish switching the first buffer zone into the second buffer zone, performing hot migration on the page content of the dirty page recorded by the first buffer zone to a destination physical machine. Specifically, the page content of the dirty page recorded in the first buffer zone is thermally migrated to a destination physical machine through the thermal migration thread. Therefore, the page content of the dirty page recorded in the buffer zone can be safely thermally migrated to the destination physical machine, so that the migration of the page content of the dirty page in the memory of the virtual machine is realized. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In a specific example, when the page content of the dirty page recorded in the first buffer zone is thermally migrated to a destination physical machine, the first buffer zone is read, and the page content of the dirty page corresponding to the set bit in the first buffer zone is thermally migrated to the destination physical machine. Specifically, the first buffer area is read through the thermal migration thread, and page contents of dirty pages corresponding to the set bits in the first buffer area are thermally migrated to the destination physical machine. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, the method further comprises: a clear operation is performed on the set bits in the first buffer. Specifically, by the hot migration thread, a clear operation is performed on the set bit in the first buffer. Thereby, the next time a switch of the buffer of the virtual processor for recording a dirty page is made, the first buffer in which the set bit is subjected to the clear operation can be used again for recording a dirty page. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In some alternative embodiments, the specific implementation of recording the dirty pages using the second buffer is similar to the specific implementation of recording the dirty pages using the first buffer in the step S101, and will not be described herein.
According to the dirty page recording method provided by the embodiment of the application, when the fact that the dirty pages to be recorded exist in the pages in the memory of the virtual machine is determined, the dirty pages are recorded by using the first buffer area; when the page content of the dirty pages recorded in the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to the second buffer zone, and the dirty pages are recorded by using the second buffer zone.
The dirty page recording method of the present embodiment may be performed by any suitable device having data processing capabilities, including, but not limited to: cameras, terminals, mobile terminals, PCs, servers, vehicle-mounted devices, entertainment devices, advertising devices, personal Digital Assistants (PDAs), tablet computers, notebook computers, palm game consoles, smart glasses, smart watches, wearable devices, virtual display devices or display enhancement devices, and the like.
Referring to fig. 2A, a flowchart of steps of a dirty page recording method according to a second embodiment of the present application is shown.
Specifically, the dirty page recording method of the present embodiment includes the steps of:
in step S201, the first buffer and the second buffer are allocated to a virtual processor of the virtual machine.
In this embodiment of the present application, before performing hot migration on page content in a memory of a virtual machine, the first buffer and the second buffer are allocated to a virtual processor of the virtual machine. Specifically, one physical machine corresponds to a plurality of virtual machines, and one virtual machine corresponds to one or more virtual processors. And distributing the first buffer area and the second buffer area for the virtual processor of each virtual machine through the hot migration thread. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In step S202, when it is determined that there is a dirty page to be recorded in a page in a memory of the virtual machine, the dirty page is recorded using the first buffer.
Since this step S202 is similar to the step S101 described above, the description thereof will not be repeated here.
In step S203, when it is determined that the page content of the dirty page recorded in the first buffer is thermally migrated, the first buffer is switched to a second buffer, and the dirty page is recorded using the second buffer.
Since this step S203 is similar to the step S102 described above, the description thereof will not be repeated here.
In some alternative embodiments, the method further comprises: when the iterative process of the thermomigration is completed, the first buffer zone and the second buffer zone are released. Specifically, when the iterative process of the thermal migration is completed through the thermal migration thread, the first buffer area and the second buffer area are released through the thermal migration thread. Therefore, the storage resources of the physical machine where the virtual machine is located can be effectively saved. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
In one specific example, a virtual processor having a plurality of virtual machines runs on a plurality of physical processors of a physical machine, respectively. The bitmap buffer area is used for recording dirty pages, the bit0 in the bitmap buffer area corresponds to the page 0 in the memory of the virtual machine, the bit1 in the bitmap buffer area corresponds to the page 1 in the memory of the virtual machine, and so on. The hot migration thread is responsible for reading the set bits from the bitmap buffer, i.e. which pages of the virtual machine memory are modified, and then migrating the modified page contents to the destination physical machine. The live migration thread uses a switched out bitmap buffer and the virtual processor of the virtual machine uses another bitmap buffer. Specifically, as shown in fig. 2B, the specific steps of the thermomigration include: (1) Before the start of the hot migration, the hot migration thread allocates two bitmap buffers (bitmap 0 and bitmap 1) for the virtual processor of the virtual machine, and clears 0. (2) And writing an address of a bitmap buffer zone bitmap0 into a virtual machine control structure body corresponding to the virtual processor through the hot migration thread, wherein the address is used as a bitmap buffer zone address for dirty page recording. (3) When a virtual processor of the virtual machine modifies a memory page, bits corresponding to addresses of the modified page are set in a bitmap buffer of the current recorded dirty page. (4) The hot migration thread starts a new round of page content migration for dirty pages in virtual machine memory. (5) The hot migration thread writes the new bitmap buffer address to the virtual machine control fabric for each virtual processor of the virtual machine. If the bitmap buffer zone bitmap0 is the previous, the address of the bitmap buffer zone bitmap1 is written. Otherwise, if the bitmap buffer bitmap1 is located before, the address of the bitmap buffer bitmap0 is written. (6) And the hot migration thread reads the switched bitmap buffer area, migrates the page content of the dirty page corresponding to the set bit to the destination physical machine, and clears the corresponding set bit. (7) Returning to step (4), performing the iterative process of steps (4) - (6) until the thermomigration reaches a convergence condition. (8) And after the hot migration is finished, releasing bitmap buffers bitmap0 and bitmap1. In the step (5), the step of seamlessly switching the two bitmap buffers includes: (1) Writing a new bitmap buffer address into a virtual machine control structure body corresponding to the virtual machine. (2) And resetting a mark register of a virtual machine control structure body corresponding to the virtual machine. (3) And executing write operation on the synchronous register of the virtual machine control structure body corresponding to the virtual machine so as to inform the virtual processor of switching to use the new bitmap buffer zone. (4) The virtual processor is triggered by the synchronous register write of the virtual machine control structure, the CPU microcode flushes the space which may exist in the buffer area to write the information of the dirty pages recorded in the buffer of the virtual processor, then writes 1 to the flag register (5) of the virtual machine control structure, the thermo migration thread queries the flag register of the virtual machine control structure, and when 1, the virtual processor completes the switching of the buffer area, and the process should be completed in microsecond. (6) The hot migration thread waits for all virtual processors to finish the switching of the bitmap buffer, the subsequent dirty page records start to use the new bitmap buffer, and the switched bitmap buffer can be safely read by the hot migration thread. It will be appreciated that the above description is exemplary only, and that the embodiments of the present application are not limited in any way.
According to the dirty page recording method provided by the embodiment of the application, a first buffer area and a second buffer area are allocated for a virtual processor of a virtual machine; when determining that a page in the memory of the virtual machine has a dirty page to be recorded, recording the dirty page by using a first buffer area; when the page content of the dirty pages recorded in the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to the second buffer zone, and the dirty pages are recorded by using the second buffer zone.
The dirty page recording method of the present embodiment may be performed by any suitable device having data processing capabilities, including, but not limited to: cameras, terminals, mobile terminals, PCs, servers, vehicle-mounted devices, entertainment devices, advertising devices, personal Digital Assistants (PDAs), tablet computers, notebook computers, palm game consoles, smart glasses, smart watches, wearable devices, virtual display devices or display enhancement devices, and the like.
Referring to fig. 3, a schematic diagram of a dirty page recording apparatus in a third embodiment of the present application is shown.
The dirty page recording apparatus of the present embodiment includes: a first recording module 301, configured to record a dirty page using a first buffer when it is determined that the dirty page to be recorded exists in a page in a memory of a virtual machine; a first switching module 302, configured to switch the first buffer to a second buffer when determining to thermally migrate the page content of the dirty page recorded in the first buffer, and record the dirty page using the second buffer.
The dirty page recording device in this embodiment is configured to implement the corresponding dirty page recording methods in the foregoing multiple method embodiments, and has the beneficial effects of the corresponding method embodiments, which are not described herein again.
Referring to fig. 4, a schematic diagram of the structure of a dirty page recording apparatus in the fourth embodiment of the present application is shown.
The dirty page recording apparatus of the present embodiment includes: a first recording module 402, configured to record a dirty page to be recorded using a first buffer when it is determined that the dirty page exists in a memory of the virtual machine; a first switching module 403, configured to switch the first buffer to a second buffer when determining to thermally migrate the page content of the dirty page recorded in the first buffer, and record the dirty page using the second buffer.
Optionally, the first switching module 403 is specifically configured to: writing the address information of the second buffer area into the virtual machine control structure body corresponding to the virtual processor of the virtual machine, and executing zero clearing operation on the mark register of the virtual machine control structure body; and executing write operation on the synchronous register of the virtual machine control structure body to inform the virtual processor to switch the first buffer zone to the second buffer zone based on the address information of the second buffer zone written in the virtual machine control structure body corresponding to the virtual processor.
Optionally, the apparatus further comprises: a query module 404, configured to query the flag register to determine whether the virtual processor has completed switching the first buffer to the second buffer.
Optionally, the apparatus further comprises: and the hot migration module 405 is configured to hot migrate, to a destination physical machine, page contents of the dirty pages recorded in the first buffer zone when it is determined that the virtual processor completes switching the first buffer zone to the second buffer zone.
Optionally, the thermal migration module 405 is specifically configured to: and reading the first buffer area, and thermally migrating page contents of the dirty pages corresponding to the set bits in the first buffer area to the destination physical machine.
Optionally, the apparatus further comprises: a zero module 406 for performing a zero operation on the set bit in the first buffer.
Optionally, before the first recording module 402, the apparatus further includes: an allocation module 401, configured to allocate the first buffer and the second buffer to a virtual processor of the virtual machine.
Optionally, the apparatus further comprises: a releasing module 407, configured to release the first buffer area and the second buffer area when the iterative process of the thermal migration is completed.
The dirty page recording device in this embodiment is configured to implement the corresponding dirty page recording methods in the foregoing multiple method embodiments, and has the beneficial effects of the corresponding method embodiments, which are not described herein again.
Referring to fig. 5, a schematic diagram of the structure of a dirty page recording apparatus in the fifth embodiment of the present application is shown.
The dirty page recording apparatus of the present embodiment includes: a first recording module 501, configured to record a dirty page using a first buffer area when it is determined that the dirty page to be recorded exists in a page in a memory of a virtual machine; a first switching module 502, configured to switch the first buffer to a second buffer when determining to thermally migrate the page content of the dirty page recorded in the first buffer, and record the dirty page using the second buffer.
Optionally, the first recording module 501 includes: a recording submodule 5011 is configured to record the dirty page in the first buffer based on the address information of the dirty page.
Optionally, the recording submodule 5011 includes: a recording unit 5013 configured to record the dirty page in the first buffer based on the address information of the first buffer and the address information of the dirty page.
Optionally, the first buffer includes a bitmap buffer, and the recording unit 5013 includes: a determining subunit 5014 configured to determine, based on the address information of the bitmap buffer and the address information of the dirty page, a bit in the bitmap buffer corresponding to the dirty page; a set subunit 5015, configured to perform a set operation on a bit corresponding to the dirty page, so as to record the dirty page in the first buffer.
Optionally, the determining subunit 5014 is specifically configured to: determining a number of a bit corresponding to the dirty page in the bitmap buffer based on address information of the dirty page and a size of the dirty page; and determining the bit corresponding to the dirty page in the bitmap buffer based on the address information of the bitmap buffer and the number of the bit.
Optionally, before the recording unit 5013, the recording submodule 5011 further includes: a writing unit 5012, configured to write address information of the first buffer into the virtual machine control structure corresponding to a virtual processor of the virtual machine.
The dirty page recording device in this embodiment is configured to implement the corresponding dirty page recording methods in the foregoing multiple method embodiments, and has the beneficial effects of the corresponding method embodiments, which are not described herein again.
Fig. 6 is a schematic structural diagram of an electronic device in a sixth embodiment of the present application; the electronic device may include:
one or more processors 601;
a computer readable medium 602, which may be configured to store one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the dirty page recording method as described in the first or second embodiments above.
Fig. 7 is a hardware structure of an electronic device in a seventh embodiment of the present application; as shown in fig. 7, the hardware structure of the electronic device may include: a processor 701, a communication interface 702, a computer readable medium 703 and a communication bus 704;
wherein the processor 701, the communication interface 702, and the computer readable medium 703 communicate with each other via the communication bus 704;
Alternatively, the communication interface 702 may be an interface of a communication module, such as an interface of a GSM module;
the processor 701 may be specifically configured to: when determining that a page in a memory of a virtual machine has a dirty page to be recorded, recording the dirty page by using a first buffer area; when the page content of the dirty page recorded by the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to a second buffer zone, and the dirty page is recorded by using the second buffer zone.
The processor 701 may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), and the like; but may also be a Digital Signal Processor (DSP), application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The computer readable medium 703 may be, but is not limited to, random access Memory (Random Access Memory, RAM), read Only Memory (ROM), programmable Read Only Memory (Programmable Read-Only Memory, PROM), erasable Read Only Memory (Erasable Programmable Read-Only Memory, EPROM), electrically erasable Read Only Memory (Electric Erasable Programmable Read-Only Memory, EEPROM), etc.
In particular, according to embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code configured to perform the method shown in the flow chart. In such embodiments, the computer program may be downloaded and installed from a network via a communication portion, and/or installed from a removable medium. The above-described functions defined in the method of the present application are performed when the computer program is executed by a Central Processing Unit (CPU). It should be noted that, the computer readable medium described in the present application may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage media element, a magnetic storage media element, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In the present application, however, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, with computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
Computer program code configured to carry out operations of the present application may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of remote computers, the remote computers may be connected via any kind of network: including a Local Area Network (LAN) or a Wide Area Network (WAN), to connect to the user's computer, or may be connected to external computers (e.g., by way of the internet using an internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions configured to implement the specified logical function(s). The specific relationships in the embodiments described above are merely exemplary, and fewer, more, or an adjusted order of execution of the steps may be possible in a specific implementation. That is, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The modules involved in the embodiments described in the present application may be implemented by software, or may be implemented by hardware. The described modules may also be provided in a processor, for example, as: a processor includes a first recording module and a first switching module. The names of these modules do not limit the module itself in some cases, for example, the first recording module may also be described as "a module that records a dirty page to be recorded using the first buffer when it is determined that the dirty page exists in the memory of the virtual machine.
As another aspect, the present application also provides a computer-readable medium having stored thereon a computer program which, when executed by a processor, implements the dirty page recording method as described in the above embodiment one or embodiment two.
As another aspect, the present application also provides a computer-readable medium that may be contained in the apparatus described in the above embodiments; or may be present alone without being fitted into the device. The computer readable medium carries one or more programs which, when executed by the apparatus, cause the apparatus to: when determining that a page in a memory of a virtual machine has a dirty page to be recorded, recording the dirty page by using a first buffer area; when the page content of the dirty page recorded by the first buffer zone is determined to be thermally migrated, the first buffer zone is switched to a second buffer zone, and the dirty page is recorded by using the second buffer zone.
The terms "first," "second," "the first," or "the second," as used in various embodiments of the present disclosure, may modify various components without regard to order and/or importance, but these terms do not limit the corresponding components. The above description is only configured for the purpose of distinguishing an element from other elements. For example, the first user device and the second user device represent different user devices, although both are user devices. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure.
When an element (e.g., a first element) is referred to as being "coupled" (operatively or communicatively) to "another element (e.g., a second element) or" connected "to another element (e.g., a second element), it is understood that the one element is directly connected to the other element or the one element is indirectly connected to the other element via yet another element (e.g., a third element). In contrast, it will be understood that when an element (e.g., a first element) is referred to as being "directly connected" or "directly coupled" to another element (a second element), then no element (e.g., a third element) is interposed therebetween.
The foregoing description is only of the preferred embodiments of the present application and is presented as a description of the principles of the technology being utilized. It will be appreciated by persons skilled in the art that the scope of the invention referred to in this application is not limited to the specific combinations of features described above, but it is intended to cover other embodiments in which any combination of features described above or equivalents thereof is possible without departing from the spirit of the invention. Such as the above-described features and technical features having similar functions (but not limited to) disclosed in the present application are replaced with each other.
Claims (20)
1. A dirty page recording method, the method comprising:
when determining that a page in a memory of a virtual machine has a dirty page to be recorded, recording the dirty page by using a first buffer area;
when determining to thermally migrate the page content of the dirty page recorded by the first buffer, switching the first buffer to a second buffer, and recording the dirty page by using the second buffer, wherein the switching the first buffer to the second buffer includes: writing the address information of the second buffer area into a virtual machine control structure body corresponding to a virtual processor of the virtual machine, and executing zero clearing operation on a mark register of the virtual machine control structure body; and executing write operation on the synchronous register of the virtual machine control structure body to inform the virtual processor to switch the first buffer zone to the second buffer zone based on the address information of the second buffer zone written in the virtual machine control structure body corresponding to the virtual processor.
2. The method of claim 1, wherein the method further comprises:
the flag register is queried to determine whether the virtual processor has completed switching the first buffer to the second buffer.
3. The method of claim 2, wherein the method further comprises:
and when the virtual processor is determined to finish switching the first buffer zone into the second buffer zone, performing hot migration on the page content of the dirty page recorded by the first buffer zone to a destination physical machine.
4. The method of claim 3, wherein the thermally migrating the page content of the dirty page recorded by the first buffer to a destination physical machine comprises:
and reading the first buffer area, and thermally migrating page contents of the dirty pages corresponding to the set bits in the first buffer area to the destination physical machine.
5. The method of claim 4, wherein the method further comprises:
a clear operation is performed on the set bits in the first buffer.
6. The method of claim 1, wherein the recording the dirty page using a first buffer comprises:
and recording the dirty page in the first buffer area based on the address information of the dirty page.
7. The method of claim 6, wherein the recording the dirty page in the first buffer based on address information of the dirty page comprises:
and recording the dirty page in the first buffer area based on the address information of the first buffer area and the address information of the dirty page.
8. The method of claim 7, wherein the first buffer comprises a bitmap buffer,
the recording the dirty page in the first buffer based on the address information of the first buffer and the address information of the dirty page includes:
determining bits in the bitmap buffer corresponding to the dirty pages based on the address information of the bitmap buffer and the address information of the dirty pages;
and performing a set operation on a bit corresponding to the dirty page to record the dirty page in the first buffer.
9. The method of claim 8, wherein the determining bits in the bitmap buffer corresponding to the dirty page based on the bitmap buffer address information and the dirty page address information comprises:
determining a number of a bit corresponding to the dirty page in the bitmap buffer based on address information of the dirty page and a size of the dirty page;
And determining the bit corresponding to the dirty page in the bitmap buffer based on the address information of the bitmap buffer and the number of the bit.
10. The method of claim 7, wherein the recording the dirty page before the first buffer based on the address information of the first buffer and the address information of the dirty page further comprises:
and writing the address information of the first buffer area into the virtual machine control structure body corresponding to the virtual processor of the virtual machine.
11. The method of any of claims 1-10, wherein prior to recording the dirty page using the first buffer, the method further comprises:
and allocating the first buffer zone and the second buffer zone for a virtual processor of the virtual machine.
12. The method of claim 11, wherein the method further comprises:
when the iterative process of the thermomigration is completed, the first buffer zone and the second buffer zone are released.
13. A dirty page recording apparatus, the apparatus comprising:
the first recording module is used for recording the dirty pages by using the first buffer area when determining that the pages in the memory of the virtual machine have the dirty pages to be recorded;
The first switching module is configured to switch the first buffer to a second buffer and record the dirty page using the second buffer when determining to thermally migrate the page content of the dirty page recorded in the first buffer, where the first switching module is specifically configured to: writing the address information of the second buffer area into a virtual machine control structure body corresponding to a virtual processor of the virtual machine, and executing zero clearing operation on a mark register of the virtual machine control structure body; and executing write operation on the synchronous register of the virtual machine control structure body to inform the virtual processor to switch the first buffer zone to the second buffer zone based on the address information of the second buffer zone written in the virtual machine control structure body corresponding to the virtual processor.
14. The apparatus of claim 13, wherein the first recording module comprises:
and the recording submodule is used for recording the dirty pages in the first buffer area based on the address information of the dirty pages.
15. The apparatus of claim 14, wherein the recording sub-module comprises:
and the recording unit is used for recording the dirty pages in the first buffer area based on the address information of the first buffer area and the address information of the dirty pages.
16. The apparatus of claim 15, wherein the first buffer comprises a bitmap buffer,
the recording unit includes:
a determining subunit, configured to determine, based on address information of the bitmap buffer and address information of the dirty page, a bit in the bitmap buffer corresponding to the dirty page;
and the setting subunit is used for executing setting operation on a bit corresponding to the dirty page so as to record the dirty page in the first buffer area.
17. The apparatus of claim 16, wherein the determining subunit is specifically configured to:
determining a number of a bit corresponding to the dirty page in the bitmap buffer based on address information of the dirty page and a size of the dirty page;
and determining the bit corresponding to the dirty page in the bitmap buffer based on the address information of the bitmap buffer and the number of the bit.
18. The apparatus of claim 15, wherein the recording sub-module further comprises, prior to the recording unit:
and the writing unit is used for writing the address information of the first buffer zone into the virtual machine control structure body corresponding to the virtual processor of the virtual machine.
19. An electronic device, comprising:
One or more processors;
a computer readable medium configured to store one or more programs,
the one or more programs, when executed by the one or more processors, cause the one or more processors to implement the dirty page recording method of any of claims 1-12.
20. A computer readable medium having stored thereon a computer program, wherein the program when executed by a processor implements a dirty page recording method as claimed in any of claims 1 to 12.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359730.XA CN113032088B (en) | 2019-12-25 | 2019-12-25 | Dirty page recording method, device, electronic equipment and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911359730.XA CN113032088B (en) | 2019-12-25 | 2019-12-25 | Dirty page recording method, device, electronic equipment and computer readable medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113032088A CN113032088A (en) | 2021-06-25 |
CN113032088B true CN113032088B (en) | 2023-12-22 |
Family
ID=76458322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911359730.XA Active CN113032088B (en) | 2019-12-25 | 2019-12-25 | Dirty page recording method, device, electronic equipment and computer readable medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113032088B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115586943B (en) * | 2022-09-16 | 2023-08-15 | 杭州熠芯科技有限公司 | Hardware marking implementation method for dirty pages of virtual machine of intelligent network card |
CN117539797B (en) * | 2024-01-10 | 2024-04-19 | 深圳星云智联科技有限公司 | Dirty page recording method and related equipment |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100006625A (en) * | 2008-07-10 | 2010-01-21 | 한양대학교 산학협력단 | Apparatus and method for managing page buffer linked with flash memory and apparatus and method for changing page of flash memory |
CN101808141A (en) * | 2010-04-19 | 2010-08-18 | 浙江大学 | Host and client cooperated page swapping method based on virtualized platform |
CN103414769A (en) * | 2013-07-31 | 2013-11-27 | 华为技术有限公司 | Virtual machine thermal migration method and physical machine |
CN103514110A (en) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | Cache management method and device for nonvolatile memory device |
CN104268003A (en) * | 2014-09-30 | 2015-01-07 | 南京理工大学 | Memory state migration method applicable to dynamic migration of virtual machine |
CN107341112A (en) * | 2017-06-29 | 2017-11-10 | 西安交通大学 | A kind of flash data buffer area replacement method based on page access interval |
CN107729119A (en) * | 2017-09-26 | 2018-02-23 | 联想(北京)有限公司 | Virtual machine migration method and its system |
CN108037980A (en) * | 2018-01-02 | 2018-05-15 | 腾讯科技(深圳)有限公司 | Control performs the method, apparatus and readable storage medium storing program for executing of live migration of virtual machine |
CN108762664A (en) * | 2018-02-05 | 2018-11-06 | 杭州电子科技大学 | A kind of solid state disk page grade buffer queue management method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4387261B2 (en) * | 2004-07-15 | 2009-12-16 | 株式会社日立製作所 | Computer system and storage system migration method |
US8725953B2 (en) * | 2009-01-21 | 2014-05-13 | Arm Limited | Local cache power control within a multiprocessor system |
-
2019
- 2019-12-25 CN CN201911359730.XA patent/CN113032088B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100006625A (en) * | 2008-07-10 | 2010-01-21 | 한양대학교 산학협력단 | Apparatus and method for managing page buffer linked with flash memory and apparatus and method for changing page of flash memory |
CN101808141A (en) * | 2010-04-19 | 2010-08-18 | 浙江大学 | Host and client cooperated page swapping method based on virtualized platform |
CN103514110A (en) * | 2012-06-20 | 2014-01-15 | 华为技术有限公司 | Cache management method and device for nonvolatile memory device |
CN103414769A (en) * | 2013-07-31 | 2013-11-27 | 华为技术有限公司 | Virtual machine thermal migration method and physical machine |
CN104268003A (en) * | 2014-09-30 | 2015-01-07 | 南京理工大学 | Memory state migration method applicable to dynamic migration of virtual machine |
CN107341112A (en) * | 2017-06-29 | 2017-11-10 | 西安交通大学 | A kind of flash data buffer area replacement method based on page access interval |
CN107729119A (en) * | 2017-09-26 | 2018-02-23 | 联想(北京)有限公司 | Virtual machine migration method and its system |
CN108037980A (en) * | 2018-01-02 | 2018-05-15 | 腾讯科技(深圳)有限公司 | Control performs the method, apparatus and readable storage medium storing program for executing of live migration of virtual machine |
CN108762664A (en) * | 2018-02-05 | 2018-11-06 | 杭州电子科技大学 | A kind of solid state disk page grade buffer queue management method |
Non-Patent Citations (2)
Title |
---|
Santiago Bock et al.Concurrent page migration for mobile systems with OS-managed hybrid memory.《CF '14: Proceedings of the 11th ACM Conference on Computing Frontiers》.2014,全文. * |
由动态页面重排序传输实现高效热迁移;孙红;孔超宇;苏南;;计算机与网络(11);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113032088A (en) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9671970B2 (en) | Sharing an accelerator context across multiple processes | |
CN111949605B (en) | Method, apparatus and computer program product for implementing a file system | |
US9563458B2 (en) | Offloading and parallelizing translation table operations | |
KR102321913B1 (en) | Non-volatile memory device, and memory system having the same | |
US20180121352A1 (en) | Efficient and secure direct storage device sharing in virtualized environments | |
US11132290B2 (en) | Locality domain-based memory pools for virtualized computing environment | |
US10534720B2 (en) | Application aware memory resource management | |
US9886398B2 (en) | Implicit sharing in storage management | |
CN107209683B (en) | Backup image restore | |
US9529618B2 (en) | Migrating processes between source host and destination host using a shared virtual file system | |
US10445249B2 (en) | Facilitating access to memory locality domain information | |
US9563572B2 (en) | Migrating buffer for direct memory access in a computer system | |
CN113032088B (en) | Dirty page recording method, device, electronic equipment and computer readable medium | |
CN112764668A (en) | Method, electronic device and computer program product for expanding GPU memory | |
US10691590B2 (en) | Affinity domain-based garbage collection | |
US9606827B2 (en) | Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest | |
US9612860B2 (en) | Sharing memory between guests by adapting a base address register to translate pointers to share a memory region upon requesting for functions of another guest | |
US10228859B2 (en) | Efficiency in active memory sharing | |
US11429412B2 (en) | Guest protection from application code execution in kernel mode | |
US10223284B2 (en) | Flexible I/O DMA address allocation in virtualized systems | |
CN115221073A (en) | Memory management method and device for physical server for running cloud service instance | |
US20170147375A1 (en) | Provisioning based on workload displacement | |
US20120054773A1 (en) | Processor support for secure device driver architecture | |
CN117742957B (en) | Memory allocation method, memory allocation device, electronic equipment and storage medium | |
US11106588B2 (en) | Deferred method of allocating disk space for lightning segments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |