WO2016013098A1 - 物理計算機及び仮想計算機移行方法 - Google Patents

物理計算機及び仮想計算機移行方法 Download PDF

Info

Publication number
WO2016013098A1
WO2016013098A1 PCT/JP2014/069639 JP2014069639W WO2016013098A1 WO 2016013098 A1 WO2016013098 A1 WO 2016013098A1 JP 2014069639 W JP2014069639 W JP 2014069639W WO 2016013098 A1 WO2016013098 A1 WO 2016013098A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory
physical
virtual
virtual machine
computer
Prior art date
Application number
PCT/JP2014/069639
Other languages
English (en)
French (fr)
Inventor
栄一郎 大岩
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/069639 priority Critical patent/WO2016013098A1/ja
Publication of WO2016013098A1 publication Critical patent/WO2016013098A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present invention relates to a technique for appropriately rearranging the memory arrangement to be used so that the memory used by the OS can use a wide-band, low-latency memory among available memory resources.
  • NUMA Non-uniform memory access
  • LPAR Logical Partition
  • hypervisor A program that realizes a Logical Partition that virtually divides a physical computer is called a hypervisor.
  • This Hypervisor makes one physical computer appear to a plurality of divided virtual machines (virtual machines) by dividing a computing resource in time or space.
  • the memory allocated to the virtual machine needs to store the stored information temporarily in a storage device (Storage) other than memory in order to divide the time.
  • Storage storage device
  • Hard Disk is used as a storage device for temporary storage.
  • a method of time-dividing Memory is known as a virtual memory function.
  • memory can be divided by dividing a large memory space and assigning it to each virtual machine.
  • the hard disk used for virtual memory has a larger input / output (access) delay and smaller input / output bandwidth than memory.
  • time-sharing Memory it is necessary to swap information between memory and hard disk. For this reason, the memory division based on space division has a smaller delay required for input / output and the input / output bandwidth is larger than the memory division based on time division.
  • a memory configuration different from that before migration may be a configuration that reduces the performance of a program running on the migration target virtual machine.
  • the present invention provides a technique for reducing performance degradation in response to the above problems.
  • the computer system of the present invention includes a plurality of first processors associated with a plurality of NUMA (Non-Uniform Memory Access) nodes, a plurality of first memories associated with the plurality of NUMA nodes, and the plurality of first CPUs. And a first physical computer comprising a first virtualization mechanism for allocating the plurality of first memories to a plurality of virtual computers, a plurality of second processors associated with a plurality of NUMA nodes, and a plurality of NUMA nodes A second physical computer including a plurality of second memories attached, and a second virtualization mechanism for managing the plurality of second processors and the plurality of second memories.
  • NUMA Non-Uniform Memory Access
  • a first virtual machine to which a processor belonging to the first NUMA node among the plurality of first processors and a memory belonging to the first NUMA node among the plurality of first memories are allocated is transferred from the first physical computer to the second virtual machine.
  • the second virtualization mechanism includes a processor belonging to a second NUMA node among the plurality of second CPUs, a memory belonging to a second NUMA node among the plurality of second memories, and the A second virtual machine to which a memory belonging to the third NUMA node among a plurality of second memories is assigned is created as a migration destination of the first virtual machine, and the update status of the first memory of the first virtual machine is determined.
  • the second virtual computation is monitored so that data frequently updated by the first virtual computer is stored in a memory belonging to a second NUMA node among the plurality of second memories.
  • FIG. 1 shows a physical configuration diagram of a computer system according to an embodiment of the present invention.
  • FIG. The block diagram of Package concerning embodiment of this invention is shown.
  • the logical block diagram of the computer system in connection with embodiment of this invention is shown.
  • the data block diagram which showed the relative distance between each Node in connection with embodiment of this invention with the value is shown.
  • the migration source physical computer Memory Node management information according to the embodiment of the present invention is shown.
  • the migration destination physical computer Memory Node management information virtual according to the embodiment of the present invention is shown.
  • FIG. 3 shows a configuration diagram of a virtual computer during movement of the virtual computer according to the embodiment of the present invention.
  • 10 shows management information of a migration-destination physical computer Memory ⁇ Node during and after migration of virtual computers according to an embodiment of the present invention.
  • the virtual node and physical node correspondence information of the migration source physical computer showing the relationship between the physical memory node and the virtual memory node used by the virtual computer according to the embodiment of the present invention are shown.
  • the virtual node and physical node correspondence information of the migration destination physical computer showing the relationship between the physical memory node and the virtual memory node used by the virtual computer according to the embodiment of the present invention are shown.
  • the virtual node and physical node correspondence information of the migration destination physical computer showing the relationship between the physical memory node and the virtual memory node used by the virtual computer according to the embodiment of the present invention are shown.
  • 4 shows a processing flow of virtual machine migration according to the embodiment of the present invention. The figure explaining EPT in connection with embodiment of this invention is shown.
  • the figure explaining EPT PT entry related to the embodiment of the present invention is shown.
  • PD_entry concerning embodiment of this invention is shown.
  • the virtual physical address correspondence information of the destination physical computer explaining the relationship between the memory address of the virtual computer and the memory address of the physical computer according to the embodiment of the present invention is shown.
  • the virtual physical address correspondence information of the destination physical computer that explains the relationship between the memory address of the virtual computer and the memory address of the physical computer during the virtual machine movement related to the embodiment of the present invention is shown.
  • the figure explaining the Node position of the virtual machine in connection with embodiment of this invention is shown.
  • the operating physical computer is a NUMA-configured computer (such as machine 100 and machine 200 in FIG. 1)
  • the physical memory (memory) that can be used by the virtual machine (LPAR) is the processor that the virtual computer uses. It is not always possible to use local memory in the same node.
  • the virtual machine when moving a virtual computer on a physical computer with a NUMA configuration to another physical computer, another virtual computer is already in operation at the destination physical computer, which is optimal for the other virtual computer.
  • the physical memory is allocated to the other virtual machine so that the memory configuration is the same. For this reason, the virtual machine to be moved may not be able to move without assigning physical memory in a node other than the node (node) to which the processor used at the transfer destination belongs.
  • the virtual machine to be moved has a configuration different from the virtual memory configuration and the physical memory configuration.
  • the virtual machine LPAR 1012 of FIG. 7 is configured such that the Virtual processor 3402 and the Logical memory 3302 are allocated to the same virtual node 3202.
  • the virtual processor 3402 uses the physical processor in the node 210 in FIG. 1, the logical memory 3302 assigns the physical memory in the node 210 and the node 232 in FIG.
  • the physical nodes are not the same.
  • the performance of the program on the virtual machine may be degraded due to a mismatch between the virtual memory configuration and the physical memory configuration.
  • the memory that is determined to be frequently used during the movement is the physical memory in the same physical node as the physical processor used after the movement or the physical that is in the next closest node.
  • FIG. 1 shows the configuration of a computer system related to the embodiment.
  • the physical computer Machine 100 is a source computer that moves a virtual computer. Information necessary for the movement is transmitted / received via the machine 200 as the movement destination physical computer and the Ethernet (registered trademark) switch 104 as the relay apparatus.
  • the physical computer Machine 100 includes an input / output device NIC (network interface card) 151 that connects information necessary for movement to the Ethernet Switch 104.
  • the NIC 151 of the physical machine Machine 100 is connected to an I / O Hub 141 that arbitrates input / output information from inside to outside the physical computer Machine 100 and from outside to inside.
  • the I / O Hub 141 is connected to the Package 121 of the Node 111 and the Package 123 of the Node 113.
  • Data such as a program on the virtual machine that is to be stored in a nonvolatile manner is stored in the storage 103, which is an external storage device.
  • the Storage 103 is connected to the HBA (Host Bus Adapter) 150 of the source physical computer Machine 100 and the HBA 250 of the destination physical computer Machine 200 via the fabric switch 102 as a relay device.
  • HBA Hyper Bus Adapter
  • the HBA 150 transmits / receives information to / from the physical processor or physical memory 130, physical memory 131, physical memory 132, physical memory 133 in the package 120, the package 121, the package 122, and the package 123 via the I / O hub 140.
  • Package 120, Package 121, Package 12, Package 123, Package 220, Package 221, Package 222, Package 223 include multiple processors in the Package, as in Package 300 in FIG. 2.
  • the Package 300 in FIG. 2 is an example in which four processors 310, processor 311, processor 312, and processor 313 are mounted.
  • the processor installed in the Package 120 in FIG. 1 is installed in the same Node 110 as the Memory 130. Similarly, the processor and Memory 131 of the Package 121 are mounted on the Node 111, the processor and Memory 132 of the Package 122 are mounted on the Node 112, and the processor and Memory 133 of the Package 123 are respectively mounted.
  • the relative distance between Node 110, Node 111, Node 112, and Node 113 is a value as described in Machine 100, System, Locality, Distance, Information, Table (SLIT) 400 of FIG. 4 (the values in FIG. 4 are expressed in hexadecimal notation).
  • the value shown in SLIT 400 indicates that the larger the value is, the farther the relationship between the nodes is.
  • the distance between Node 110 and Node 110 in FIG. 4 is indicated as 0x0A
  • the distance between Node 110 and Node 111 is indicated as 0x17. Since 0x0A is smaller than 0x17, it indicates that the distance between Node 110 and Node 110 is shorter than the distance between Node 110 and Node 111. Since Node 110 and Node 110 are the same Node, it is clear that the value is small.
  • the configuration in the destination physical computer Machine 200 in FIG. 1 is the same as that of the source physical computer Machine 100. Since the HBA 250 is connected to the Fabric Switch 102, the Storage 103 that can be accessed from the physical machine Machine 100 can also be accessed from the physical machine machine 200. Similar to the HBA 150, the HBA 250 transmits and receives information to and from the physical processor in the package 220, the package 221, the package 222, and the package 223, the physical memory 230, the physical memory 231, the physical memory 232, and the physical memory 233 via the I / O hub 240.
  • the NIC 251 is used for delivering information necessary for moving a virtual machine from the physical computer Machine 100 to the physical computer Machine 200, or conversely, passing information from the physical computer Machine 200 to the physical computer Machine 100.
  • This NIC 251 is connected to I / O Hub 241 and is connected to Package 221 and Package 223.
  • a physical processor and a memory 230 in the package 220 are mounted in the node 210.
  • the physical processor and memory 231 in the package 221, the physical processor and memory 232 in the package 222, and the physical processor and memory 233 in the package 223 are mounted on the node 211, the node 212, and the node 213, respectively.
  • the relative distance between Node 210, Node 211, Node 212, and Node 213 is a value described in Machine 200, System, Locality, Distance, Information, Table (SLIT) 500 in FIG. 4 (the values in FIG. 4 are expressed in hexadecimal notation). The meaning of the value is the same as the value described in FIG.
  • FIG. 3 shows a logical configuration diagram of the computer system according to the embodiment of the present invention.
  • the virtual computer 101 in FIG. 3 operates on the migration source physical computer Machine 100 and moves to the migration destination physical computer 200.
  • the logical memory 330 of the VNode 320 uses the memory allocated from the memory 130 of the physical node 110 in FIG.
  • the logical memory 331 of the VNode 321 in FIG. 3 uses the memory allocated from the memory 132 of the physical node 112 in FIG.
  • the hypervisor 327 allocates physical memory on the migration source physical computer Machine 100.
  • a table 600 in FIG. 5 shows the migration source physical computer Memory Node management information.
  • the migration source physical computer Memory Node management information is stored in one of the memories 130, 131, 132, and 133 of the migration source physical computer Machine 100 and can be referred to and updated by the hypervisor 327.
  • the migration source physical computer Memory Node management information 600 describes to which virtual computer the physical memory of the migration source physical computer Machine 100 is assigned.
  • Address 601 of FIG. 5 has shown the physical address allocated to physical Memory on a physical computer.
  • the column of PhysicalPhysNode 602 in FIG. 5 indicates a physical node.
  • a symbol indicating a virtual machine to which Memory is allocated is entered. Therefore, each column of the table 600 in FIG. 5 shows the relationship between the physical node allocated to the physical memory address and the symbol indicating the allocated virtual computer. “-” In the table 600 of FIG. 5 indicates that there is no assigned virtual machine.
  • the physical processor in the package 120 of the physical computer machine 100 and the physical processor in the package 122 are time-divided and operate as virtual processors. Therefore, the physical memory and the physical processor in the physical node 110 are allocated to the VNode 320. Further, the physical memory and the physical processor in the physical node 112 are allocated to the VNode 321. Therefore, the Node configuration virtually shown to the virtual machine (LPAR 101) is consistent with the physical NUMA configuration.
  • NIC 325 assign I / O
  • the Hypervisor 327 controls the devices realized by these time division or space division.
  • the virtual computer LPAR 201 is operating before the virtual computer LPAR 101 is moved.
  • FIG. 3 The logical memory 350 of the virtual VNode 350, the logical memory 351 of the VNode 351, the logical memory 352 of the VNode 352, and the logical memory 353 of the VNode 353 are allocated from the memory 230 of the physical node 210, the memory 231 of the physical node 211, the memory 232 of the physical node 212, and the memory 233 of the physical node 213, respectively. Use Memory.
  • Table 610 in FIG. 6 shows the migration destination physical computer Memory Node management information.
  • the migration source physical computer Memory Node management information 610 is stored in one of the memories 230, 231, 232, and 233 of the migration destination physical computer Machine 200, and can be referenced and updated from the hypervisor 358.
  • the migration source physical computer Memory Node management information 610 indicates the physical memory allocation state of the virtual machine LPAR 201, as with the migration destination physical computer Memory Node management information 600 of FIG.
  • Host physical Address 611, Physical Node 612, and Allocated LPAR 613 have the same meaning as Host 60 Physical 1 Address 601, Memory Node 602, and Allocated LPAR 603 described in Table 600 of Fig. 5.
  • the physical computer Machine 100 is replaced with the physical computer Machine 200, , The same value.
  • Virtual Node Processor 360 of VNode 350 in FIG. 3 Virtual Processor 361 of VNode 351, Virtual Processor 362 of V Node 352, and Virtual Processor 363 of V Node 353 are respectively a physical Processor in Package 220 of Physical Node 220 in FIG. 1, a Physical Processor in Package 221 of Physical Node 221 and a Physical Node 222 A physical processor in the package 222 and a physical processor in the package 223 of the physical node 223 are allocated in a time-sharing manner.
  • the VNode350, VNode351, VNode352, and VNode353 are assigned the physical memory and physical processor in the physical node 210, physical node 212, physical node 213, and physical node 214, respectively.
  • the distance between existing nodes is consistent with the physical NUMA configuration.
  • the Virtual I / O Hub 354, the Virtual I / O Hub 356, the Virtual HBA 355, and the Virtual NIC 357 are assigned to the I / O Hub 240, the I / O Hub 241, the HBA 250, and the NIC 251 of the physical computer Machine 200 by time division or space division, respectively. Therefore, it is a Device that is virtually realized.
  • the Hypervisor 358 controls the devices realized by time division or space division.
  • FIG. 7 shows that the virtual machine LPAR 101 creates a virtual machine LPAR 1012 in the physical machine Machine 200 in order for the virtual machine LPAR 101 to move from the source physical machine Machine 100 to the destination physical machine Machine 200.
  • the virtual machine LPAR1012 duplicates and creates the virtual machine LPAR101.
  • duplicating means creating an LPAR 1012 to which the same number of Virtual processors and the same amount of Logical memory as the LPAR 101 are allocated.
  • the virtual machine LPAR 201 already exists in the physical machine Machine 200.
  • Computer resources (such as physical memory) that can be allocated to the LPAR 1012 are those that are not allocated to the LAPR 201 among the computer resources of the physical computer Machine 200.
  • FIG. 8 shows the migration-destination physical computer Memory ⁇ Node management information during and after the virtual computer migration.
  • the physical memory of the migration destination physical computer is allocated like the migration destination physical computer Memory Node management information 620 in FIG. 8, Host Physical Address 621, Physical Node 622, Allocated LPAR 623 have the same meaning as Host Physical Address 611, Memory Node 612, and Allocated LPAR 613 of FIG.
  • the virtual processor Processor 3402 and the virtual processor 3412 of the destination virtual virtual machine LPAR 1012 are divided into time processors or physical processors in the package 220 of the physical machine Machine 200 (processors in the node 210) and physical processors in the package 222 (processors in the node 212), respectively. It is divided into spaces and operates as a virtual processor. Therefore, if the destination replication virtual machine LPAR 1012 allocates physical memory from two nodes such as Memory 230 of the physical node 210 and Memory 232 of the physical node 212, the NUMA configuration of the physical memory used on the migration source physical machine Machine 100, and It becomes the same composition.
  • the virtual computer 1012 appears to be composed of two virtual nodes, but actually uses the memory of three physical nodes.
  • the hypervisor 358 assigns the physical processor in the package 120 of the physical node 110 and the physical processor in the package 122 of the physical node 112 in a time division manner. For this reason, the program on the virtual machine recognizes that Processor and Memory in the same Node are being used, but the actual Processor and Memory used actually are Processor and Memory in different Nodes. There is a case.
  • Table 640 in FIG. 10 assigns to which physical node and virtual node the physical address on the virtual computer when the virtual computer LPAR1012 is replicated to the physical computer Machine200. It is the table
  • FIG. 11 shows virtual node and physical node correspondence information of the migration destination physical computer during and after movement of the virtual computer.
  • the above-described Host physical address is the physical memory address recognized by the hypervisor. This Host physical address is not recognized by the virtual machine. On the other hand, Guest physical address is an address of logical memory recognized by the virtual machine.
  • the column of Guest Physical address 641 indicates the physical physical ⁇ address shown to the program of the virtual machine LPAR 1012
  • the column of Physical Node 642 indicates the physical node that is actually assigned
  • the column of Virtual Node 643 indicates the logical node that is virtually shown.
  • the Processor and Memory in the different physical nodes described above are physical memories assigned to GuestGPhysical ⁇ Address ⁇ ⁇ ⁇ ⁇ 0x20000000-0x2fffffffff and Guest Physical Address0x50000000-0x5fffffffff in Table 630 of FIG.
  • Table 9 is a table showing which physical node and virtual node the physical address on the virtual machine LPAR 101 is assigned to.
  • Table 630 virtual node and physical node correspondence information of the migration source physical computer
  • Guest physical address 631, physical memory node 632, and virtual memory node 633 correspond to guest physical address 641, physical memory node 642, and virtual memory node 643 in FIG. 10, respectively, and have the same meaning as when the virtual machine LPAR 1012 is replaced with the virtual machine LPAR 101.
  • the table 630 of FIG. 9 shows that the memory of two virtual nodes is allocated to the memory of two physical nodes, unlike the table 640 of FIG.
  • Virtual I / O Hub 3222, Virtual I / O Hub 3242, Virtual HBA 3232, and Virtual NIC 3252 of the virtual machine LPAR 1012 in Fig. 7 are the Virtual I / O Hub 322, Virtual I / O Hub 324, Virtual HBA 323, Virtual HBA 323, Virtual, respectively. It is a duplicate of the NIC 325.
  • the management information shown in FIGS. 9, 10, and 11 is generated and managed by the hypervisors 328 and 358 when the virtual machine LPAR 1012 is migrated from the physical machine machine 100 to the physical machine machine 200, and the memories 130, 131, 132, 133, and 230 are managed. , 231, 232, 233.
  • the Hypervisor 327 of the migration source physical computer Machine 100 receives the virtual computer migration request and starts to migrate the virtual computer LPAR 101 (processing S100).
  • the Hypervisor 358 of the migration destination physical computer Machine 200 receives the virtual computer migration request and prepares the migration of the virtual computer LPAR 101 (processing S200).
  • the Hypervisor 327 transfers the virtual machine configuration (LPAR configuration) such as the virtual processor, logical memory configuration (NUMA configuration), Device configuration (I / O Hub, HBA, NIC configuration) of the virtual machine LPAR 101 to the destination physical computer Machine 200 (processing) S101) Samurai.
  • the configuration of the virtual computer transferred to the destination physical computer Machine 200 includes information indicating the correspondence between the Guest Physical address of the LPAR 101 and the Virtual Node, and information indicating the correspondence between the Virtual processor of the LPAR 101 and the Virtual Node.
  • the migration source hypervisor 358 receives the configuration information of the virtual machine LPAR 101 (process S201) and creates the virtual machine LPAR 1012 (process S202).
  • the created virtual machine performs a process called activate to virtually turn on the power of the machine (process S203).
  • processing for allocating resources in the physical machine Machine 200 to the virtual machine LPAR 1012 such as physical memory allocation and physical processor allocation is performed.
  • the host physical address of physical memory that can be allocated to the virtual machine LPAR 1012 is associated with the guest physical address of the virtual machine LPAR 1012. That is, FIG. 10 described above is created at this time. It is desirable to allocate physical memory to the virtual machine LPAR 1012 so that the NUMA configuration equivalent to that of the virtual machine LPAR 101 is obtained.
  • the Hypervisor 358 allocates physical memory to the virtual machine LPAR 1012 based on the information indicating the correspondence relationship between the Guest Physical address and the Virtual Node of the LPAR 101 and the information indicating the correspondence relationship between the Virtual processor and the Virtual Node of the LPAR 101. At this time, as shown in FIG. 16, the Hypervisor 358 provisionally associates the Guest Physical address of the virtual machine LPAR 1012 with the Host Physical address of the allocated physical memory. After allocating resources in the physical computer, the virtual processor is brought into a stopped state so that the program on the virtual computer does not operate (processing S204).
  • the migration source Hypervisor 357 after the processing S101, shows that the program operating on the virtual machine LPAR101 has written to the allocated logical memory (Logical Memory 330, Logical Logical Memory 331), Guest Physical address In order to record, write protection is performed (process S102).
  • the physical processor used as an example of the present invention includes a table having a function capable of defining the relationship of the host physical address to the guest physical address called an extended page table (EPT).
  • EPT extended page table
  • the process S102 is realized by changing the attribute of the EPT.
  • FIG. 13 is a diagram illustrating how the Host Physical Address 706 assigned to the Guest Physical Address 700 is defined using EPT.
  • the Guest Physical Address 700 in FIG. 13 is divided and used as four types of element numbers (index). Bits 63-48 of Guest Physical Address 700 are not used.
  • Bit 47-39, Bit 38-30, Bit 29-21, and Bit 20-12 of Guest Physical Address 700 are used as an index of “EPT PML4” 702, an index of PEP 703 PDP 703, an index of PEP PD 704, and an index of PEP PT 705, respectively.
  • EPTP 701 indicates Host Physical Address where the head of “EPT PML4” 702 is placed.
  • Each entry of “EPT PML4” 702 indicates a Host Physical Address where the head of the next EPT PDP 703 is placed, and each entry of the EPT PDP 703 shows a Host Physical Address where the head of the next EPT PD 704 is placed.
  • Each entry of EPT PD 704 indicates Host Physical Address or Bit 51-21 of Host Physical Address 706 where the head of EPT PT 705 is placed.
  • each entry of EPT PT 705 indicates Bit 51-12 of Host Physical Address 706.
  • the table shown in FIG. 13 is described briefly, but a detailed usage method is described in Intel (R) 64 and IA-32 Architectures Software Developers'Manual Volume 3: System Programming Guide.
  • the program on the virtual machine LPAR 101 is used by using a bit (ignore bit) ⁇ that is ignored (not meaningful) by the physical processor among the entries of the EPT PD 704 and the entry of the EPT PT 705.
  • Bit (bit 63) ⁇ indicating whether the memory has been updated after sending the move destination information, or whether the Hypervisor Address pointing to the entry is an area used as a Guest Memory, or not a memory Memory Mapped Input Output Device ( It is used as a bit (bit 62) ⁇ ⁇ indicating whether it is a (Device assigned to the Hypervisor Address space) (bit 63, 62 in FIGS. 14 and 15).
  • EPT PD entry When the 7th bit of EPT PD 704 is 1, EPT PD entry indicates the relationship between Guest Physical Address and Host Physical Address in the 2 MB area. When 7th bit is 0, EPT PD entry is EPT PD entry. The top of PT 705 is shown, and each entry of EPT PT shows the relationship between Guest Physical Address and Host Physical Address in the 4 KB area.
  • the entry that sets the write permission bit (bit 1) 0 to 0 (write protection) ⁇ ⁇ is all entries (entries whose bit 62 is 1) G that is indicated to be Guest memory.
  • the virtual machine LPAR101 writes to Memory after the processing S102 is completed, 63 bits of EPT PT entry or EPT PD entry of the area where writing has been performed are set to 1 to record that writing has been performed. Thereafter, the write permission bit of the EPT PT entry or EPT PD entry in which the write is recorded is set to 1 to release the write protection so that the program on the virtual machine LPAR 101 can write to the actual memory.
  • the contents of the memory area other than the area that has been written and recorded (updated) is transferred to the destination physical computer. Transfers the Guest physical address and the data stored in the area other than the area where writing (update recording) has occurred and the data stored in the area to the destination physical computer. (Processing S103).
  • the contents of memory transmitted in the process S103 are copied to the Memory of the migration destination physical computer Machine200.
  • the contents of the received memory are replicated in the physical memory area corresponding to the host physical address shown in the table 660 of FIG. 16 according to the guest physical address (process S205). Note that GuestGPhysical Address 661 in FIG.
  • the Virtual machine 16 is the Guest Physical Address of the virtual machine LPAR 1012, and the contents of memory of the virtual machine LPAR101 and its GuestGPhysical Address are sent to the destination physical computer Machine 200 in step S103.
  • the Physical node 662 and the Host physical address 663 in FIG. 16 represent the physical node and physical memory address of the physical machine Machine 200 for the guest physical node 661, respectively.
  • processing S103 processing is performed once from a small region of Guest Physical Address to a large region, and then write protection is again performed for all guest memory regions by processing S104.
  • process S105 the fact that rewriting has been recorded is recorded, and the guest physical address and data in the memory area indicated by the EPT / PT entry or EPT / PD entry in the write protected state are transferred to the destination physical computer Machine 200.
  • the Hypervisor 358 receives the contents of the memory transferred in the process S105 (process S206).
  • Table 680 in FIG. 18 indicates where the physical processor 681 of the virtual machine LPAR 1012 uses the physical processor of the physical node 662 and which virtual node 683 is virtually used by the physical node.
  • the contents of Memory received in the process S206 are stored in the memory of the physical node at the same position as the physical node used in the source physical computer Machine 100 from FIG. 16 and FIG. It is determined whether or not copying is possible (processing S207). For example, when 4 KB of Memory content starting from GuestGPhysical Address 0x10000000 is received, it can be seen from Table 660 of FIG. 16 that the Memory content is assigned to memory in Physical Node 210. Furthermore, it can be seen from the table 680 in FIG. 18 that the physical processor in the Physical node 210 is assigned to the Virtual processor 3402. That is, it can be seen that the received memory in this example includes a physical processor that is a Local memory.
  • the contents of the received memory can be copied to the memory of the physical node located at the same position as the physical node used.
  • the memory that can be copied to the node equivalent to the movement source does not change the EPT that indicates the relationship between Guest Physical Address and Host Physical Address by processing S216, and the received Memory is the physical indicated by Host Physical Address according to Guest Physical Address. Duplicate to Memory.
  • a memory having a physical processor as local memory is selected from the physical memory allocated to the virtual machine LPAR 1012 (process S208).
  • a memory having a physical processor as local memory is selected from the physical memory allocated to the virtual machine LPAR 1012 (process S208).
  • the physical node to which the physical processor assigned to the specified virtual node belongs is specified.
  • candidate physical memory is selected from among the physical memories allocated to the virtual machine LPAR 1012. In an example of this patent, the remainder obtained by dividing the received guest physical address by the size of the physical memory that is a candidate in the above description is obtained.
  • the physical memory to be selected is the first physical memory obtained from the smallest value of Host Physical Address among the memory of candidate physical nodes (Host Physical Address is 0x0-0xfff, 0x2000- (This can be handled even when address is discontinuous, such as 0xffffff.)
  • the destination hypervisor 358 acquires the host physical address indicated by the received guest physical address from the EPT setting, and copies the contents of the memory area selected in step S208 to the area of the host physical address (processing 208) S209) Samurai. Thereafter, the contents of the received memory are copied to the memory area selected in step S208.
  • change the EPT settings for the virtual machine LPAR1012 change the received Guest Physical Address to correspond to the Host Physical Address selected in step S208, and correspond to the Host Physical Address selected in step S208 before the change.
  • the EPT is changed so that the Guest Physical Address that has been changed becomes the host Physical Address of the copy destination in the process S209 (process EPT 211).
  • the Guest Physical Physical Address corresponding to the Host Physical Address 0x2000000000 selected in the process S208 is 0x00005000. Therefore, the Guest Physical Address 0x0000000000 is the copy destination Host Physical Address 0xA0005 in the process S209.
  • processing S105 When the amount of memory for which the update is detected becomes equal to or less than a certain amount of memory after processing S105 is performed one by one from the smallest to the largest of Guest Physical Address of virtual machine LPAR 101 for migration (processing S106) In this case, the virtual processor of the virtual machine LPAR 101 is stopped (process S107). If it is not less than the predetermined memory amount, the processing S104 and S105 are executed again, and the processing of confirming the updated memory amount is repeated in the processing S106.
  • the migration source hypervisor 327 that has proceeded to the process S107 transmits information necessary for the migration of the virtual machine ⁇ (other than Memory) ⁇ of the virtual machine LPAR101 to the migration destination hypervisor 358 (processing S108).
  • the migration destination hypervisor 358 determines in step S212 whether the received information is virtual device information. If the determination result is determined to be virtual device information, the received virtual device information is reflected in the virtual computer LPAR 1012 (processing S213).
  • the migration source hypervisor 327 transfers the memory in which the remaining update has been detected last to the migration destination hypervisor 358 when the virtual device information has been sent (process S109).
  • the migration destination hypervisor 358 When the destination hypervisor 358 receives the memory transmitted in the process S109, the migration destination hypervisor 358 performs the process S206 to the process S212 described above again.
  • the migration source hypervisor 327 sends a virtual processor activation request to the migration destination hypervisor 358 at the end of the migration of the virtual machine LPAR 101 (process S110), and performs an end process such as deleting the virtual machine LPAR 101 (process S111).
  • the migration destination hypervisor 358 confirms whether or not a virtual processor activation request has been made in step S214, and if so, activates the virtual processor and activates the virtual computer LPAR 1012 that appears to have moved the virtual computer LPAR101 (processing) S215) Samurai.

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

