1. 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.