Realocação de recursos em ambientes virtualizados - Rodrigues, Elder de Macedo (2009)
A constante evolução das tecnologias computacionais tem possibilitado um aumento no poder de processamento dos computadores, sendo que em determinadas situações esse poder computacional não é plenamente utilizado. Para utilizar efetivamente a capacidade de processamento dos computadores, cada vez mais as empresas de processamento de dados (data center) se utilizam da virtualização. A virtualização é uma técnica que permite a execução de diversos Sistemas Operacionais em um único equipamento. Desta forma, com o uso da virtualização um único servidor físico pode manter diversos Sistemas Operacionais, com diferentes aplicações sendo executadas simultaneamente. Quando essas aplicações são portadas para um ambiente virtualizado, devem ter seus níveis de recursos constantemente monitorados e ajustados para se evitar situações de degradação da qualidade do serviço ou prover uma melhor utilização do hardware. Nestas situações é importante implementar um Service Level Agreement (SLA) que controle a qualidade do serviço entregue por estas aplicações. Entretanto, os Monitores de Máquinas Virtuais, como por exemplo, o Xen, não possuem a funcionalidade de se realocar recursos com base nas regras definidas nos SLAs. Com o objetivo de superar esta limitação, este trabalho propõe a realocação dinâmica de recursos em ambientes virtualizados a partir de requisitos derivados de SLAs. A realocação de recursos, busca também atender a demanda por recursos, por exemplo, em uma máquina virtual (VM) que tenham recebido uma carga de trabalho maior do que a prevista no SLA, através da realocação de recursos (processador e memória) que não estejam sendo utilizados pelas demais VMs.