Otimização de alocação de máquinas virtuais em datacenter heterogêneo de sistema de computação em nuvem - Rodrigues, João Antonio Magri (2019)
Computação em nuvem pode ser deﬁnida como uma tecnologia de oferta de serviços de computação por meio da Internet, utilizando virtualização de máquinas. A virtualização é um procedimento em que se estabelece um ambiente virtual para execução de tarefas consumindo parte dos recursos de uma máquina real. Desse modo, o desempenho de um sistema de computação em nuvem depende da eﬁciência da alocação de máquinas virtuais em máquinas reais, atendendo restrições e metas diversas. Neste trabalho se propõe uma nova abordagem para alocação de máquinas virtuais que tem como objetivo otimizar o número de máquinas físicas ativas e o tráfego na rede do sistema, tratando situações de conﬂito e balanço entre estes dois objetivos em sistemas heterogêneos.A solução proposta é baseada em uma modiﬁcação do algoritmo para particionamento de grafos de Kernighan-Lin para tratar os custos de comunicação, além de heurísticas para a minimização do número de máquinas físicas. O texto apresenta um levantamento bibliográﬁco a respeito de computação em nuvem, o estado da arte relacionado ao problema de alocação de máquinas virtuais, a implementação do algoritmo e sua avaliação. O algoritmo proposto é avaliado contra uma heurística convencional e um algoritmo do estado da arte em diversos cenários. Os resultados obtidos mostram que, apesar da diﬁculdade de conciliação entre estes dois objetivos em se tratando de sistemas heterogêneos, as soluções obtidos pela abordagem desenvolvida são de boa qualidade.