• Nenhum resultado encontrado

DESCRIÇÃO DO PROBLEMA DE ESCALONAMENTO

Esta seção introduz o problema de escalonamento de VNFs, considerando regras de precedência e encaminhamento de SFC que realiza o escalonamento de diferentes VNFs em uma única CPU seguindo as diretrizes (HERRERA; BOTERO, 2016;BRUCKER; KNUST,

2006). Em um problema de escalonamento, é necessário encontrar intervalos de tempo nos quais as atividades devem ser processadas sob certas restrições, tais como restrições de recursos, restrições de precedência entre essas atividades, executar cada função de forma a minimizar o tempo total de execução sem degradar o desempenho do serviço e respeitando todos os precedentes. As dependências entre as VNFs que compõem o serviço de rede de acordo com sua ordem predefinida e rotear o tráfego entre essas VNFs sem violar as restrições de SLA, tais como largura de banda, taxa de transferência, consumo de CPU, memória, entre outras (CHOWDHURY et al., 2018; ZHANG et al., 2016). O problema

de escalonamento de VNFs pode ser considerado análogo ao problema de escalonamento tradicional no contexto da computação em nuvem (ARUNARANI; MANJULA; SUGUMARAN,

2019). Entretanto, o escalonamento tradicional não considera que múltiplas funções de rede compartilham recursos computacionais, como escaloná-los dinamicamente e de acordo com sua ordem pré-definida. Além disso, a VNF apresenta inúmeras vantagens para a infraestrutura do data center:

• Primeiro, reduz os gastos operacionais, evitando a constante manutenção e atualização dos dispositivo

• Segundos, permite uma gestão dinâmica da qualidade do serviço

• Terceiro, o compartilhamento controlado entre os fluxos de serviços de rede para utilizar os recursos disponíveis de forma eficiente.

O escalonamento de VNFs desempenha um papel essencial no data center, atribuindo e intercalando as requisições VNF a cada máquinas virtuais de forma eficiente e eficaz (YI et al., 2018). Figura 17 mostra o problema de escalonamento abordado nessa tese

para compreender a importância crucial da tolerância a falhas. Suponha que existam três SFCs diferentes distribuídos em cinco racks de servidor de alto volume (Rack1-Rack5) e o objetivo é minimizar o tempo total de execução do conjunto de serviços para garantir alta disponibilidade e evitar falhas de repetição.

Figura 17 – Problema de Pesquisa no Escalonamento de VNFs

Neste contexto, há alguns casos em que as solicitações podem levar a problemas críticos de disponibilidade e desempenho no escalonamento de VNFs em data center, quando surgem durante Situações Anormais. Entre os quais, podem ser mencionados:

• 1): Suponha que não haja falhas e, por exemplo, o SFC3 consiste em cinco funções de rede F1-F5, rodando no Rack2, Rack3, Rack4, Rack5, respectivamente. Se estas funções de rede levam 3, 1, 1, 3 e 2 unidades de tempo, respectivamente, então o tempo total de execução do serviço SFC3 é de 9 unidades de tempo. No entanto, considere que uma falha no link, que por sua vez leva a falha ou um atraso maior do que 9 unidades de tempo.

• 2): Suponha que os serviços SFC1 estejam funcionando corretamente, mas o Rack1 falha ao longo do tempo, devido à sobrecarga máquinas virtuais, levando à redução da disponibilidade e degradação do dispositivo no data center.

• 3): Suponha que ocorra uma falha no SFC2 (F2) que cause a falha de todo o SFC. Neste caso, como não há redundância, o serviço não estará disponível. Falhas no serviço devido a falhas de uma cadeia têm um impacto severo nos clientes e podem resultar em perdas financeiras significativas.

• 4): Suponha que haja redundância na VNF (F5) no SFC3. Neste caso, a VNF falha, mas permanece operacional, e assim permanece todo o sistema, tendo a mesma disponibilidade, supondo que não haja falha no Rack1 do dispositivo físico.

• 5): Suponha que dois tipos de falhas ocorrem no Rack1: (i) o rack está operando a 100% de sua capacidade, o superaquecimento ocorreu e o rack falha inesperadamente; (ii) o pedido de escalonamento de recursos sobre a capacidade do Rack1 gera sua falha, uma vez que já está operando a 100%, e não há espaço para manutenção ou realocação de VNF.

• 6): Suponha uma alocação de recursos ineficiente de VNF para cada máquinas virtuais nos Racks. Neste caso, alguns racks irão operar na sua capacidade total e outros na sua capacidade mínima podem levar a falhas ou degradação do desempenho.

• 7): Suponha que a quantidade de recursos da CPU alocada não é suficiente. Neste caso, a VNF pode falhar. Por outro lado, se a quantidade de recursos for superprovisionada, isso pode causar um desperdício de recursos.

Vale ressaltar que uma falha em uma única VNF proporcionar falhas em toda a SFC, o que resultaria em desperdício de recursos, atrasos, degradação do desempenho e perdas significativas de dados. Uma solução possível para tal situação seria confiar em estratégias de redundância. No entanto, onde colocar a redundância continuaria a ser uma tarefa complicada a ser resolvida. Além disso, é difícil escalonar eficientemente para otimizar a gestão de serviços sem violar restrições de capacidade, atrasos e disponibilidade. Finalmente, como o controle e gerenciamento centralizados são muito mais vulneráveis à propagação de erros entre diferentes VNFs, a falha em operar um módulo de software pode afetar outras funcionalidades relacionadas que dependem de informações compartilhadas. Neste contexto, apesar de depender de uma plataforma de hardware distribuída, o sistema fica muito mais exposto a falhas de causa comum no projeto e operação. Neste sentido, o problema de escalonamento abordado nessa tese, consiste em quatro partes que podem ser associadas a cada uma das QPs introduzidas no Capítulo ??, em termos de:

• Qual é a estratégia de aprendizagem profunda mais adequada para realizar o escalo- namento?

• Como criar uma estratégia inteligente e automatizada para o escalonamento de recursos de rede considerando aspectos de um data center tolerante a falhas em cenários NFV?

• Qual é o conjunto de métricas representativas que podem quantificar os impactos na degradação do desempenho do escalonamento de VNFs e servir como input para o operador de rede ajustar o modelo de aprendizagem profunda ou redesenhar a redundância do dispositivo?