仮想計算機を他の物理計算機に移動する際に使用するMemoryを最適に選べるようにする 第1の物理計算機から第2の物理計算機に、仮想計算機を移動する際に、仮想計算機上で、動作中のprogramが、どこのmemoryを更新(書き換え) したのかを知る必要がある。Programの動作中にも移動することを可能にするために必要であるこの書き換え検出機能を利用し、更新があった領域を特定する。移動先では、移動元から送られる更新があった領域の情報を基に、更新があった領域を移動先で最もmemory性能がよくなる場所に配置する。更新が検出されたmemory領域は、更新が検出されてからある一定時間は、頻繁に参照されるであろうmemory領域とみなすことができるので、移動後の仮想計算機が使用するmemoryは最適な配置にあるようにできる。

Description

物理計算機及び仮想計算機移行方法
  本発明は、使用可能なメモリ資源の中で、OSの使用するメモリが広帯域で低遅延なメモリを使用できるように、使用するメモリ配置を適切に再配置する技術に関する。
  物理計算機で動作している仮想計算機を動作中に他の物理計算機に移動させる技術として、特許文献1や特許文献2に記載されている技術が知られている。文献1や文献2では、1つのFC-HBAに対して、移動中に、仮のFC-HBAを仮想的に用意し、この仮に用意した仮想FC-HBAへ入出力を切り替えることで、仮想計算機の停止時間を極小とし、他の物理計算機に移動(Live Migration)する技術が開示されている。
