Optimizing partition placement in virtualized environments
AssigneeUnisys Corporation
InventorsNandish Kopri, Dharmesh Kakadia
Life of this patent
Estimating the term…
Abstract
Application performance in cloud-based virtualized environments may be improved by migrating partitions executing within the cloud between servers. When an application spans multiple related partitions spread out on different servers within the cloud, related partitions may be migrated to the same server or nearby servers to reduce input/output (I/O) delay in communications between the related partitions. A method for improving performance may include analyzing a network traffic log to identify related partitions. Then, communications costs may be calculated for the related partitions and a partition selected for migration to a new location in the cloud.
Claims20
A method, comprising:
- receiving, by a migration server, a network traffic log listing communications between a plurality of partitions spanning a first server and a second server, wherein the second server comprises a memory;
- and
- identifying, by the migration server, from the network traffic log, a set of related partitions based on a set of criteria, wherein the plurality of partitions comprises the set of related partitions, wherein the set of related partitions comprises a first partition and a second partition related to each other based on the set of criteria, wherein the first partition and the second partition belong to a same system image, wherein the first partition is hosted on the first server, wherein the second partition is hosted on the second server, where the set of criteria is stored on the migration server;
- performing a first determination, by the migration server, of a first average communication cost for the first partition and a second average communication cost for the second partition, wherein the first average communication cost is based on the first partition communicating with the set of related partitions, wherein the second average communication cost is based on the second partition communication with the set of related partitions;
- selecting, by the migration server, the first partition over the second partition based on the first average communication cost being greater than the second average communication cost;
- performing a second determination, by the migration server, based on the selecting, of a new location for the first partition in a hierarchical network tree, wherein the hierarchical network tree comprises a root node, a plurality of parent nodes dependent from the root node, and a plurality of children nodes dependent from the parent nodes, wherein the children nodes comprise the first server and the second server, wherein the second server comprises the new location, wherein each node of the hierarchical network tree represents a communication cost to that respective node, wherein each of the parent nodes aggregates a cost of all of the children nodes for that parent node, wherein the second determination comprises a traversal of the hierarchical network tree from the root node to the children nodes and a selection, based on the traversal, of a branch of the hierarchical network tree with a largest cost, wherein a parent node from the parent nodes comprises the cost which comprises the first average communication cost;
- moving, by the migration server, based on the hierarchical network tree, the first partition from the first server to the new location on the second server based on the second average communication cost being less than the first average communication cost such that the first partition and the second partition share the memory.
A computer program product, comprising:
- a non-transitory computer readable medium comprising:
- code to receive, by a migration server, a network traffic log listing communications between a plurality of partitions spanning a first server and a second server, wherein the second server comprises a memory;
- and
- code to identify, by the migration server, from the network traffic log, a set of related partitions based on a set of criteria, wherein the plurality of partitions comprises the set of related partitions, wherein the set of related partitions comprises a first partition and a second partition related to each other based on the set of criteria, wherein the first partition and the second partition belong to a same system image, wherein the first partition is hosted on the first server, wherein the second partition is hosted on the second server, where the set of criteria is stored on the migration server;
- code enabling a first determination, by the migration server, of a first average communication cost for the first partition and a second average communication cost for the second partition, wherein the first average communication cost is based on the first partition communicating with the set of related partitions, wherein the second average communication cost is based on the second partition communication with the set of related partitions;
- code to select, by the migration server, the first partition over the second partition based on the first average communication cost being greater than the second average communication cost;
- code enabling a second determination, by the migration server, based on the selecting, of a new location for the first partition in a hierarchical network tree, wherein the hierarchical network tree comprises a root node, a plurality of parent nodes dependent from the root node, and a plurality of children nodes dependent from the parent nodes, wherein the children nodes comprise the first server and the second server, wherein the second server comprises the new location, wherein each node of the hierarchical network tree represents a communication cost to that respective node, wherein each of the parent nodes aggregates a cost of all of the children nodes for that parent node, wherein the second determination comprises a traversal of the hierarchical network tree from the root node to the children nodes and a selection, based on the traversal, of a branch of the hierarchical network tree with a largest cost, wherein a parent node from the parent nodes comprises the cost which comprises the first average communication cost;
- code to move, by the migration server, based on the hierarchical network tree, the first partition from the first server to the new location on the second server based on the second average communication cost being less than the first average communication cost such that the first partition and the second partition share the memory.
An apparatus, comprising:
- a migration server comprising:
- a memory;
- and
- a processor coupled to the memory, in which the processor is configured:
- to receive a network traffic log listing communications between a plurality of partitions spanning a first server and a second server, wherein the second server comprises a memory;
- and
- to identify, from the network traffic log, a set of related partitions based on a set of criteria, wherein the plurality of partitions comprises the set of related partitions, wherein the set of related partitions comprises a first partition and a second partition related to each other based on the set of criteria, wherein the first partition and the second partition belong to a same system image, wherein the first partition is hosted on the first server, wherein the second partition is hosted on the second server, where the set of criteria is stored on the migration server;
- to perform a first determination of a first average communication cost for the first partition and a second average communication cost for the second partition, wherein the first average communication cost is based on the first partition communicating with the set of related partitions, wherein the second average communication cost is based on the second partition communication with the set of related partitions;
- to select the first partition over the second partition based on the first average communication cost being greater than the second average communication cost;
- to perform a second determination, based on the selecting, of a new location for the first partition in a hierarchical network tree, wherein the hierarchical network tree comprises a root node, a plurality of parent nodes dependent from the root node, and a plurality of children nodes dependent from the parent nodes, wherein the children nodes comprise the first server and the second server, wherein the second server comprises the new location, wherein each node of the hierarchical network tree represents a communication cost to that respective node, wherein each of the parent nodes aggregates a cost of all of the children nodes for that parent node, wherein the second determination comprises a traversal of the hierarchical network tree from the root node to the children nodes and a selection, based on the traversal, of a branch of the hierarchical network tree with a largest cost, wherein a parent node from the parent nodes comprises the cost which comprises the first average communication cost;
- to move, based on the hierarchical network tree, the first partition from the first server to the new location on the second server based on the second average communication cost being less than the first average communication cost such that the first partition and the second partition share the memory.
Dependencies are inferred from the claim text.