1. A method to optimize resource utilization in a collection of devices that include a plurality of hierarchical network layers, the method comprising: identifying a plurality of packets exchanged between a plurality of processes being executed by virtual machines on collections of server computers, wherein the plurality of hierarchical network layers couple the collections of server computers; identifying one or more pairs of virtual machines that include a first virtual machine that communicates with a second virtual machine using a higher layer in the plurality of hierarchical network layers; and relocating one or more of the first virtual machine or the second virtual machine in the one or more pairs of virtual machines to another server computer in the collections of server computers such that the first virtual machine and the second virtual machine communicate using a lower layer of the plurality of hierarchical network layers, wherein the lower layer is one or more of an edge layer or an aggregation layer that includes a first plurality of network elements coupled to the collections of server computers; and wherein the higher layer includes a core layer that includes a second plurality of network elements coupled to the first plurality of network elements and coupled to a network, wherein the relocation is configured to increase data traffic in a lower layer in the plurality of hierarchical network layers and to decrease the data traffic in a higher layer in the plurality of hierarchical network layers.