特開2012-108816 特開2013-125284
  物理計算機上のprocessor数の増大、memory容量の増大に伴い、memoryからの読み込みやmemoryへの書き込みの時間(latency)の大きさは、同一のprocessorからの読み書きであっても、読み書きするmemoryの場所(processorとmemoryとの距離)によりlatencyが異なる計算機がある。このような物理計算機のmemory構成は一般的にNUMA (Non-uniform memory access)として知られている。processorとmemoryとの物理的な距離の制約が少なくなるため、NUMA構成でない物理計算機に比べて、NUMA構成の物理計算機では、processor数やmemory容量を大きくすることができる。このため、大きな物理計算機のままでなく、この計算機資源を分割して複数のOSを同時に動作させ使用したい場合がる。このような分割はLogical Partition (LPAR)として知られている。物理計算機を仮想的に分割するLogical Partitionを実現するprogramはhypervisorと呼ばれている。このHypervisorは、計算資源を時間分割または空間分割することで、1つの物理計算機を複数の分割された仮想計算機(virtual machine)に見せる。仮想計算機に割り当てるmemoryは、時間分割するには、記憶済みの情報をmemory以外の記憶装置(Storage)に一時的におく必要がある。一般的に一時的に置くための記憶装置としてHard Diskが使用される。Memoryを時間分割する方式は、virtual memory機能として知られている。これに対して、大きなmemoryを空間分割して、各仮想計算機に割り当てるこで、memoryを分割することもできる。virtual memoryで使用するhard diskは、memoryよりも入出力(access)に要する遅延が大きく、入出力帯域も小さい。それに加えて、Memoryを時間分割する際には、memoryとhard diskとの間の情報の入れ替え(swap)が必要である。このため、時間分割によるmemory分割よりも、空間分割によるmemory分割の方が、当然、入出力に要する遅延が小さく、入出力帯域も大きい。
 NUMA構成の物理計算機のmemoryを空間分割すると、仮想計算機に割り当てるmemoryによっては、割り当てprocessorから最も近いmemory (local memory)以外に、local memoryよりも遠くにあるmemory (remote memory)を使用しなくてはならない場合がある。特に、1つの仮想計算機に、大きなmemoryを割り当てたい場合や多くのprocessorを割り当てたい場合には、local memoryのみで構成することができなく、remote memoryも使用してmemoryを割り当てなくてはならない場合が存在する。更に、NUMA構成の物理計算機上の仮想計算機を特許文献1や2で、他のNUMA構成の物理計算機上に移動したい場合には、移動先の物理計算機には、分割済みの仮想計算機が存在しているために、移動する仮想計算機が移動元で使用していたmemory構成 (local memory量とremote memory量との比)とは、異なるmemory構成を割り当てなくては移動できない場合もある。移動前と異なるmemory構成が、移動対象の仮想計算機で動作しているprogramの性能を低下させる構成となる場合もある。
 本発明は、上記課題に対して、性能低下を低減する技術を提供する。
 本発明の計算機システムは、複数のNUMA(Non-Uniform Memory Access) ノードに対応付けられる複数の第1プロセッサと、前記複数のNUMAノードに対応付けられる複数の第1メモリと、前記複数の第1CPU及び前記複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを備える第1物理計算機と、複数のNUMAノードに対応付けられる複数の第2プロセッサと、前記複数のNUMAノードに対応付けられる複数の第2メモリと、前記複数の第2プロセッサおよび前記複数の第2メモリを管理する第2仮想化機構と、を備える第2物理計算機と、を有する。そして、前記複数の第1プロセッサのうち第1のNUMAノードに属するプロセッサと前記複数の第1メモリのうち第1のNUMAノードに属するメモリが割り当てられる第1仮想計算機を第1物理計算機から第2物理計算機に移行するとき、前記第2仮想化機構は、前記複数の第2CPUのうち第2のNUMAノードに属するプロセッサ、前記複数の第2メモリのうち第2のNUMAノードに属するメモリ、および前記複数の第2メモリのうち第3のNUMAノードに属するメモリが割り当てられる第2仮想計算機を前記の第1仮想計算機の移行先として作成し、前記第1仮想計算機の前記第1メモリの更新状況を監視し、前記第1仮想計算機による更新頻度の高いデータが前記複数の第2メモリのうち第2のNUMAノードに属するメモリに格納されるよう、前記第2仮想計算機を作成することを特徴とする計算機システム。
 NUMA構成の物理計算機上で、動作している仮想計算機を、他のNUMA構成の物理計算機に移動する場合に、移動先物理計算機に移動後も、移動した仮想計算機上のprogramの性能低下を低減出来る。
