Gang migration of virtual machines using cluster-wide deduplication
First Claim
1. A method for transfer of information comprising a plurality of memory pages or sub-pages to a plurality of servers in a server rack, comprising:
- determining which of the plurality of memory pages or memory sub-pages have respectively unique content with respect to the plurality of memory pages or sub-pages;
transferring a copy of each memory page or sub-page having unique content to the server rack, substantially without transferring a memory page having redundant content;
determining which of the plurality of servers in the server rack require a respective memory page or sub-page having unique content; and
duplicating the respective memory page or sub-page having unique content within the server rack for each of the plurality of servers in the server rack that requires, but did not receive, the copy of the memory page or sub-page having unique content.
2 Assignments
0 Petitions
Accused Products
Abstract
Gang migration refers to the simultaneous live migration of multiple Virtual Machines (VMs) from one set of physical machines to another in response to events such as load spikes and imminent failures. Gang migration generates a large volume of network traffic and can overload the core network links and switches in a datacenter. In this paper, we present an approach to reduce the network overhead of gang migration using global deduplication (GMGD). GMGD identifies and eliminates the retransmission of duplicate memory pages among VMs running on multiple physical machines in the cluster. The design, implementation and evaluation of a GMGD prototype is described using QEMU/KVM VMs. Evaluations on a 30-node Gigabit Ethernet cluster having 10 GigE core links shows that GMGD can reduce the network traffic on core links by up to 65% and the total migration time of VMs by up to 42% when compared to the default migration technique in QEMU/KVM. Furthermore, GMGD has a smaller adverse performance impact on network-bound applications.
-
Citations
21 Claims
-
1. A method for transfer of information comprising a plurality of memory pages or sub-pages to a plurality of servers in a server rack, comprising:
-
determining which of the plurality of memory pages or memory sub-pages have respectively unique content with respect to the plurality of memory pages or sub-pages; transferring a copy of each memory page or sub-page having unique content to the server rack, substantially without transferring a memory page having redundant content; determining which of the plurality of servers in the server rack require a respective memory page or sub-page having unique content; and duplicating the respective memory page or sub-page having unique content within the server rack for each of the plurality of servers in the server rack that requires, but did not receive, the copy of the memory page or sub-page having unique content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for gang migration of a plurality of servers to a server rack having a network link external to the server rack and an internal data distribution system for communicating within the server rack, comprising:
-
determining unique memory pages which lack content redundancy with respect to other memory pages across the plurality of servers to be gang migrated to the server rack; initiating a gang migration, wherein only a single copy of each unique memory page is transferred to the server rack during the gang migration, along with a reference to the unique memory page for servers that require but do not receive a copy of the unique memory page; and after receipt of the single copy of each unique memory page within the server rack, communicating the respective unique memory page to each server that requires but did not receive the copy of the respective unique memory page, to thereby duplicate the respective unique memory page within the server rack after having received a single copy of the unique memory page.
-
-
20. A system for transfer of information comprising a plurality of memory pages or sub-pages to a plurality of servers in a server rack, comprising:
-
a server rack having a plurality of servers; an external network communication port configured to communicate memory pages or sub-pages and control information; an internal network communication network configured to communicate between the plurality of servers; a deduplication process executing on at least one server, configured to; determine which of the plurality of memory pages or memory sub-pages have respectively unique content with respect to the plurality of memory pages or sub-pages; control a transfer of a copy of each memory page or sub-page having unique content to the server rack through the external network communication port, substantially without transferring a memory page having redundant content; determine which of the plurality of servers in the server rack require a respective memory page or sub-page having unique content; and duplicate the respective memory page or sub-page having unique content within the server rack through the internal communication network, for each of the plurality of servers in the server rack that requires, but did not receive, the copy of the memory page or sub-page having unique content. - View Dependent Claims (21)
-
Specification