IP Library › Granted Patent US 8,490,091
Granted Patent B2
US 8,490,091 · App. 13/073,132 · Granted Jul 16, 2013

Virtual machine placement to improve memory utilization

Inventors: James J. Bozek (Bothell, WA); Nils Peter Joachim Hansson (Monroe, WA); Edward S. Suffern (Chapel Hill, NC); James L. Wooldridge (Fall City, WA)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,490,091
App. No.
13/073,132
Granted
Jul 16, 2013
Kind
B2
Abstract

Virtual machines having a high amount of identical memory pages are grouped under a common hypervisor to enable greater memory savings as the result of transparent page sharing. One embodiment provides a computer program product including computer usable program code for performing a method that comprises analyzing the software image content of a plurality of virtual machines running on a plurality of hypervisors in a common migration domain, identifying two or more of the virtual machines having greater than a threshold amount of common memory pages, placing the two or more virtual machines under a common hypervisor, and sharing the common memory pages among the two or more virtual machines. Optionally, the identifying of two or more of the virtual machines may include identifying two or more of the virtual machines having the same software image content classifications; thereby, identifying images with a greater affinity for common memory pages.

Claims (15)

1. A computer program product including computer-usable program code embodied on a non-transitory computer-usable storage medium, the computer program product comprising:

computer-usable program code for analyzing the software image content of a plurality of virtual machines running on a plurality of hypervisors in a common migration domain;

computer-usable program code for identifying two or more of the virtual machines having greater than a threshold amount of common memory pages;

computer-usable program code for placing the two or more virtual machines under a common hypervisor;

computer-usable program code for increasing the amount of common memory pages between a first virtual machine and a second virtual machine by moving a workload of the first virtual machine from a first operating system to a second operating system that is used by the workload of the second virtual machine; and

computer-usable program code for sharing the common memory pages among the two or more virtual machines.

2. The computer program product of claim 1 , wherein the computer-usable program code for placing the two or more virtual machines under a common hypervisor, includes computer-usable program code for dynamically migrating a first of the two or more virtual machines to a physical server running a second of the two or more virtual machines.

3. The computer program product of claim 1 , wherein the computer-usable program code for analyzing the software image content of a plurality of virtual machines running on a plurality of hypervisors in a common migration domain, includes computer-usable program code for determining a software image content classification for each of the plurality of virtual machines.

4. The computer program product of claim 3 , wherein the computer-usable program code for identifying two or more of the virtual machines having greater than a threshold amount of common memory pages, includes computer usable computer-usable program code for identifying two or more of the virtual machines having the same software image content classifications.

5. The computer program product of claim 4 , wherein the computer-usable program code for determining the software image content classification for each of the plurality of virtual machines, includes computer-usable program code for classifying a virtual machine based upon a common golden image used to create the virtual machine.

6. The computer program product of claim 1 , wherein the first and second operating systems are different versions of the same operating system.

7. The computer program product of claim 1 , further comprising:

calculating an amount of common memory pages that would result from moving a workload of the first virtual machine from a first operating system to a second operating system that is used by a workload of a second virtual machine; and

automatically moving the workload to the second operating system in response to the calculated amount of common memory pages exceeding the threshold amount.

8. The computer program product of claim 3 , wherein the software image content classification for each of the plurality of virtual machines is selected from computer-aided design programs, database search engines, and spreadsheets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2011
From: BOZEK, JAMES J.; HANSSON, NILS PETER JOACHIM; SUFFERN, EDWARD S.; WOOLDRIDGE, JAMES L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026031/0935 →
Continuity (1)
Related Publication 20120254860A1 · Oct 4, 2012