本発明の実施形態実施形態に関わる計算機システムの物理構成図を示す。 本発明の実施形態に関わるPackageの構成図を示す。 本発明の実施形態に関わる計算機システムの論理構成図を示す。 本発明の実施形態に関わる各Node間の相対的な距離を値で示したdata構成図を示す。 本発明の実施形態に関わる移行元物理計算機Memory Node管理情報を示す。 本発明の実施形態に関わる移行先物理計算機Memory Node管理情報仮想を示す。 本発明の実施形態に関わる仮想計算機の移動中の、仮想計算機の構成図を示す。 本発明の実施形態に関わる仮想計算機移動中および移動後の移行先物理計算機Memory Node管理情報を示す。 本発明の実施形態に関わる仮想計算機が使用する物理memory nodeと仮想memory nodeとの関係を示した移行元物理計算機の仮想nodeと物理node対応情報を示す。 本発明の実施形態に関わる仮想計算機が使用する物理memory nodeと仮想memory nodeとの関係を示した移行先物理計算機の仮想nodeと物理node対応情報を示す。 本発明の実施形態に関わる仮想計算機が使用する物理memory nodeと仮想memory nodeとの関係を示した移行先物理計算機の仮想nodeと物理node対応情報を示す。 本発明の実施形態に関わる仮想計算機移動の処理フローを示す。 本発明の実施形態に関わるEPTを説明した図を示す。 本発明の実施形態に関わるEPT PT entryを説明した図を示す。 本発明の実施形態に関わるEPT PD entryを説明した図を示す。 本発明の実施形態に関わる仮想計算機のmemory addressと物理計算機のmemory addressとの関係を説明した移動先物理計算機の仮想物理アドレス対応情報を示す。 本発明の実施形態に関わる仮想計算機移動中に、仮想計算機のmemory addressと物理計算機のmemory addressとの関係を説明した移動先物理計算機の仮想物理アドレス対応情報を示す。 本発明の実施形態に関わる仮想計算機のNode位置を説明した図を示す。
 以下、図面を用いて実施形態を説明する。なお、以下に説明する実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
 本実施形態の概要について説明する。
 仮想計算機が、動作している物理計算機がNUMA構成の計算機(図1のmachine100やmachine200など) の場合には、仮想計算機(LPAR) が使用できる物理memory(メモリ) が、仮想計算機が使用するprocessorと同じNode内にあるlocal memory(ローカルメモリ) を使用できるとは限らない。更に、NUMA構成の物理計算機上にある仮想計算機を別の物理計算機に移動する場合には、移動先の物理計算機には、既に別の仮想計算機が稼働中であり、その別の仮想計算機にとって最適なmemory構成となるように、その別の仮想計算機に物理memoryが割り当てられている。そのため、移動しようとする仮想計算機には、移動先で使用するprocessorが属するnode(ノード) とは別のnodeにある物理memoryを割り当てなくては、移動ができない場合がある。このような場合には、移動しようとしている仮想計算機が、仮想的に構成しているmemory構成と物理memory構成と異なる構成になる。例えば、図7の仮想計算機LPAR1012では、Virtual Processor3402とLogical Memory3302は同一の仮想Node3202に割り当てられているように構成されている。しなしながら、Virtual Processor3402は図1のNode210内の物理processorを使用し、論理memory3302は、図1のNode210とNode232内の物理memoryを割り当てるといったように、使用する物理processorと物理memoryは、仮想計算機で見せている構成とは異なり、同一の物理Nodeでない場合がある。
 この場合、仮想memory構成と物理memory構成の不一致により、仮想計算機上のprogramは性能劣化する可能性がる。
 本発明では、この性能劣化を低減するために、移動中に使用頻度が高いと判断したmemoryが、移動後に使用する物理processorと同一の物理Node内にある物理memoryまたは次に近いNodeにある物理memoryを使用するようにすることで、移動後も仮想計算機上のprogramの性能低下を低減できる。
 次に、実施形態に関わる計算機構成について詳細に説明する。
 図1に、実施形態に関わる計算機しシステムの構成を示す。
 物理計算機Machine100は、仮想計算機を移動させる移動元計算機である。移動先物理計算機であるMachine200と中継装置であるEthernet(登録商標) Switch104を介して、移動に必要な情報を送受信する。物理計算機Machine100は、移動に必要な情報をEthernet Switch104とつながる入出力装置NIC (network interface card) 151を搭載している。物理計算機Machine100のNIC 151は、物理計算機Machine100内から外、外から内への入出力情報を調停するI/O Hub 141に接続している。I/O Hub141は、Node111のPackage121とNode113のPackage123と接続している。
 仮想計算機上のprogram等、不揮発で記憶したいdataは、外部記憶装置であるStorage103に置いている。
 Storage103は、中継装置であるfabric switch102を介して、移動元物理計算機Machine100のHBA (Host Bus Adapter) 150や移動先物理計算機Machine200のHBA 250に接続されている。
 HBA150は、I/O Hub140を介して、Package120, Package121, Package122, Package 123内の物理Processorや物理Memory130, 物理memory131, 物理memory132, 物理memory133と情報を送受信する。
 Package120、Package121, Package122, Package123, Package220, Package221, Package222, Package223は、図2のPackage300のように、Package内に複数のprocessorを搭載している。図2のPackage300は、4つのprocessor310, processor311, processor312, processor313を搭載した例である。
 図1のPackage120に搭載しているprocessorは、Memory130と同一Node110に搭載されている。同様に、Package121のprocessorとMemory131はNode111に、Package122のprocessorとMemory132はNode112に、Package 123のprocessorとMemory133に、それぞれ搭載されている。
 Node110, Node111, Node112, Node113のそれぞれの間の相対距離は、図4のMachine100 System Locality Distance Information Table (SLIT) 400に記載したような値が入る(図4での値は16進数表記) 。SLIT400に示した値は、値が大きければ大きいほどNode間の関係が遠いことを示す。例えば、図4のNode110とNode110の間の距離は、0x0Aと示され、Node110とNode111の距離は0x17と示されている。0x0Aは0x17よりも小さいので、Node110とNode110の距離は、Node110とNode111との距離よりも近いことを示している。Node110とNode110は同じNodeであるため値が小さいのは、明確である。
 図1の移動先物理計算機Machine200内の構成は、移動元物理計算機Machine100と同様である。HBA250がFabric Switch102につながっていることにより、物理計算機Machine100からアクセス可能である Storage103が、物理計算機machine200からもアクセス可能である 。HBA250は、HBA150と同様に、I/O Hub240を介して、Package220, Package221, Package222, Package223内の物理Processorや物理Memory230, 物理Memory231, 物理Memory232, 物理Memory233と情報を送受信する。NIC251はNIC151と同様に、仮想計算機の移動に必要な情報を物理計算機Machine100から物理計算機Machine200に届けたり、または、逆に物理計算機Machine200から物理計算機Machine100へ情報を渡したりするために使用する。このNIC251はI/O Hub241につながり、Package221とPackage223につながっている。Package220内の物理ProcessorとMemory230は、Node210内に搭載している。同様に、Package221内の物理ProcessorとMemory231、Package222内の物理ProcessorとMemory232, Package223内の物理ProcessorとMemory233は、それぞれ、Node211, Node212, Node213に搭載している。
 Node210, Node211, Node212, Node213のそれぞれの間の相対距離は、図4のMachine200 System Locality Distance Information Table (SLIT) 500に記載したような値が入る(図4での値は16進数表記) 。値の意味は図4 SLIT400で説明した値と同じである。
 図3は、本発明の実施形態に関わる計算機システムの論理構成図を示す。図3の仮想計算機101は、移動元の物理計算機Machine100上で動作し、移動先物理計算機200に移動する。VNode320のLogical Memory330は、図1の物理Node110のmemory130から割り当てたMemoryを使用する。図3 のVNode321のLogical Memory331は、図1の物理Node112のMemory132から割り当てたMemoryを使用する。Hypervisor327が、移動元物理計算機Machine100上の物理memory割り当てをする。図5の表600は、移行元物理計算機Memory Node管理情報を示す。移行元物理計算機Memory Node管理情報は、移動元の物理計算機Machine100のMemory130,131,132,133のいずれかに格納され、hypervisor327から参照、更新が可能な状態でとなっている。移行元物理計算機Memory Node管理情報600は、移動元物理計算機Machine100の物理memoryがどの仮想計算機に割り当てられているかを説明している。図5のHost Physical Address601の列は、物理計算機上の物理Memoryに割り振られた物理addressを示している。図5のPhysical Node602の列は、物理Nodeが示される。図5のAllocated LPAR603の列は、Memoryが割り当てられた仮想計算機を示す記号が入る。よって、図5の表600の各列は、物理Memory Addressに対して、割り当てられる物理Nodeと、割り当て仮想計算機を示す記号との関係が、示されている。図5の表600の”-“は、割り当てられている仮想計算機がないことを示す。
 図3の仮想計算機LPAR101上のVirtual Processor340, Virtual Processor341は、物理計算機Machine100のPackage120内の物理Processor、Package122内の物理Processorが、それぞれ、時間分割され、仮想的なprocessorとして動作している。よって、VNode320、には、物理Node110内の物理Memoryと物理Processorが割り当てられることになる。また、VNode321は、物理Node112内の物理Memoryと物理Processorが割り当てられることになる。したがって、仮想計算機(LPAR101) に仮想的に見せているNode構成は、物理NUMA構成と一致する。
 更に、Virtual I/O Hub322, Virtual I/O Hub 324, Virtual HBA323, Virtual NIC325は,それぞれ、物理計算機Machine100のI/O Hub140, I/O Hub141, HBA150, NIC151を時分割もしくは空間分割して割り当てられことで、仮想的に実現しているDeviceである。Hypervisor327が、これら時分割または空間分割による実現しているDeviceを制御している。
 移動先物理計算機Machine200には、仮想計算機LPAR101が移動する前に、仮想計算機LPAR201が動作している。
 図3仮想VNode350のLogical Memory350、VNode351のLogical Memory351、VNode352のLogical Memory352、VNode353のLogical Memory 353は、それぞれ、物理Node210のMemory230, 物理Node211のMemory231,物理Node212のMemory232、物理Node213のMemory233から割り当てた物理Memoryを使用する。
 図6の表610は、移行先物理計算機Memory Node管理情報を示す。移行元物理計算機Memory Node管理情報610は、移動先の物理計算機Machine200のMemory230,231,232,233のいずれかに格納され、hypervisor358から参照、更新が可能な状態でとなっている。移行元物理計算機Memory Node管理情報610は、図5の移行先物理計算機Memory Node管理情報600と同様に、仮想計算機LPAR201の物理Memory割り当て状態を示している。Host physical Adress611、Physical Node612, Allocated LPAR613は、それぞれ、図5の表600で説明したHost Physical Address601, Memory Node602, Allocated LPAR603と同等の意味であり、物理計算機Machine100を物理計算機Machine200に読み替えた場合には、同値となる。
 図3のVNode350のVirtual Processor360、VNode351のVirtual Processor361, VNode352のVirtual Processor362, VNode353のVirtual Processor363は、それぞれ、図1の物理Node220のPackage220内の物理Processor、物理Node221のPackage221内の物理Processor、物理Node222のPackage222内の物理Processor、物理Node223のPackage223内の物理Processorを時間分割して割り当てている。
 よって、仮想計算機LPAR101と同様に、VNode350、VNode351、VNode352、VNode353は、それぞれ、物理Node210、物理Node212、物理Node213、物理Node214内の物理Memoryと物理Processorが割り当てられることになり、仮想的に見せているNode間の距離は、物理NUMA構成と一致する。
 更に、Virtual I/O Hub354, Virtual I/O Hub 356, Virtual HBA355, Virtual NIC357は,それぞれ、物理計算機Machine200のI/O Hub240, I/O Hub241, HBA250, NIC251を時分割もしくは空間分割して割り当てられことで、仮想的に実現しているDeviceである。Hypervisor358は、これら時分割または空間分割による実現しているDeviceを制御している。
 図7は、仮想計算機LPAR101が、移動元物理計算機Machine100から移動先物理計算機Machine200に移動するために、物理計算機Machine200に仮想計算機LPAR1012を作成する。仮想計算機LPAR1012は仮想計算機LPAR101を複製し作成する。ここで、複製とは、LPAR101と同数のVirtual processorおよび同容量のLogical memoryが割り当てられるLPAR1012を作成することをいう。複製する際に、物理計算機Machine200には、既に仮想計算機LPAR201が存在する。LPAR1012に割り当てることできる計算機資源(物理memoryなど) は、物理計算機Machine200の計算機資源のうちLAPR201に未割当のものである。そのため、移動元物理計算機Machine100で使用していた物理Memoryなどの物理計算機内の資源と同等の資源を移動先物理計算にMachine200から仮想計算機LPAR1012に割り当てることができない。図8は、仮想計算機移動中および移動後の移行先物理計算機Memory Node管理情報を示す。例えば、図8の移行先物理計算機Memory Node管理情報620のように、移動先物理計算機の物理Memoryを割り当てる。図8のHost Physical Address621, Physical Node622, Allocated LPAR623はそれぞれ、図6のHost Physical Address611, Memory Node612, Allocated LPAR613と同じ意味である。移動先の複製仮想計算機LPAR1012の、Virtual Processor3402, Virtual Processor3412は、物理計算機Machine200のPackage220内の物理Processor (Node210内のプロセッサ) 、Package222内の物理Processor(Node212内のプロセッサ) が、それぞれ、時間分割または空間分割され、仮想的なprocessorとして動作している。よって、移動先の複製仮想計算機LPAR1012は、物理Node210のMemory230と物理Node212のMemory232といった2つのNodeから物理Memoryを割り当てれば、移動元物理計算機Machine100上で使用していた物理MemoryのNUMA構成と、同一構成となる。
 しかし、これら2つの物理Node210、Node212の物理Memoryだけでは物理Memory量がたりないため、空きがある物理Node211のMemory231から足りない物理Memoryを確保し、仮想Logical Memory 3302と仮想Logical Memory3312にそれぞれ割り当てる。仮想計算機1012は、2つの仮想Nodeから構成されているように見せているが、実際には、3つの物理NodeのMemoryを使用する。VNode3202のVirtual Processor3402、VNode3212のVirtual Porcessor3412は、Hypervisor358が、それぞれ、物理Node110のPackage120内の物理Processor、物理Node112のPackage122内の物理Processorを時間分割して割り当てる。このため、仮想計算機上のProgramには、同一Node内のProcessorとMemoryを使用していると認識していても、実際に使用する物理Processorと物理Memoryは、異なるNodeにあるProcessorとMemoryとなる場合がある。
 図10の表640(移行先物理計算機の仮想nodeと物理node対応情報) は、仮想計算機LPAR1012が物理計算機Machine200に複製された時に、仮想計算機上の物理addressが、どの物理Nodeと仮想Nodeに割り当てるかを示した表である。 図11は、仮想計算機移動中および移動後の移行先物理計算機の仮想nodeと物理node対応情報を示す。前述したHost physical addressは、hypervisorが認識する物理memoryのアドレスである。このHost physical addressは仮想計算機からは認識されない。一方、Guest physical addressは、仮想計算機が認識するlogical memoryのアドレスである。
 ここで、図10、11の各列を説明する。Guest Physical address641の列は、仮想計算機LPAR1012のprogramに見せる物理physical addressを示し、Physical Node642の列は、実際に割り当てられる物理Nodeを示し、Virtual Node643の列は、仮想的に見せる論理Nodeを示す。上記で説明した異なる物理NodeにあるProcessorとMemoryは、図10の表630では、Guest Physical Address 0x20000000 - 0x2fffffffと、Guest Physical Address0x50000000 - 0x5fffffffに割り当てられた物理Memoryである。
 図9の表630(移行元物理計算機の仮想nodeと物理node対応情報) は、仮想計算機LPAR101上の物理addressが、どの物理Nodeと仮想Nodeに割り当てているかを示した表である。
 Guest physical address631, Physical Memory Node632, Virtual Memory Node633は、それぞれ、図10のGuest Physical address641, Physical Memory Node642, Virtual Memory Node643に対応し、仮想計算機LPAR1012を仮想計算機LPAR101に読み替えた場合と同じ意味である。この図9の表630は、図10の表640と異なり、2つの仮想NodeのMemoryが2つの物理NodeのMemoryに割り当てられていることを示している。
 なお、図7の仮想計算機LPAR1012のVirtual I/O Hub3222, Virtual I/O Hub3242, Virtual HBA3232, Virtual NIC3252は、それぞれ、仮想計算機LPAR101のVirtual I/O Hub322, Virtual I/O Hub324, Virtual HBA323, Virtual NIC325の複製である。
 図9、10,11に示す管理情報は、仮想計算機LPAR1012の物理計算機machine100から物理計算機machine200への移行に際して、hypervisor328,358により生成され管理されるものであり、memory130,131,132,133,230,231,232,233の少なくとも一つに格納されている。
 ここで、仮想計算機LPAR1012が物理計算機Machine100から物理計算機Machine200に移動する過程を図12の処理フローを使って説明する。
 移動元物理計算機Machine100のHypervisor327は、仮想計算機の移動要求を受け、仮想計算機LPAR101の移動を開始する(処理S100) 。移動先物理計算機Machine200のHypervisor358は、仮想計算機の移動要求を受け、仮想計算機LPAR101の移動準備をする(処理S200) 。
 Hypervisor327は仮想計算機LPAR101の仮想Processor, 論理Memory構成 (NUMA構成) , Device構成 (I/O Hub, HBA, NIC構成) といった仮想計算機の構成(LPAR構成) を移動先物理計算機Machine200に転送する(処理S101) 。移動先物理計算機Machine200に転送される仮想計算機の構成には、LPAR101のGuest Physical addressとVirtual Nodeの対応関係を示す情報、および、LPAR101のVirtual processorとVirtual Nodeの対応関係を示す情報が含まれる。移動元Hypervisor358は、仮想計算機LPAR101の構成情報を受信(処理S201) し、仮想計算機LPAR1012を作成する(処理S202) 。作成した仮想計算機は、仮想的に計算機の電源を入れるactivateと呼ばれる処理を実施する(処理S203) 。Activate時には、物理Memoryの割り当てや、使用物理processorの割り当てなど、物理計算機Machine200内の資源を仮想計算機LPAR1012に割り当てる処理が実施される。たとえば、仮想計算機LPAR1012のGuest Physical addressに、仮想計算機LPAR1012に割当可能な物理memoryのHost physical addressを対応付ける。つまり、前述した図10はこの時に作成される。仮想計算機LPAR1012には仮想計算機LPAR101と同等のNUMA構成となるよう物理memoryを割り当てるのが、望ましい。Hypervisor358は、仮想計算機LPAR101の、LPAR101のGuest Physical addressとVirtual Nodeの対応関係を示す情報、および、LPAR101のVirtual processorとVirtual Nodeの対応関係を示す情報に基づき、物理memoryを仮想計算機LPAR1012に割り当てる。また、このとき、図16に示すように、Hypervisor358は、仮想計算機LPAR1012のGuest Physical addressと割当られた物理memoryのHost Physical addressを暫定的に対応付ける。物理計算機内の資源の割り当てを実施後、仮想計算機上のprogramが動作しないように、仮想processorを停止状態にする(処理S204) 。移動元Hypervisor357は、処理S101の後に、仮想計算機LPAR101上で動作しているprogramが、割り当てられた論理memory (Logical Memory330, Logical Memory331) に書き込みしたことが分かるように、書込みのあったGuest physical addressを記録するために、書き込み保護をする(処理S102) 。
 本発明の一例として使用する物理Processorには、Extended Page Table (EPT) と呼ばれるguest physical addressに対したhost physical addressの関係を定義できる機能を持ったtableがある。本発明の一例では、このEPTの属性を変更することで、処理S102を実現する。ここで、本発明でのEPT使用方法について、図13,図14,図15を使用して間単に説明する。図13は、Guest Physical Address700に割り当てられるHost Physical address706が,EPTを使用してどのように定義されているかを説明している図である。図13のGuest Physical Address700を区切って4種類の要素番号(index) として使用する。Guest Physical Address700のBit63-48は、未使用である。Guest Physical Address700のBit47-39,Bit38-30, Bit29-21, Bit20-12は、それぞれ、”EPT PML4”702のindex, EPT PDP703のindex, EPT PD704のindex, EPT PT705のindexとして使用する。”EPT PML4”702, EPT PDP703, EPT704は、どれも1要素が8Bで、総要素数が512要素(8Bx512=4KB) から成るTableである。Indexは、これらのtableの512個のentryから1つのentryを選ぶために使用する。EPTP701は、”EPT PML4”702の先頭が置かれるHost Physical Addressを示す。”EPT PML4”702の各entryは、次のEPT PDP703の先頭が置かれるHost Physical Addressを示し、EPT PDP703の各entryは、次のEPT PD704の先頭が置かれるHost Physical Addressを示している。EPT PD704の各entryはEPT PT705の先頭が置かれるHost Physical Addressまたは、Host Physical Address706のBit51-21を示す。EPT PD704のentryが、EPT PT705の先頭が置かれるHost Physical Addressを示す時には、そのEPT PT705の各entryは、Host Physical Address706のBit51-12を示す。ここでは簡単に図13にあるtableを説明したが、詳しい使用方法は、Intel(R) 64 and IA-32 Architectures Software Developer’s Manual Volume 3: System Programming Guideに記載されている。
 次に、本発明では、EPT PD704のentryとEPT PT705のentryのbitの内、物理processorに無視される(意味を持たない) bit (ignore bit) を使用して、仮想計算機LPAR101上のprogramが、移動先情報を送信した後にmemoryの更新をしたかを示すbit (bit63) や、entry指し示すHypervisor AddressがGuest Memoryとして使用している領域であるか、それともmemoryでなく、Memory Mapped Input Output Device (Hypervisor Address空間に割り当てられたDevice) であるかを示すbit(bit62) として利用している(図14, 図15のbit63, 62)。
 なお、EPT PD704の7bit目が1である場合には、EPT PD entryは、2MB領域のGuest Physical AddressとHost Physical Addressの関係を示し、7bit目が0である場合には、EPT PD entryはEPT PT705の先頭を示し、EPT PTの各entryは4KB領域のGuest Physical AddressとHost Physical Addressの関係を示す。
 図12の処理S102では、図14のEPT PT entry800または、図15のEPT PD entry801のbit1を0にし、書き込み保護状態にする。ここで、処理S102で、書き込み許可bit(bit1) を0(書き込み保護) にするentryは、Guest memoryであることが示されている全てのentry(bit62が1であるentry) である。処理S102の終了後に、仮想計算機LPAR101がMemoryに書き込みをした際には、書き込みがあった領域のEPT PT entryまたはEPT PD entryの63bitを1にして、書き込みが行われたことを記録する。その後、書き込みを記録したEPT PT entryまたはEPT PD entryの書き込み許可bitを1にして、書き込み保護を解除し、実際のmemoryに仮想計算機LPAR101上のprogramが書き込みできるようにする。
 処理S102の後に、書き込みがあり記録(更新記録) がされている領域以外のmemory領域の内容を、移動先物理計算機に転送する。書き込みがあり記録(更新記録)  のあった領域以外のGuest physical addressと、領域に格納されるデータを移動先物理計算機に転送する。(処理S103) 。処理S103で送信されたmemoryの内容は、移動先物理計算機Machine200のMemoryに複製する。受信したmemoryの内容は、Guest Physical Addressにしたがって、図16の表660に示したHost Physical Addressに対応した物理Memory領域に複製する(処理S205) 。なお、図16のGuest Physical Address661は仮想計算機LPAR1012のGuest Physical Addressであり、処理S103で仮想計算機LPAR101のmemoryの内容とそのGuest Physical Addressが移動先物理計算機Machine200に送られる。図16のPhysical Node662とHost Physical Address663は、それぞれ、そのGuest Physical Address661に対する物理計算機Machine200の物理Nodeと物理Memoryのaddressを表している。
 処理S103で、Guest Physical Addressの小さい領域から大きい領域に、1回ずつ処理をした後に、再び処理S104により書き込み保護を全guest memory領域に対してする。
 処理S105では、書き換えがあったことが記録され、書き込み保護状態にあるEPT PT entryまたはEPT PD entryが示すmemory領域のGuest physical addressとデータを移動先物理計算機Machine200に転送する。
 Hypervisor358は、処理S105により転送したmemoryの内容を受信する(処理S206) 。
 図18の表680は、仮想計算機LPAR1012のVirtual Processor681がどこPhysical Node662の物理processorを使用し、そのPhysical Nodeは仮想的にどのVirtual Node683を使用しているかを示している。
 処理S206で受信したMemoryの内容が、受信したGuest Physical Addressを参照して、図16と図18から、移動元物理計算機Machine100で使用していた物理Nodeと同等な位置にある物理Nodeのmemoryに複製できるかを判定する(処理S207) 。例えば、Guest Physical Address 0x10000000から始まる4KBのMemory内容を受信した場合、そのMemory内容は、図16の表660から、Physical Node210にあるmemoryに割り当てられていることが分かる。更に、図18の表680により、Physical Node210内の物理processorが、Virtual Processor3402に割り当てられていることが分かる。すなわち、この例の受信memoryは、Local Memoryとなるphysical processorが存在することが分かる。すなわち、使用していた物理Nodeと同等な位置にある物理Nodeのmemoryに、受信memory内容を複製できると判断できる。移動元と同等位置Nodeに複製できるMemoryは、処理S216によって、Guest Physical AddressとHost Physical Addressとの関係を示すEPTを変更しないで、受信したMemoryは、Guest Physical Addressに従い、Host Physical Addressが示す物理Memoryに複製する。
 次に、処理S207で、移動元と同等位置のNodeのmemoryに複製できない場合について説明する。例えば、Guest Physical Address 0x20005000を先頭とした4KB領域のMemoryを移動先Hypervisor358が受信した場合には、図16の表660を参照するとPhysical Node212のMemory232に複製するようなEPT設定となっている。ところが、図18の表680を参照すると、Physical Node212に存在するPhysical Processorは、仮想計算機LPAR1012に存在しない。すなわち、この例の受信memoryが、複製しようとしているmemoryには、local memoryとなるphysical processorがない。そこで、このような受信memoryには、local memoryとなるphysical processorがあるようなmemoryを仮想計算機LPAR1012に割り当てられた物理memoryの中から選択する(処理S208) 。本特許の一例では、Local Memoryとなるmemoryを受信したGuest Physical Addressから、そのAddressが、どのVirtual Nodeの所属になるのかを特定する。次に特定したVirtual Nodeに割り当てるPhysical Processorがどこの物理Nodeに属しているかを特定する。特定した物理Nodeの中で、仮想計算機LPAR1012に割り当てられている物理Memoryの中から、候補となる物理memoryを選択する。本特許の一例では、受信したguest physical addressを上記説明で候補となった物理memoryの大きさで割った余りを求める。選択する物理memoryは、候補のとなった物理NodeのMemoryの中で、最も小さい値のHost Physical Addressから、先に求めた値番目の物理Memoryである(Host Physical Addressが0x0-0xfff, 0x2000-0xfffffffといったように、addressが不連続な場合にも対応できる) 。上記例のGuest Physical Address 0x20005000は、説明した方法によりHost Physical Address 0x20005000 (=0x20000000(Host Physical Addressの先頭) +0x20005000(Guest Physical Address) %0x20000000(割り当てNodeの大きさ) ) の4KBを選択する。
 置き換えるLocal Memoryを選択後、移動先Hypervisor358は、受信Guest Physical Addressが示すHost Physical AddressをEPTの設定から取得し、そのHost Physical Addressの領域に処理S208で選択したMemory領域の内容を複製する(処理S209) 。その後、処理S208で選択したMemory領域に受信したMemoryの内容を複製する。
 最後に、仮想計算機LPAR1012用のEPTの設定を変更し、受信したGuest Physical Addressが処理S208で選択したHost Physical Addressに対応するように変更し、変更前に処理S208で選択したHost Physical Addressに対応していたGuest Physical Addressが、処理S209での複製先のHost Physical Addressになるように、EPTを変更する(処理EPT211) 。上記Guest Physical Address 0x20005000の受信時の例では、処理S208で選択したHost Physical Address 0x20005000に対応するGuest Physical Addressは0x00005000であったので、Guest Physical Address 0x00005000が、処理S209での複製先Host Physical Address 0xA0005000に指し示すようにEPTを変更する。この例は、図17の表670に表している。なお、図17のGuest Physical Address671, Physical Node672, Host Physical Address673はそれぞれ、図16のGuest Physical Address661, Physical Node662, Host Physical Address663と同じ意味である。図17の表670に示すように、処理S105で送信した更新Memory内容の場所が示されているGuest Physical Address200500の4KB領域が、Local MemoryとなるPhysical Processorが存在するように入れ替えられている。
 移動対処の仮想計算機LPAR101のGuest Physical Addressの小さいところから大きいところに向かって1回ずつ処理S105をした後に、更新を検出しているMemory量が、一定memory量以下になった場合(処理S106) には、仮想計算機LPAR101の仮想Processorを停止状態にする(処理S107) 。一定memory量以下にならなかった場合には、処理S104,処理S105を再び実行し、処理S106で更新memory量を確認といった処理を繰り返す。
 処理S107に進めた移動元Hypervisor327は仮想計算機LPAR101の仮想Device (Memory以外) の仮想計算機移動に必要な情報を移動先Hypervisor358に送信する(処理S108) 。
 移動先Hypervisor358は、処理S212で、受信した情報が、仮想Deviceの情報であるか否かを判定する。判定結果が、仮想Deviceの情報と判定される場合には、受信した仮想Deviceの情報を仮想計算機LPAR1012に反映する(処理S213) 。
 移動元Hypervisor327は、仮想Deviceの情報を送り終えると最後に残りの更新を検出したMemoryを移動先Hypervisor358に転送する(処理S109) 。
 移動先Hypervisor358は、処理S109により送信されたMemoryを受信すると、上記で説明した処理S206から処理S212を再び実施する。
 移動元Hypervisor327は、仮想計算機LPAR101の移動の最後に、仮想Processor起動要求を移動先Hypervisor358に送信(処理S110) し、仮想計算機LPAR101削除など終了処理をする(処理S111) 。
 一方、移動先Hypervisor358は、仮想Processor起動要求がされか、処理S214で確認し、された場合には、仮想Processorを起動し、仮想計算機LPAR101が移動したように見せる仮想計算機LPAR1012を起動させる(処理S215) 。

