{'fraction_non_alphanumeric': 0.02073365231259968, 'fraction_numerical': 0.001594896331738437, 'mean_word_length': 5.121951219512195, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Online traffic-aware virtual machine placement in data center networks

Data centers rely on virtualization to provide different services over a shared infrastructure. The placement of the different services and tasks in the physical machines is crucial for the performance of the whole system. A misplaced service can overload some network links, lead to congestion, or even connection disruptions. On the other hand, virtual machine migration allows reallocating services and changing the traffic matrix, leading to more efficient use of bandwidth. In this paper, we propose a Virtual Machine Placement (VMP) algorithm to (re)allocate virtual machines in the data center servers, based on the current traffic matrix, CPU, and memory usage. Analyzing the formation of community patterns in terms of traffic using graph theory, we are able to find virtual machines that are correlated because they exchange high amount of data. Those virtual machines are aggregated and allocated to servers as close as possible to each other, reducing traffic congestion. Our simulation results show that VMP was able to improve the traffic distribution. In some specific cases we were able to reduce 80% of the core traffic, concentrating it at the edge of the network.