Claims (8)

  1.  複数のNUMA(Non-Uniform Memory Access) ノードに対応付けられる複数の第1プロセッサと、前記複数のNUMAノードに対応付けられる複数の第1メモリと、前記複数の第1CPU及び前記複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを備える第1物理計算機と、
     複数のNUMAノードに対応付けられる複数の第2プロセッサと、前記複数のNUMAノードに対応付けられる複数の第2メモリと、前記複数の第2プロセッサおよび前記複数の第2メモリを管理する第2仮想化機構と、を備える第2物理計算機と、を有する計算機システムであって、
     前記複数の第1プロセッサのうち第1NUMAノードに属するプロセッサと前記複数の第1メモリのうち第1NUMAノードに属するメモリが割り当てられる第1仮想計算機を第1物理計算機から第2物理計算機に移行するとき、
     前記第2仮想化機構は、
     前記複数の第2プロセッサのうち第2NUMAノードに属するプロセッサ、前記複数の第2メモリのうち第2NUMAノードに属するメモリ、および前記複数の第2メモリのうち第3NUMAノードに属するメモリが割り当てられる第2仮想計算機を前記の第1仮想計算機の移行先として作成し、
     前記第1仮想計算機の前記第1メモリの更新状況を監視し、
     前記第1仮想計算機による更新頻度の高いデータが前記複数の第2メモリのうち第2NUMAノードに属するメモリに格納されるよう、前記第2仮想計算機を作成する
     ことを特徴とする計算機システム。
  2.  請求項1に記載の計算機システムであって、
     前記第2仮想化機構は、
     前記第2仮想計算機が前記第2メモリのアドレスを特定するための仮想アドレスと、前記第2のメモリの物理アドレスと、を対応付けることで、前記第2仮想計算機に前記第2メモリを割り当てるものであり、
     最後に更新のあった前記第1の仮想計算機の第1仮想アドレスに関する情報を前記第1の仮想計算機から取得し、
     前記第1仮想アドレスを前記複数の第2メモリのうち第2NUMAノードに属するメモリの物理アドレスと対応付ける
     ことを特徴とする計算機システム。
  3.  請求項2に記載の計算機システムであって、
     前記第1仮想計算機は、前記第2仮想計算機作成後も動作を継続するものであり、
     前記第2仮想化機構は、前記複数の第2プロセッサのうち第2NUMAノードに属するCPU、前記複数の第2メモリのうち第2NUMAノードに属するメモリ、および前記複数の第2メモリのうち第3NUMAノードに属するメモリを前記第2仮想計算機に割り当てた後、
     前記第1の仮想アドレスは、前記第2仮想計算機の作成後に第1仮想計算機により更新のあった前記第1メモリを特定するものであり、
     前記第2仮想化機構は、前記第1の仮想アドレスが前記複数の第2メモリのうち第3NUMAノードに属するメモリの物理アドレスと対応づき、第2の仮想アドレスが前記複数の第2メモリのうち第2NUMAノードに属するメモリの物理アドレスと対応づいていていた場合、前記第1の仮想アドレスと前記第2の仮想アドレスを入れ替える
     ことを特徴とする計算機システム。
  4.  請求項3に記載の計算機システムであって、
     前記第2物理計算機では、第3仮想計算機が動作するものであり、
     前記第2仮想化機構は、前記複数の第2CPUおよび前記複数の第2メモリのうち、前記第3仮想計算機に未割当のものから、前記第2仮想計算機に割り当てる
     ことを特徴とする計算機システム。
  5.  複数のNUMA(Non-Uniform Memory Access) ノードに対応付けられる複数の第1プロセッサと、前記複数のNUMAノードに対応付けられる複数の第1メモリと、前記複数の第1プロセッサ及び前記複数の第1メモリを複数の仮想計算機へ割り当てる第1仮想化機構とを備える第1物理計算機と、複数のNUMAノードに対応付けられる複数の第2プロセッサと、前記複数のNUMAノードに対応付けられる複数の第2メモリと、前記複数の第2プロセッサおよび前記複数の第2メモリを管理する第2仮想化機構と、を備える第2物理計算機と、を有する計算機システムにおける仮想計算機移行方法であって、
     前記複数の第1プロセッサのうち第1NUMAノードに属するプロセッサと前記複数の第1メモリのうち第1NUMAノードに属するメモリが割り当てられる第1仮想計算機を第1物理計算機から第2物理計算機に移行するとき、
     前記第2仮想化機構は、
     前記複数の第2プロセッサのうち第2NUMAノードに属するプロセッサ、前記複数の第2メモリのうち第2NUMAノードに属するメモリ、および前記複数の第2メモリのうち第3NUMAノードに属するメモリが割り当てられる第2仮想計算機を前記の第1仮想計算機の移行先として作成し、
     前記第1仮想計算機の前記第1メモリの更新状況を監視し、
     前記第1仮想計算機による更新頻度の高いデータが前記複数の第2メモリのうち第2NUMAノードに属するメモリに格納されるよう、前記第2仮想計算機を作成する
     ことを特徴とする仮想計算機移行方法。
  6.  請求項5に記載の仮想計算機移行方法であって、
     前記第2仮想化機構は、
     前記第2仮想計算機が前記第2メモリのアドレスを特定するための仮想アドレスと、前記第2のメモリの物理アドレスと、を対応付けることで、前記第2仮想計算機に前記第2メモリを割り当てるものであり、
     最後に更新のあった前記第1の仮想計算機の第1仮想アドレスに関する情報を前記第1の仮想計算機から取得し、
     前記第1仮想アドレスを前記複数の第2メモリのうち第2NUMAノードに属するメモリの物理アドレスと対応付ける
     ことを特徴とする仮想計算機移行方法。
  7.  請求項6に記載の仮想計算機移行方法であって、
     前記第1仮想計算機は、前記第2仮想計算機作成後も動作を継続するものであり、
     前記第2仮想化機構は、前記複数の第2プロセッサのうち第2NUMAノードに属するプロセッサ、前記複数の第2メモリのうち第2NUMAノードに属するメモリ、および前記複数の第2メモリのうち第3NUMAノードに属するメモリを前記第2仮想計算機に割り当てた後、
     前記第1の仮想アドレスは、前記第2仮想計算機の作成後に第1仮想計算機により更新の合った前記第1メモリを特定するものであり、
     前記第2仮想化機構は、前記第1の仮想アドレスが前記複数の第2メモリのうち第3NUMAノードに属するメモリの物理アドレスと対応づき、第2の仮想アドレスが前記複数の第2メモリのうち第2NUMAノードに属するメモリの物理アドレスと対応づいていていた場合、前記第1の仮想アドレスと前記第2の仮想アドレスを入れ替える
     ことを特徴とする仮想計算機移行方法。
  8.  請求項7に記載の仮想計算機移行方法であって、
     前記第2物理計算機では、第3仮想計算機が動作するものであり、
     前記第2仮想化機構は、前記複数の第2プロセッサおよび前記複数の第2メモリのうち、前記第3仮想計算機に未割当のものから、前記第2仮想計算機に割り当てる
     ことを特徴とする仮想計算機移行方法。
PCT/JP2014/069639 2014-07-25 2014-07-25 物理計算機及び仮想計算機移行方法 WO2016013098A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/069639 WO2016013098A1 (ja) 2014-07-25 2014-07-25 物理計算機及び仮想計算機移行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/069639 WO2016013098A1 (ja) 2014-07-25 2014-07-25 物理計算機及び仮想計算機移行方法

Publications (1)

Publication Number Publication Date
WO2016013098A1 true WO2016013098A1 (ja) 2016-01-28

Family

ID=55162652

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/069639 WO2016013098A1 (ja) 2014-07-25 2014-07-25 物理計算機及び仮想計算機移行方法

Country Status (1)

Country Link
WO (1) WO2016013098A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10621010B2 (en) 2016-11-29 2020-04-14 Fujitsu Limited Information processing apparatus and migration method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030407A1 (en) * 2008-06-11 2012-02-02 Vmware, Inc. System and method for improving memory locality of virtual machines

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120030407A1 (en) * 2008-06-11 2012-02-02 Vmware, Inc. System and method for improving memory locality of virtual machines

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10621010B2 (en) 2016-11-29 2020-04-14 Fujitsu Limited Information processing apparatus and migration method

Similar Documents

Publication Publication Date Title
CN109144888B (zh) 存储器系统
US10437486B2 (en) Method and apparatus for tenant-aware storage sharing platform
JP6779838B2 (ja) メモリシステムおよび制御方法
US9009437B1 (en) Techniques for shared data storage provisioning with thin devices
JP6114397B2 (ja) 複合型ストレージシステム及び記憶制御方法
EP3729251A1 (en) Virtualized ocssds spanning physical ocssd channels
WO2017000658A1 (zh) 存储系统、存储管理装置、存储器、混合存储装置及存储管理方法
JP6600698B2 (ja) 計算機システム
JP6785204B2 (ja) メモリシステムおよび制御方法
WO2016147281A1 (ja) 分散型ストレージシステム及び分散型ストレージシステムの制御方法
JP6383861B2 (ja) ストレージ管理計算機
US20180267713A1 (en) Method and apparatus for defining storage infrastructure
JP2017138982A (ja) ポリモルフィック格納装置
US20200150866A1 (en) Volume management apparatus, volume management method, and volume management program
US10049042B2 (en) Storage device, semiconductor memory device, and method for controlling same
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
US11740823B2 (en) Storage system and storage control method
JP2023010765A (ja) メモリシステム
CN114600074A (zh) 块装置的构造
US10846234B2 (en) Storage control system and storage control method
JP7154261B2 (ja) 複合型ストレージシステム
CN114600075A (zh) 块装置的构建
WO2016013098A1 (ja) 物理計算機及び仮想計算機移行方法
US11340820B2 (en) Storage system and data migration method of migrating group of volume and logical resources of the volume
WO2018055686A1 (ja) 情報処理システム

Legal Events

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

Ref document number: 14898125

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14898125

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP