• Nenhum resultado encontrado

Autodimensionamento proativo para elasticidade assertiva de funções de rede virtuais em cadeias de serviço

N/A
N/A
Protected

Academic year: 2021

Share "Autodimensionamento proativo para elasticidade assertiva de funções de rede virtuais em cadeias de serviço"

Copied!
104
0
0

Texto

(1)

Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação

Doutorado Acadêmico em Sistemas e Computação

Autodimensionamento Proativo para

Elasticidade Assertiva de Funções de Rede

Virtuais em Cadeias de Serviço

Sandino Barros Jardim

Natal-RN Outubro de 2020

(2)

Autodimensionamento Proativo para Elasticidade

Assertiva de Funções de Rede Virtuais em Cadeias de

Serviço

Tese de doutorado apresentada ao Programa de Pós-Graduação em Sistemas e Computa-ção do Departamento de Informática e Mate-mática Aplicada da Universidade Federal do Rio Grande do Norte como requisito parcial para a obtenção do grau de Doutor em Sis-temas e Computação

Redes de Computadores:

Sistemas Integrados e Distribuídos

Orientador

Prof. Dr. Augusto José Venâncio Neto

PPgSC – Programa de Pós-Graduação em Sistemas e Computação DIMAp – Departamento de Informática e Matemática Aplicada

CCET – Centro de Ciências Exatas e da Terra UFRN – Universidade Federal do Rio Grande do Norte

Natal-RN Outubro de 2020

(3)

Jardim, Sandino Barros.

Autodimensionamento proativo para elasticidade assertiva de funções de rede virtuais em cadeias de serviço / Sandino Barros Jardim. - 2020.

103f.: il.

Tese (Doutorado) - Universidade Federal do Rio Grande do Norte, Centro de Ciências Exatas e da Terra, Departamento de Informática e Matemática Aplicada, Programa de Pós-Graduação em Sistemas e Computação. Natal, 2020.

Orientador: Augusto José Venâncio Neto. Coorientador: Marília Pascoal Curado. Coorientador: Harold Ivan Angulo Bustos.

1. Computação - Tese. 2. Funções virtuais de rede - Tese. 3. Dimensionamento de funções virtuais - Tese. 4. Aprendizado de máquina - Tese. 5. Funções de rede encadeadas - Tese. I. Venâncio Neto, Augusto José. II. Curado, Marília Pascoal. III. Bustos, Harold Ivan Angulo. IV. Título.

RN/UF/CCET CDU 004

Catalogação de Publicação na Fonte. UFRN - Biblioteca Setorial Prof. Ronaldo Xavier de Arruda - CCET

(4)

Aos meus pais, Benone e Sueli.

(5)

Ao Deus e Pai de Nosso Senhor Jesus Cristo e à interseção de Sua Mãe, Maria San-tíssima, São José de Cupertino e São Pio de Pietrelcina.

Ao meu orientador, Augusto Neto, minha eterna gratidão pelas orientações e por todo seu know-how e de seus amigos colocados à minha disposição, pela paciência, compreensão e ensinamentos.

A Marília Curado e Edmundo Monteiro, "padrinhos"deste trabalho, pela co-orientação durante o estágio em Coimbra, pelo acesso aos recursos computacionais da Universidade e o auxílio de seu aluno David Abreu.

Ao professor Harold Angulo, pela co-orientação e auxílio nas pesquisas relacionadas a aprendizagem de máquina, pelo suporte que me ofereceu através de seu aluno Marcos e pelo acesso aos recursos computacionais da UERN, imprescindíveis para conclusão deste trabalho.

Aos colegas do curso de Engenharia da Computação da UFMT de Várzea Grande, Diogo, Raoni, Joyce, Fabrício, Fred e Jhésus, que seguraram a barra durante meu afasta-mento.

Ao meu amigo Max, que me acompanhou de perto na maior parte do tempo durante essa caminhada.

Aos membros do grupo de pesquisa REGINA, sempre à disposição quando precisei de suporte no acesso à distância aos recursos do laboratório.

Ao meu amigo André, pelas contribuições pontuais de extrema importância, orações e pelo tempo escutando meus desabafos sobre os momentos difíceis desta caminhada.

(6)

Assertiva de Funções de Rede Virtuais em Cadeias de

Serviço

Autor: Sandino Barros Jardim Orientador: Prof. Dr. Augusto José Venâncio Neto

Resumo

A virtualização de funções de rede é uma tecnologia que propõe desacoplar funções de rede tradicionalmente alocadas sobre hardware especializado e disponibilizá-las como elementos de software com premissa de execução sobre servidores de propósito geral. Tal flexibiliza-ção permite a oferta de serviços de rede alocados sobre infraestruturas de nuvem e facilita o estabelecimento de políticas de rede a partir do encadeamento de diferentes funções pelo qual um determinado tráfego deva atravessar para seu cumprimento. A variação da de-manda pelos serviços hospedados vai exigir da gestão de recursos o atributo de elasticidade para lidar com objetivos de desempenho, ajustando os recursos computacionais das fun-ções para lidar com aumento de demanda, e custos de operação, evitando provisionamento além da necessidade. Tradicionalmente, a elasticidade é oferecida por abordagens reati-vas baseadas em limiares, mas apresentam a tendência de aumentarem exponencialmente seu tempo de resposta conforme os recursos se esgotam. Trabalhos recentes têm sugerido abordagens proativas, combinando métodos de aprendizagem de máquina que permitem antecipar as decisões e adequar o máximo possível os recursos à demanda. Tal adequação é crucial para o sucesso de uma solução de elasticidade proativa, viabilizando decisões assertivas de dimensionamento que respondam com agilidade e precisão às variações de demanda e que contribuam para o equilíbrio dos objetivos de custo e desempenho. Esta tese de doutorado apresenta o ARENA, um mecanismo de elasticidade proativa para auto dimensionamento de funções virtualizadas de rede encadeadas auxiliado por predição de demanda baseada em aprendizagem de máquina para maximização da assertividade das decisões de dimensionamento horizontal e vertical.

Palavras-chave: Funções virtuais de rede, Dimensionamento de funções virtuais, Apren-dizado de máquina, Predição de demanda, Funções de Rede Encadeadas.

(7)

Virtual Network Functions in Service Chains

Author: Sandino Barros Jardim Supervisor: Prof. Dr. Augusto José Venâncio Neto

Abstract

The main idea of Network Function Virtualization is the decoupling of physic network equipment from the functions that run on then, which could then be implemented in software running on industrial standard physical servers. This flexibilization enables the deployment of network services provided over cloud-based infrastructures and the ability to enforces network policies through the chaining of different functions in which some traffic should traverse to accomplish it. The fluctuation of service demands will require from resource management the continuous elasticity of resources to meet cost and perfor-mance objectives, by allocating or releasing resources to avoid under/over-provisioning. Traditionally, elasticity is offered through reactive approaches based on threshold-based rules to perform elastic actions, although they tend to the scarcity of resources and in-creasing service response time. Recent work has suggested proactive approaches, through combining Machine Learning-based models which allows anticipating decisions and opti-mize the adjustment of resources to demand. Such optimization is crucial for a successful proactive elasticity solution, which enables assertive auto-scaling decisions to rapidly res-pond to demand fluctuation and contributes to the balance of cost-performance objectives. This doctoral thesis presents ARENA, a proactive autoscaling mechanism with Machine Learning-based demand prediction for maximization of assertive decisions in horizontal and vertical elasticity.

Keywords: Virtual Network Functions (VNF), VNF Auto-scaling, Machine Learning, De-mand prediction, Service Function Chaining (SFC).

(8)

2.1 Versão simplificada da arquitetura ETSI-NFV . . . p. 25

2.2 Dois diferentes serviços sendo oferecidos a partir de quatro diferentes

funções (modificado de [1]) . . . p. 26

2.3 Elasticidade Horizontal X Vertical . . . p. 27

2.4 Demonstração de situações de over e under-provisioning . . . p. 29

4.1 Arquitetura do ARENA . . . p. 43

4.2 Balanceamento de carga distribuindo os fluxos ingressantes igualmente

entre as instâncias ativas de uma SFC . . . p. 44

4.3 Diagrama de sequência para descrição das interações para agendamento

de fluxo sobre SFC . . . p. 45

4.4 Fluxo de ações que culminam na decisão de auto-scaling assistida pela

predição de demanda . . . p. 45

4.5 Dois serviços oferecidos ao longo da NFVI envolvendo diferentes NFV-PoPs p. 47

5.1 Gráfico de variação de demando do conjunto de dados utilizado após

conversão para número de requisições por segundo . . . p. 57

5.2 Valor médio e intervalo médio de uma janela de 5 minutos . . . p. 58

5.3 Vazão apresentada para um período de cinco dias . . . p. 59

5.4 Ilustração das arquiteturas de redes neurais utilizadas nos experimentos p. 60

5.5 Resultado das predições realizadas pelos quatro modelos . . . p. 61

5.6 MAE . . . p. 63

5.7 MedAE . . . p. 63

5.8 MSE . . . p. 64

(9)

6.1 Variação do tráfego de dados utilizada nos experimentos . . . p. 70

6.2 Precisão dos modelos . . . p. 75

6.3 MAE . . . p. 76

6.4 Taxa de atendimento para o cenário horizontal . . . p. 77

6.5 Matrizes de Confusão - NAT . . . p. 77

6.6 Matrizes de Confusão - Firewall . . . p. 78

6.7 Matrizes de Confusão - TrafMonit . . . p. 78

6.8 Matrizes de Confusão - IDS . . . p. 79

6.9 Matrizes de Confusão - WanOpt . . . p. 79

6.10 Precisão dos modelos . . . p. 80

6.11 MAPE . . . p. 81

6.12 Matrizes de Confusão - NAT . . . p. 82

6.13 Matrizes de Confusão - Firewall . . . p. 82

6.14 Matrizes de Confusão - TrafMonit . . . p. 83

6.15 Matrizes de Confusão - IDS . . . p. 83

6.16 Matrizes de Confusão - WanOpt . . . p. 84

6.17 Taxa de atendimento no cenário vertical . . . p. 85

6.18 Tempo de execução dos workloads . . . p. 86

6.19 Análise do tempo de execução dos workloads no cenário horizontal . . . p. 87

6.20 Relação entre custo e atraso . . . p. 88

6.21 Custo total e análise da reserva realizada em decisões assertivas . . . . p. 88

6.22 Consumo total de energia dos hosts . . . p. 89

6.23 Tempo de execução dos workloads . . . p. 90

6.24 Análise do tempo de execução dos workloads no cenário vertical . . . . p. 90

(10)
(11)

1 Comparação entre as diferentes soluções . . . p. 41

2 Serviço encadeado considerado no experimento. . . p. 67

3 Especificação das capacidades requisitadas por cada VNF. . . p. 67

4 Lista de configurações de VNFs utilizadas nos experimentos de

elastici-dade vertical . . . p. 68

(12)

NFV – Network Function Virtualization

SDN – Software Defined Networks

NFVI – Network Function Virtualization Infrastructure

VNF – Virtual Network Function

NFVI-PoP – Network Function Virtualization Point of Presence

QoS – Quality of Service

SLA – Service Level Agreement

CPU – Central Processing Unity

RAM – Random Access Memory

MANO – Management and Orchestration

ETSI – European Telecommunications Standards Institute

NFVO – NFV Orchestrator

VNFM – VNF Manager

VIM – Virtual Infrastructure Manager

API – Application Programming Interface

SFC – Service Function Chaining

NAT – Network Address Translator

ML – Machine Learning

GPU – Graphic Processing Unit

TPU – Tensorial Processing Unit

PST – Previsão de Séries Temporais

(13)

DL – Deep Learning

vCPU – Virtual CPU

FTRL – Follow the Regularized Leader

LSTM – Long Short Term Memory

PRU – Process Requirement Unit

VP – Verdadeiro Positivo

(14)

1 Introdução p. 16

1.1 Formulação do Problema de Pesquisa . . . p. 19

1.2 Hipóteses e Questões de Pesquisa . . . p. 21

1.3 Objetivo Principal . . . p. 21

1.4 Objetivos Específicos . . . p. 22

1.5 Organização da Tese . . . p. 22

2 Fundamentação teórica p. 23

2.1 Funções de Rede Virtualizadas . . . p. 23

2.2 Funções de Serviço Encadeadas . . . p. 26

2.3 Elasticidade na Computação em Nuvem . . . p. 27

2.4 Aprendizado de Máquina . . . p. 29

2.5 Síntese do Capítulo . . . p. 31

3 Trabalhos Relacionados p. 33

3.1 Elasticidade em Funções de Rede Virtuais e Serviços Encadeados . . . p. 33

3.1.1 Abordagens reativas . . . p. 34 3.1.2 Abordagens proativas . . . p. 35 3.2 Discussão . . . p. 39 3.3 Síntese do Capítulo . . . p. 41 4 O arcabouço ARENA p. 42 4.1 Arquitetura do ARENA . . . p. 42

(15)

4.1.2 Predição de Demanda Assistida por Aprendizagem de Máquina p. 44

4.1.3 ARENA Auto-scaling - Dimensionador Automático de Funções

Virtuais . . . p. 46

4.1.3.1 Elasticidade horizontal do ARENA . . . p. 48

4.1.3.2 Elasticidade vertical do ARENA . . . p. 51

4.1.4 Gerenciamento de custos da NFVI . . . p. 53

4.1.5 Síntese do Capítulo . . . p. 54

5 Predição de Demanda do ARENA p. 55

5.1 Seleção do Modelo de Predição . . . p. 55

5.1.1 Conjunto de dados de tráfego utilizado . . . p. 55

5.1.2 Preparação dos dados . . . p. 56

5.1.3 Modelos de predição utilizados nos experimentos . . . p. 57

5.2 Resultados . . . p. 60

5.3 Síntese do Capítulo . . . p. 64

6 Avaliação do ARENA p. 66

6.1 Configuração dos Experimentos . . . p. 66

6.1.1 Serviço encadeado ofertado . . . p. 67

6.1.2 Requisito de processamento unitário das funções . . . p. 67

6.1.3 NFVI e algoritmo de colocação . . . p. 68

6.1.4 Parâmetros de simulação . . . p. 69

6.1.5 Modelo de comparação horizontal proativo . . . p. 70

6.1.6 Modelo de comparação horizontal reativo . . . p. 71

6.1.7 Modelo de comparação vertical proativo . . . p. 72

6.1.8 Modelo de comparação vertical reativo . . . p. 72

(16)

6.2.2 Elasticidade vertical . . . p. 80

6.3 Avaliação de Custo e Desempenho do ARENA . . . p. 85

6.3.1 ARENA horizontal . . . p. 86 6.3.2 ARENA vertical . . . p. 89 6.4 Síntese do Capítulo . . . p. 92 7 Conclusão p. 94 7.1 Principais Contribuições . . . p. 94 7.2 Trabalhos Futuros . . . p. 95 Referências p. 98

(17)

1

Introdução

Funções de rede são de fundamental importância para o ciclo de vida das comunica-ções de dados fim a fim. Uma lista não exaustiva das principais funcomunica-ções de rede inclui firewalls, roteamento, inspeção de pacotes, detectores de intrusão, controle de mobilidade, balanceamento de carga, entre outras. Da maneira como são implementadas, a partir de equipamentos físicos construídos em hardware especializado, são difíceis de serem implan-tadas e mantidas. Tal dificuldade advém tanto da necessidade de manuseio de interfaces físicas das diferentes arquiteturas para alcançar o comportamento de rede desejado, assim como pelo arranjo do espaço físico para acomodá-las. Além dos custos de operação, a inovação dos serviços exigiria a constante substituição dos equipamentos, influenciando também nos custos de investimento.

A virtualização de funções de redes muda o paradigma deste cenário, ao mover o processamento das funções sobre hardware especializado para um modelo baseado em estrutura virtualizada (máquinas virtuais ou contêineres) com premissa de execução sobre servidores de propósito geral, conceito denominado Virtualização de Funções de Redes (NFV, do inglês Network Function Virtualization)[2]. Além da redução de custos com equipamentos e manutenção, a NFV também proporciona gerenciamento mais refinado de recursos e controle de desempenho. Aliado à inovação trazida pelas Redes Definidas por Software (do inglês, Software Defined Networks)[3], que permitem maior flexibilidade no controle do encaminhamento de pacotes, a tecnologia NFV oferece grande potencial para flexibilizar o provisionamento de serviços de rede individuais ou encadeados.

A infraestrutura para virtualização de funções de redes (NFVI, do inglês Network Function Virtualization Infrastructure) se apresenta como chave para realização da arqui-tetura NFV, a partir do agrupamento de componentes de hardware e software que atuam como provedor de recursos destinados a oferecer um ambiente de execução para as funções de rede virtualizadas (VNF, do inglês Virtual Network Function). A NFVI pode abran-ger diferentes localizações geográficas onde operam os datacenters, que têm por objetivo oferecer recursos computacionais e de rede para o provisionamento de serviços de nuvem

(18)

(NFVs no caso desta pesquisa de doutorado). Nesta tese, um datacenter é classificado como um Ponto de Presença NFVI (NFVI-PoP, do inglês Network Function Virtualiza-tion Point of Presence), representando um provedor de recurso de nuvem. Portanto, um NFVI-PoP é composto por um conjunto de nós NFVI (servidores ou NFVI-Nodes, para seguir utilizando a terminologia definida pela ETSI), que interoperam na perspectiva de oferecer recursos físicos para que os serviços virtualizados sejam provisionados.

Uma vez pronta para produção, a NFVI está sujeita a diferentes objetivos sob dife-rentes perspectivas. Do ponto de vista do usuário, espera-se que o serviço ofertado atenda a requisitos de qualidade (Qualidade de Serviço, do inglês, Quality of Service (QoS)) de-finidos por Acordos de Nível de Serviço (SLA, do inglês Service Level Agreement (SLA)). Um tempo mínimo de execução do serviço ou uma porcentagem mínima de perdas de pacotes são exemplos que um SLA define.

Do ponto de vista de quem oferta o serviço e é inquilino de uma infraestrutura, deve considerar não apenas honrar os requisitos acordados com os usuários, mas também os custos de utilização da infraestrutura, refletidos por exemplo na quantidade de recursos alugados para a oferta do serviço. Por fim, do ponto de vista do operador da infraestrutura, deve ser considerado não apenas a disponibilidade de recursos para hospedagem das fun-ções virtualizadas face à crescente demanda por serviços na nuvem [4], como preocupar-se com o consumo de energia de seus nós, tendo em vista que o custo energético é um dos principais fatores a ser considerado na precificação dos serviços oferecidos aos seus clientes [5].

Nesse sentido, a elasticidade é um atributo de fundamental importância para uma NFVI. Um sistema é considerado elástico na medida em que é capaz de adaptar-se às mudanças na demanda dos serviços oferecidos. Esta adaptação se dá por meio do pro-visionamento ou liberação dos recursos, de maneira automática (autoscaling), tendo em vista que a cada ponto no tempo os recursos reservados correspondem o máximo possível à demanda atual [6]. Nesse cenário, o autoscaling assume papel fulcral no conflito de ob-jetivos entre custo e desempenho visados na oferta de um serviço virtualizado. Decisões de provisionamento muito acima da demanda corrente podem prejudicar os objetivos de custo tanto dos inquilinos quanto dos operadores, enquanto que o provisionamento de recursos abaixo do necessário afeta diretamente a satisfação dos usuários.

A característica dinâmica da variação do tráfego na direção dos serviços torna a busca pelo equilíbrio ainda mais desafiadora, na medida em que o mecanismo de autoscaling precisa responder rapidamente a isto, sob pena de degradação de QoS do usuário, ou

(19)

inclusive de desperdício de recursos.

Tradicionalmente, o autoscaling é oferecido sob uma abordagem reativa baseada em limiares associados a métricas de utilização dos recursos ou desempenho dos serviços. Isto é, monitora-se tais valores e decide-se por aumentar ou diminuir os recursos caso sejam atingidos os limiares mínimos ou máximos estabelecidos. Esta abordagem é comum nos provedores de serviços de nuvem, geralmente a partir do monitoramento dos níveis de consumo de CPU das instâncias, ou de acordo com alguma política definida pelo usuário. O cálculo dos recursos a serem adaptados segue uma abordagem escalonada, onde os recursos atuais são duplicados na tentativa de atender a nova demanda. Caso não seja suficiente, duplica-se novamente a quantidade e assim sucessivamente até alcançar a quantidade de recursos necessária [7].

Trabalhos recentes passaram a sugerir uma abordagem proativa, combinando métodos de aprendizagem de máquina que buscam oferecer meios para predição de demanda. Tal estratégia torna possível antecipar as decisões de autoscaling e adequar o máximo possível os recursos à necessidade. Entretanto, seu sucesso depende diretamente da eficácia da técnica de predição adotada e da premissa de que o comportamento do tráfego não é completamente aleatório[8].

A elasticidade também pode ser classificada pela forma como a expansão ou redução dos recursos é realizada. Na elasticidade horizontal, novas instâncias da mesma função são adicionadas ou removidas, enquanto um balanceador de carga deve cuidar da distribuição do fluxo entre as instâncias ativas. Na abordagem vertical, o dimensionamento é feito através da expansão ou retração dos recursos atualmente alocados, isto é, configurando para mais ou menos CPU (Unidade Central de Processamento, do inglês Central Pro-cessing Unity), memória RAM (Memória de Acesso Aleatório, do inglês Random Access Memory, etc. Caso não haja recursos suficientes no nó, a solução pode ser a migração da função para um nó com maior capacidade para sua posterior expansão.

Embora a migração permita que outro NFVI-node disponível atenda a nova demanda, o custo resultante está longe de ser o ideal. Todo o tempo decorrido para migração (co-brindo o período desde o início do processo de provisionamento até a conclusão da im-plantação do serviço no novo NFVI-Node) consome tempo demasiado. Em [9], os autores aferiram o tempo gasto durante a criação e entrega de fatias de rede na nuvem sob demanda, realizando experimentos sobre bancada de teste composta por servidores de propósito geral. As conclusões da pesquisa sugerem que uma nuvem OpenStack funcional de quatro nós leva mais de 12 minutos (incluindo implantação de serviços e entrega no

(20)

novo servidor).

Esse desempenho pode ser impraticável em aplicações críticas altamente sensíveis a atrasos e perdas (como por exemplo telecirurgia, internet tátil, veículos autônomos, e etc.). Tal cenário se torna pior quando o serviço está operando sob condições de esgotamento de recursos, também impactando no eventual custo de manter mais servidores ligados no caso de um serviço encadeado ao precisar espalhar funções virtuais por mais de um servidor.

1.1

Formulação do Problema de Pesquisa

A adoção de um mecanismo de elasticidade proativa no âmbito de funções de rede virtualizadas apresenta importantes desafios. Tendo como base as pesquisas realizadas no âmbito deste doutorado, o nível de eficácia e desempenho de um mecanismo autoscaling depende diretamente da assertividade que seu algoritmo é capaz de alcançar. Nesta tese, assertividade é definida como a capacidade que um mecanismo possui de tomar decisões de elasticidade ótimas [10], isto é, de decidir pelo montante ótimo de recursos a ser re-dimensionado (expansão ou retração), atendendo imediatamente (em um ciclo único de processamento) e adequadamente à demanda atual pelo serviço envolvido, sem prejuízo ao usuário ou desperdício de recursos.

Mecanismos puramente reativos baseados em decisões estocásticas, apesar de bas-tante populares entre provedores de nuvem como Amazon AWS, Google Cloud e Microsoft Azure, são altamente dependentes da variação de demanda sobre os serviços em execução. Com isso, são exigidos ajustes frequentes até que seja definida a quantidade de recur-sos condizente com a demanda projetada, o que compromete o desempenho dos serviços e a satisfação dos usuários até que aconteça uma decisão acertada [11]. Além disto, à medida em que vão tomando decisões de elasticidade superestimadas, tendem à escassez de recursos e à consequente indisponibilidade de dimensionamento para demais serviços concorrentes. Decisões superestimadas também contribuem para o desequilíbrio nos obje-tivos de custo tanto do ponto de vista da infraestrutura, pois precisará manter cada vez mais servidores ligados, quanto para os inquilinos, que precisarão arcar com os custos do sobre-provisionamento.

À luz das aplicações verticais sensíveis a atraso e perdas, cada vez mais emergentes nos cenários 5G e de Internet das Coisas, a ineficiência de desempenho dos serviços de-corrente de autoscaling com baixo nível de assertividade se apresenta como uma enorme

(21)

fraqueza. Quanto mais assertivas forem as decisões do mecanismo autoscaling, menor a probabilidade de ocorrerem eventos de redimensionamento muito acima ou muito abaixo da demanda corrente, aumentando assim a eficiência na gestão da NFVI e maximizando a possibilidade de oferta de recursos para provisão de novos serviços sobre a infraestrutura.

Por fim, a elasticidade no cenário de NFV deve considerar a oferta destes serviços de maneira encadeada, o que vai exigir que as decisões de elasticidade tenham alto ní-vel de assertividade para toda a cadeia, e não para uma instância específica. O desafio nesse sentido reside no fato de que as funções participantes da cadeia podem apresentar diferentes requisitos de processamento para uma mesma carga de trabalho, o que faz com que a variação da demanda apresente diferentes efeitos sobre cada instância das VNFs do serviço encadeado.

O cálculo de recursos de VNFs não é uma tarefa trivial, e requer tecnologia autos-caling apropriada e eficiente. Independente da técnica de elasticidade aplicada (vertical ou horizontal), o autoscaling ótimo de uma VNF depende diretamente do cálculo preciso para a quantidade de recursos a serem redimensionados, e assim conseguir responder com agilidade à nova demanda oferecida. Indubitavelmente, a assertividade do autoscaler é premissa para obtenção de uma abordagem de elasticidade ótima.

Uma solução nesse sentido sugere a adoção de uma abordagem proativa, tanto pelas limitações já apresentadas para abordagens reativas na tomada de decisões assertivas, quanto pela necessidade de se adiantarem a variações de demanda e picos de tráfego. Abordagens proativas têm surgido com maior frequência nos últimos anos dada a po-pularização de modelos de predição de séries temporais baseados em aprendizagem de máquina.

Entretanto, o sucesso na busca pela assertividade dependerá diretamente da precisão do modelo em prever a demanda e da capacidade da estratégia em mapear esta informação na quantidade de recursos necessários. Ademais, tais propostas precisam ser validadas sobre o tráfego de dados característico de serviços ofertados sob funções virtualizadas para se posicionarem de fato como uma abordagem viável para esse cenário.

Na busca pela otimização do equilíbrio entre custo e desempenho, o método de elasti-cidade vertical parece promissor dadas suas características na comparação com a elastici-dade horizontal. Ela permite dimensionamento de mais alta granularielastici-dade, pois adicionam ou removem unidades reais de recursos computacionais e também descartam a necessi-dade de balanceamento de carga [12]. No caso de máquinas virtuais, hypervisores mais modernos utilizam mecanismos avançados para permitir adição de memória e CPU em

(22)

tempo de execução.

Entretanto, os principais provedores de nuvem, tais como a Amazon, Google e Micro-soft, não oferecem autoscaling sem antes indisponibilizar o serviço da VMs [8]. A maior granularidade em relação à abordagem horizontal pode oferecer maior contribuição na busca pela otimização do conflito entre custo e desempenho enquanto que a antecipação das decisões de elasticidade vertical pode contribuir para amenizar o prejuízo da indispo-nibilidade do serviço durante o processo de dimensionamento.

1.2

Hipóteses e Questões de Pesquisa

Com base na problemática exposta na seção 1.1, esta tese de doutorado levanta as seguintes questões de pesquisa e suas respectivas propostas de solução:

Questão de Pesquisa (Q1) - É possível oferecer um mecanismo de elasticidade proativa com alto nível de assertividade para VNFs encadeadas em comparação com o estado da arte?

Proposta de Solução para Q1 (P1) - Oferecer um mecanismo de elasticidade proativa com alto nível de assertividade mediante auxílio de modelo de predição de alta precisão e de rápido treinamento e com um modelo de mapeamento entre demanda e recursos que considere os diferentes requisitos de processamento das funções que compõem uma cadeia de serviço.

Questão de Pesquisa (Q2) - É possível que tal mecanismo alcance maior equilíbrio entre custo e desempenho em comparação ao estado da arte reativo e proativo?

Proposta de Solução para Q2 (P2) - Alcançar maior equilíbrio entre os objetivos de custo e desempenho envolvido na provisão de serviços encadeados sobre infraestruturas NFV aumentando a assertividade das decisões de elasticidade.

1.3

Objetivo Principal

O objetivo principal desta tese é propor o ARENA, um mecanismo proativo de di-mensionamento automático de funções de rede virtualizadas encadeadas, assistido por predição de tráfego baseada em aprendizagem de máquina, com abordagem voltada para estratégias de dimensionamento horizontal e vertical a fim de maximizar a assertividade das decisões de elasticidade, que dê uma resposta satisfatória e positiva para Q1 e Q2.

(23)

1.4

Objetivos Específicos

Os objetivos específicos a seguir são elencados para a consecução do objetivo geral:

• Seleção de um modelo de predição de série temporal com alto grau de precisão para uma série de dados de tráfego de Internet realista.

• Definição de um modelo de mapeamento entre o tráfego esperado para o serviço oferecido e a quantidade ideal de recursos correspondentes (horizontalmente ou ver-ticalmente) para cada uma das funções componentes do serviço, que contribua para os objetivos de equilíbrio entre custo e desempenho.

• Avaliação do modelo proposto em termos de assertividade junto ao estado da arte e de seu impacto nas métricas de custo para o operador e o inquilino e de desempenho para o usuário dos serviços na comparação com o estado da arte proativo e reativo.

1.5

Organização da Tese

O restante deste trabalho está organizado da seguinte maneira:

• Capítulo 2 - Introduz as tecnologias de base relacionadas com esta tese de doutorado;

• Capítulo 3 - Apresenta um levantamento bibliográfico de trabalhos relacionados ao tema abordado nesta tese.

• Capítulo 4 - Descrição detalhada do arcabouço ARENA, seus componentes arqui-teturais, interações e seus algoritmos.

• Capítulo 5 - Apresenta os resultados obtidos para definição do modelo de predição do ARENA

• Capítulo 6 - São apresentados os experimentos para avaliação da assertividade e impacto do ARENA sobre os objetivos de custo e desempenho.

• Capítulo 7 - Finaliza esta tese, apresentando as conclusões com ênfase nas princi-pais contribuições do trabalho, e discute pontos relevantes a serem explorados em trabalhos futuros.

(24)

2

Fundamentação teórica

Este capítulo apresenta conceitos e tecnologias fundamentais que são referenciados ao longo do trabalho. O capítulo começa com os principais conceitos abordados nesta tese, funções de rede virtualizadas e a sua oferta na forma de serviços encadeados. A seguir, é apresentada a definição do atributo de elasticidade em sistemas de computação em nuvem, bem como suas características em termos de estratégias e objetivos envolvidos. O capítulo encerra com uma seção sobre aprendizagem de máquina voltada para auxiliar na automação de decisões em sistemas em rede.

2.1

Funções de Rede Virtualizadas

As redes de telecomunicações são compostas por uma variada gama de dispositivos físicos proprietários. Oferecer novos serviços geralmente significa adquirir novos dispo-sitivos e, como consequência, adquirir mais espaço físico para sua acomodação. Como complicador, dispositivos baseados em hardware vêm tendo uma vida útil cada vez mais reduzida devido à rápida inovação, tornando o retorno de investimento cada vez menor para os provedores de serviços e limitando a inovação na indústria.

Funções de rede virtualizadas estão focadas na resolução desse problema. De acordo com a ETSI, as NFVs pretendem tirar proveito da tecnologia de virtualização, implemen-tando funções de rede agora baseadas em software, permitindo que possam ser executadas sobre servidores de propósito geral [13].

Uma função virtual de rede pode ser provida a partir de uma ou mais máquinas virtuais (VM) ou contêineres [14]. Outra tecnologia da qual as funções virtuais tiram proveito são as redes definidas por software (SDN) [15]. O elemento chave de SDN é a capacidade de separação entre o plano de controle e o plano de dados, permitindo o controle dos recursos de rede de maneira centralizada. Tal capacidade se ajusta perfeitamente aos objetivos da abordagem NFV, permitindo a orquestração dos recursos da infraestrutura NFV como o

(25)

aprovisionamento e configuração de conectividade, automatização de operações, além de políticas de segurança e controle.

NFV introduziu outras terminologias importantes com definições oferecidas pela ETSI:

1. Infraestrutura NFV (NFVI): NFVI provê um ambiente de rede composto por com-ponentes de hardware e software onde as funções de rede podem ser implantadas, gerenciadas e executadas. Uma NFVI pode interligar diferentes pontos distribuídos geograficamente, sendo a conexão entre estes pontos também responsabilidade da infraestrutura.

2. NFV-PoP – Uma localização geográfica singular onde um número de NFV-Nodes estão localizados.

3. NFV-Node – Um dispositivo físico implantado e gerenciado como uma entidade única, pronto para hospedar funções virtuais de uma NFVI

A criação, coordenação e o controle de recursos em uma NFVI é tarefa comumente atribuída ao componente de gerenciamento e orquestração (do inglês, Management and Orchestration – MANO). O MANO é elemento-chave proposto pela European Telecom-munications Standards Institute (ETSI) para sua arquitetura NFV, ilustrado de maneira simplificada na Figura 2.1. Foi incialmente criado para oferecer uma estrutura arquitetô-nica com objetivo de coordenar os recursos de rede para aplicativos baseados em nuvem, bem como o gerenciamento de todo o ciclo de vida das VNFs e os serviços de rede. O MANO inclui os seguintes componentes1: o orquestrador de NFV (do inglês, NFV Or-chestrator – NFVO), o gerenciador de VNF (do inglês, VNF Manager – VNFM), e o gerenciador de infraestrutura virtual (do inglês, Virtual Infrastructure Manager – VIM).

Um fluxo de trabalho clássico MANO (considerando uma arquitetura ETSI NFV) para uma instância VNF em um dado NFVI-node de uma nuvem federada pressupõe, de forma não exaustiva, a execução do seguinte conjunto de operações:

1. Um cliente codifica em um modelo a imagem da VNF a ser implementada, junto com seus requisitos, suas especificações de hardware e o NFVI-Node a ser implantada. Em seguida, o requisitante se vale da API (Interface de Programação de Aplicação, do inglês Application Programming Interface) do NFVI MANO que irá realizar a implantação da VNF e envia o modelo na forma de um pedido de serviço;

(26)

Figura 2.1: Versão simplificada da arquitetura ETSI-NFV

2. O NFVI MANO é invocado para orquestrar uma estrutura virtual (contêiner ou máquina virtual, de acordo com o VIM pretendido) em um dado NFVI-Node, a partir da decodificação do modelo de entrada. Nessa fase, o NFVO realiza alocação de recursos computacionais (como por exemplo, núcleo da CPU, memória RAM e cache) e de rede (como largura de banda) junto ao VIM;

3. Por fim, o VIM provisiona a VNF no NFVI-Node indicado para que entre em exe-cução.

Ao fim das etapas descritas acima, uma VNF é provisionada em um NFVI-Node, e será aplicado uma configuração com perfil de uso típico ou uso maximizado. No que se refere à configuração de uso típico, a deterioração do serviço acontece quando a carga da VNF excede a capacidade de recursos provisionada. Já o perfil de uso maximizado pressupõe o superdimensionamento de recursos (ou seja, reserva de uma quantidade além da necessária, do inglês over-provisioning). Apesar de se tratar de uma medida proativa, o over-provisioning deve ser calculado de forma eficiente de modo a amenizar efeitos de subutilização durante o tempo que a VNF usufruir da carga normal do sistema, e consequente desperdício.

Após o provisionamento, o VNFM assume o papel de monitoramento da VNF. O mo-nitoramento dos recursos após o provisionamento se faz necessário para gestão de custos e

(27)

desempenho dos serviços virtualizados na NFVI, haja vista a natureza do comportamento do tráfego de dados na Internet apresentar diferentes taxas de demanda pelos serviços ao longo do dia. A fim de manter níveis aceitáveis de QoS mesmo em momentos de pico de demanda, o operador da NFVI deve oferecer uma estratégia de elasticidade das VNFs mais requisitadas dentro da capacidade computacional disponível para isso ao longo dos NFVI-PoPs. Ao detectar uma carga oferecida além da capacidade atual da VNF (tarefa do VNFM na arquitetura ETSI), se faz necessário redimensioná-la a novos padrões de recursos para responder a nova demanda (tarefa do VNFO na arquitetura ETSI).

2.2

Funções de Serviço Encadeadas

Funções de serviço encadeadas (Service Function Chaining (SFC) ) são serviços ha-bilitados a partir da tecnologia SDN para criar uma cadeia de serviços composto por diferentes funções virtuais de rede (por exemplo, um firewall seguido de um tradutor de endereços de rede (do inglês, Network Address Translator – NAT)), conectando-os numa cadeia virtual [16]. Tal funcionalidade pode ser usada por operadores de rede para prover catálogos de serviços que permitem o uso de uma única conexão para vários serviços com diferentes características.

Figura 2.2: Dois diferentes serviços sendo oferecidos a partir de quatro diferentes funções (modificado de [1])

A Figura 2.2 ilustra um exemplo de dois tipos de serviço sendo providos a partir do encadeamento de duas e de três funções virtuais diferentes. O primeiro corresponde a uma função de firewall seguida de um otimizador de vídeo, enquanto o segundo serviço é oferecido pelas funções de firewall, antivírus e um mecanismo de controle parental.

A combinação de SDN com o encadeamento de funções oferece a vantagem de auto-matizar a forma como conexões virtuais podem ser estabelecidas para lidar com o tráfego

(28)

para serviços conectados. Por exemplo, um controlador SDN pode direcionar o tráfego a uma diferente cadeia de serviço dependendo de sua origem, destino ou tipo de tráfego, o que tradicionalmente exigiria uma série de passos manuais e combinação de equipamentos físicos para realizar o mesmo procedimento.

2.3

Elasticidade na Computação em Nuvem

A computação em nuvem é uma tecnologia chave para a concepção de uma NFVI e tem na elasticidade uma propriedade fundamental para sua realização. Elasticidade é a capacidade de adicionar ou remover recursos (por exemplo, núcleos de CPU, memória ou instâncias de máquinas virtuais) sob demanda para adaptar-se às variações de carga em tempo real [17]. Existem dois tipos de elasticidade, conforme ilustrado na Figura 2.3: horizontal e vertical. Elasticidade horizontal consiste em adicionar ou remover instâncias de recursos computacionais associados à aplicação. No caso vertical, consiste em aumentar ou diminuir certas características de recursos computacionais, como tempo ou núcleos de CPU, memória RAM ou largura de banda da rede.

Figura 2.3: Elasticidade Horizontal X Vertical

A migração também pode ser considerada como uma ação necessária para permitir elasticidade vertical quando não existem mais recursos disponíveis no servidor hospedeiro, seguindo uma estratégia de alocação de recursos. Entretanto, esse processo incorre em cus-tos para os serviços em funcionamento, pois causa a suspensão ou a perda de desempenho do serviço enquanto ocorre a migração (com o tempo variando de acordo com o tamanho da instância), além de sobrecarga no consumo de energia durante o período [18].

(29)

A elasticidade está diretamente associada a dois conceitos comuns em computação em nuvem: escalabilidade e eficiência. Escalabilidade é a capacidade de um sistema suportar aumentos de demanda pelos seus serviços na medida em que aumenta a oferta de recursos. Nesse sentido, a elasticidade de um sistema é construída sobre objetivos de escalabilidade, uma vez que pode ser considerada como a automação deste conceito, visando otimizar a disposição dos recursos necessários o mais rápido possível. No caso da eficiência, esta pode ser descrita como a capacidade de prover o mínimo possível de recursos para lidar com uma carga de trabalho num determinado tempo, podendo estar relacionado a objetivos como custo, consumo de energia, etc., dependendo das prioridades de cada operador. Sistemas altamente elásticos resultam, portanto, em sistemas altamente eficientes e escaláveis, uma vez que automatizam as decisões de dimensionamento dos recursos para maximizar os objetivos de escalabilidade e eficiência, sendo portanto um atributo chave para o equilíbrio do conflito entre eles.

É importante notar que as decisões de elasticidade, sejam elas de aumento ou dimi-nuição de recursos, podem sofrer um desvio entre a quantidade de recursos alocados para a demanda atual pelos serviços, resultando em sobreprovisionamento (over-provisioning) ou subprovisionamento de recursos (do inglês, under-provisioning). O primeiro está re-lacionado a um sistema que provê mais recursos do que o necessário e o segundo, me-nos. A Figura 2.4 ilustra um sistema elástico que toma decisões baseado na variação da demanda e em alguma métrica relacionada a esta. No primeiro, o tempo excessivo em over-provisioning acarreta desperdício de recursos e menor probabilidade de prover novos serviços, enquanto que no segundo as consequências são de descumprimentos de acordos de níveis de serviço e eventuais prejuízos dependendo do serviço em execução, por exemplo aplicações de missão crítica. Um sistema elástico possuirá então maior acurácia quando apresenta o mínimo possível de decisões que levem a under ou over-provisioning.

Quanto à sua política de ação, sistemas elásticos sempre atuam em modo automático, com tais ações podendo ser classificadas entre reativas e proativas. No modo reativo, as ações de elasticidade se baseiam em certos limiares ou regras pré-definidas onde o sistema reage, seja à carga de trabalho ou à utilização de recursos, e dá início a ações para adaptar-se às mudanças necessárias. A maioria das plataformas de nuvem como a Amazon EC2 2, Microsoft Azure 3 e Google Cloud 4 adotam este método de auto-scaling. Quanto aos limiares, os modelos reativos também podem se diferenciar entre os que se orientam por

2https://aws.amazon.com/ec2/autoscaling/

3https://azure.microsoft.com/pt-br/features/autoscale/ 4https://cloud.google.com/compute/docs/autoscaler/

(30)

Figura 2.4: Demonstração de situações de over e under-provisioning

limiares estáticos ou dinâmicos, com este primeiro sendo mais encontrado em provedores e na pesquisa acadêmica do que o segundo. Nele, as métricas são comparadas e o auto-scaling acionado quando o limiar é atingido. Por exemplo, se o consumo de CPU atingir 80% durante os últimos cinco minutos, então aumente os recursos. Os grandes provedores de nuvem oferecem meios para criação de regras como a citada e vários trabalhos também já exploraram essa abordagem [19–21].

Na abordagem proativa, é necessária a adoção de técnicas de predição que antecipem as demandas futuras e acionem o auto-scaling baseado nestas informações. A técnica mais comum utilizada é a análise de séries temporais, usada para identificar padrões de repetição na variação de demanda pelos serviços e assim tentar antecipá-las. Em outras palavras, a análise de série temporal é responsável por realizar uma estimativa dos recursos necessários para lidar com a carga de trabalho que se aproxima, antes que esta aconteça. Para alcançar esse objetivo, várias técnicas são utilizadas, como média móvel [22–24], auto-regressão [20, 25, 26] e aprendizagem de máquina [27–29].

2.4

Aprendizado de Máquina

O aprendizado de máquina (Machine Learning (ML)) permite que um sistema analise uma série de dados e deduza conhecimento a partir deles [30], utilizando desse aprendi-zado para evoluir o conhecimento ao longo do tempo. Seu objetivo é identificar e explorar padrões ocultos sobre blocos de dados que são utilizados para seu treinamento. Os pa-drões aprendidos são então utilizados para analisar dados desconhecidos, de tal forma que

(31)

possam ser agrupados ou mapeados aos grupos conhecidos.

No início, as técnicas de ML eram rígidas e incapazes de tolerar variações nos dados de treino, mas os recentes avanços tornaram a técnica flexível e resiliente na sua aplicação a vários cenários do mundo real. Outro fator que impulsionou sua popularização recente é o avanço nas capacidades de processamento e armazenamento dos computadores necessários para treinar e testar os modelos de ML sobre conjuntos volumosos de dados, a partir da capacidade teoricamente infinita oferecida pela computação em nuvem e a aceleração obtida por unidades de processamento gráfico (GPU, do inglês Graphic Processing Unit ) e unidades de processamento tensoriais (TPU, do inglês Tensor Processing Unit ).

A aplicação de técnicas de ML para controlar e operar redes é um campo de pesquisa de crescente interesse. A separação entre os planos de dado e controle a partir do paradigma SDN, centralizando o controle da rede e permitindo uma visão mais ampla da arquitetura, facilita sua utilização na medida em que habilita a capacidade de aprender sobre a rede para melhor supervisioná-la, a aquilo que Mestres et al. [31] deu o nome de Redes Definidas por Conhecimento.

Um exemplo é a aplicação de ML para contribuir no roteamento de tráfego na Internet, ajudando na definição de políticas e objetivos, como minimização de custos, maximização da utilização dos enlaces e provisionamento QoS. O roteamento pode tirar proveito das capacidades de modelos de aprendizagem como por exemplo a habilidade de aprender sobre a correlação entre o caminho selecionado, a QoS experimentada e a possibilidade de prever as consequências de certas decisões de roteamento.

A possibilidade de prever tráfego através de aprendizagem de máquina também vem trazendo contribuições para o gerenciamento eficiente da rede. Esse problema tem sido abordado na literatura a partir da Previsão de Séries Temporais (PST). O objetivo na PST é construir um modelo de regressão capaz de estabelecer uma correlação precisa entre o volume de tráfego futuro e os volumes de tráfego anteriormente observados [30].

Em [32], por exemplo, é proposto um modelo de predição de consumo de largura de banda sobre infraestruturas de comunicação em grade, baseado numa rede neural. Cortez et al. em [33] escolheram utilizar uma rede neural combinada para treinamento a partir da base de dados de tráfego SNMP (do inglês, Simple Network Management Protocol, conhecido protocolo de monitoramento de redes) coletado de dois diferentes provedores para obter predições de curto e médio alcance (variando de horas a dias) a fim de detectar pontos futuros de congestionamento sobre a rede dos provedores. Já em [34] se utilizou de uma Máquina de Vetores de Suporte (SVM, do inglês Support Vector Machine) – um

(32)

conjunto de métodos de aprendizado supervisionado que analisa os dados e reconhece padrões, mais utilizado para classificação do que predição. O modelo foi testado sobre tráfego de internet heterogêneo coletado em pontos de presença na internet e redes de provedores.

Técnicas de aprendizagem profundaDeep Learning (DL) (do inglês, Deep Learning (DL)) ganharam notoriedade recentemente, em especial pelos notáveis resultados obtidos em classificação de imagens, processamento de linguagem natural e aprendizado de reforço. Redes neurais profundas permitem aprender representações complexas de dados o que diminui a necessidade de uma engenharia manual no ajuste dos componentes do modelo. A disponibilidade de arcabouços de retropropagação de código aberto como TensorFlow [35] e PyTorch [36] ajudaram a simplificar o processo de treinamento, teste e validação da rede.

Redes neurais profundas são promissoras em PST, pois apresentam a capacidade de aprenderem relações preditivas usando uma série de camadas não lineares para construir representações de características intermediárias [37]. Este trabalho lançará mão de dife-rentes modelos de redes neurais para encontrar a rede que melhor entregue uma predição de demanda com o menor tempo de treinamento com a maior precisão possível.

Outro ponto importante na construção de um modelo eficiente de redes neurais reside na coleta dos dados representativos do problema. Em geral, os dados podem ser obtidos de maneira online ou offline [30]. A coleta de dados offline permite reunir uma grande quantidade de dados históricos que podem ser usados para treinamento e teste do modelo, enquanto dados coletados em tempo real na fase online podem ser usados como forma de avaliar o modelo em execução ou como entrada para o seu constante aperfeiçoamento. Neste trabalho, todo o conjunto de dados foi obtido offline, dos quais uma parte será utili-zada para treinamento e validação dos modelos e a outra parte será usada nas simulações representando dados online em tempo real.

2.5

Síntese do Capítulo

O presente capítulo apresentou conceitos e tecnologias importantes na consecução desta tese de doutorado, tais como funções de rede virtualizadas, a oferta de serviços virtualizados de maneira encadeada, o atributo de elasticidade e suas características prin-cipais e a aprendizagem de máquina, que tem sido uma importante ferramenta que adici-ona inteligência a sistemas em rede. O conceito de elasticidade foi apresentado ainda no

(33)

contexto exclusivo de computação em nuvem. Sua utilização no contexto de NFV e mais especificamente em serviços encadeados, objeto desta tese, será apresentada no capítulo seguinte a partir da listagem dos trabalhos relacionados.

(34)

3

Trabalhos Relacionados

O presente capítulo tem como objetivo apresentar um levantamento bibliográfico acerca dos trabalhos diretamente relacionados ao tópico principal desta pesquisa de dou-torado, elasticidade em funções de rede virtualizadas e serviços encadeados. A elasticidade aplicada ao contexto de NFV e SFC herda todas as características listadas quando apre-sentada no contexto geral de computação em nuvem.

A partir disso, os trabalhos foram categorizados em propostas reativas e proativas que utilizam o método horizontal ou vertical para o dimensionamento de VNFs individuais ou encadeadas. Em seguida, é realizada uma discussão sobre os trabalhos levantados, na perspectiva de tecer análises compreensivas e posicionar as contribuições da pesquisa realizada neste doutorado. Por fim, uma seção sintetiza o estudo realizado em todo este capítulo.

3.1

Elasticidade em Funções de Rede Virtuais e

Servi-ços Encadeados

Como visto no Capítulo 2, a elasticidade é um atributo importante em ambientes de computação em nuvem e, por consequência, também para a virtualização de funções de rede. De acordo com a ETSI [38], anterior à necessidade de ajuste às demandas, a elas-ticidade no contexto de NFV foi primeiramente associada à perspectiva de confiabilidade do sistema, isto é, contemplando situações de indisponibilidade de serviço.

O Orquestrador e o Gerenciador foram pensados para iniciarem o procedimento de recuperação apropriado para garantir a continuidade e disponibilidade dos serviços, por exemplo, ativando novas instâncias da mesma função prejudicada.

Ademais, a elasticidade no contexto de NFV herda as mesmas características e bene-fícios já descritas para o ambiente de computação em nuvem. As estratégias também são divididas em horizontal e vertical e podem ocorrer de maneira reativa ou proativa.

(35)

3.1.1

Abordagens reativas

Sistemas elásticos reativos baseiam-se no contínuo monitoramento de métricas espe-cíficas e na validação de regras baseadas em limiares estáticos ou dinâmicos. As decisões de elasticidade são comumente acionadas mediante a violação de algum desses limiares pré-estabelecidos ou mesmo a partir de um período ou frequência de vezes em que ocorre a violação, para evitar sobrecarga de reações.

A arquitetura de referência para NFV proposta pela ETSI [39] sugere o VIM (Virtu-alized Infrastructure Management ) como o componente responsável pelo gerenciamento e monitoramento da NFVI, abrangendo as entidades físicas e virtuais, com a possibilidade de monitorar e agregar métricas e eventos dos recursos e comunicá-las ao componente orquestrador, habilitando a capacidade de elasticidade reativa também nesse modelo.

Na literatura, abordagens reativas orientadas ao cenário NFV para funções individu-ais ou encadeadas são encontrados sobre uma estratégia de monitoramento de limiares estáticos considerando objetivos de custo e desempenho em separado.

Em [40], uma solução baseada no monitoramento do tempo de execução de funções virtuais individuais para a tomada de decisões de elasticidade, todas elas verticais, adici-onando ou removendo unidades de CPU de acordo com os limiares monitorados, com o objetivo de reduzir o desperdício de recursos. A adição de núcleos de CPU é proporcional ao número de requisições recebidas na janela de monitoramento anterior, o que para um cenário de constante flutuação no tráfego, não garante que a decisão tenha atendido ou subestimado a demanda na janela atual. Os resultados demonstram a utilização raciona-lizada de recursos de CPU, apesar de não terem avaliado o impacto destas decisões sobre o desempenho dos serviços em execução, tampouco no cenário de serviços encadeados, principalmente no sentido de validar a assertividade das decisões tomadas.

Em [41], seus autores propõem o arcabouço denominado ElasticSFC, projetado para se capaz de provisionar cadeias de serviços virtualizados em ambientes de computação em nuvem. Um conjunto de algoritmos para auto-scaling é apresentado com o objetivo de atender requisitos de atraso fim-a-fim das cadeias de serviços enquanto buscam minimizar os custos de operação da NFVI. A proposta combina elasticidade horizontal e vertical me-diante o monitoramento do atraso fim-a-fim médio dos serviços, quando estes ultrapassam os acordos firmados. Na elasticidade vertical, a adição de vCPU (do inglês, Virtual CPU) é proporcional à capacidade do host, isto é, quanto mais recursos à disposição maior o incremento. No caso horizontal, uma nova instância por vez é adicionada quando a

(36)

elas-ticidade vertical não é possível. Os resultados demonstram que a estratégia melhora o tempo de resposta dos serviços, mas não avalia o impacto sobre os custos operacionais. A assertividade neste caso está comprometida pela estratégia de atribuir mais recursos quanto maior a sua disposição, ocorrendo num provável desequilíbrio do lado dos custos e uma rápida escassez de recursos na medida em que a demanda aumente.

Em [42], os autores propõem o ElasticNFV como solução para alocação dinâmica de recursos de VNF que promete alcançar alta granularidade no provisionamento de recursos na nuvem. O objetivo do ElasticNFV é alcançar o equilíbrio entre o desempenho acordado em contratos de serviço e o mínimo custo de utilização de recursos. A elasticidade de vCPUs ocorre mediante monitoramento do consumo de cada VNF da cadeia e da adição de uma unidade por vez quando o limiar é atingido, o que a torna suscetível a uma sequência de decisões pouco assertivas até o devido ajuste dos recursos à demanda e a consequente degradação do serviço até que isso ocorra. Os experimentos realizados também não consideraram um modelo de tráfego realístico que representasse flutuações de demanda comuns no consumo de serviços virtualizados, tampouco demonstram o impacto de suas decisões sobre o seu desempenho, a fim de confirmar o alcance do equilíbrio desejado.

3.1.2

Abordagens proativas

A elasticidade proativa é alcançada mediante o emprego de mecanismos de predição, seja para antecipar as variações de demanda ou o comportamento do sistema. No contexto de funções virtuais, todas as abordagens proativas encontradas na pesquisa bibliográfica apontaram para soluções que contemplam apenas elasticidade horizontal e ausência de análise sobre a assertividade das decisões tomadas, também considerando objetivos de custo ou desempenho em separado.

Em [43], os autores utilizaram de o método de aprendizagem de máquina online de-nominado Follow the Regularized Leader (FTRL) para predizer as demandas por cada cadeia de serviços, na perspectiva de derivar as capacidades de processamento requeridas por cada instância. A partir disso, determinam tanto a quantidade e a capacidade de pro-cessamento das instâncias à frente do tempo, orientado ao custo de redução da utilização dos recursos da nuvem. A demanda pelos serviços é derivada de traces do Skype, onde os autores selecionaram os fluxos de uma mesma origem e destino escolhidos, determinando janelas de decisão de cinco minutos, dividindo o tamanho de tráfego total pelo tempo da janela para determinar a taxa de fluxo de cada janela e desse dado futuro derivar as

(37)

capacidades. Os autores consideram que os pacotes possuem em média tamanho de 1.024 bytes e que cada VNF de uma SFC possui uma máxima capacidade de vazão baseada em datasheets de funções de rede tradicionais. Os resultados apresentam uma redução dos custos operacionais, sem entretanto demonstrarem o impacto das decisões sobre a qualidade do serviço oferecido.

Em [44] é apresentado um modelo de elasticidade automática orientada por predição a longo prazo a fim de determinar o ciclo de vida das funções virtuais, bem como a tomada de decisões de elasticidade horizontal para cada janela de tempo. Os autores adotam aprendizagem online para predizer a demanda de tráfego e assim determinar tanto a quantidade de instâncias, também dispostas em cadeia de serviços, quanto o tempo de aluguel necessário para elas a fim de minimizar os custos para o inquilino da infraestrutura. A taxa de tráfego por janela também foi definida como em [43], dividindo o tamanho total do tráfego pelo tempo total das janelas, nesse caso de dez minutos cada, a partir de traces de requisições HTTP retiradas do serviço Amazon MapReduce e as capacidades de processamento de cada VNF dadas em função da vazão máxima suportada por instância, retirada das especificações de instâncias do serviço Amazon AWS. Os resultados não permitem avaliar a assertividade de suas decisões, uma vez que contemplam apenas do ponto de vista dos custos para o inquilino da infraestrutura.

O trabalho de Li et al. [45] considera blocos de tempo maiores para os quais deter-mina previamente a quantidade de instâncias orientados pela redução da utilização dos recursos e diminuição da probabilidade de bloqueio das requisições. Os autores utilizam uma arquitetura de redes neurais LSTM (do inglês, Long Short-Term Memory para re-alizar as predições de demanda pelas funções associado a um algoritmo de otimização para aperfeiçoar a fase de treinamento e refinar os resultados. Os dados de tráfego foram emulados a partir de traces de conexões TCP de uma rede metropolitana com as capaci-dades máximas de processamento por vazão das funções encadeadas sendo definidas pelos próprios autores. Apesar de considerar objetivos de custo e desempenho em conjunto, as janelas de configuração relativamente grandes impediriam uma adaptação dos recursos às condições em tempo real, com tendência a apresentarem desperdício de recursos durante períodos de baixa demanda dentro da janela.

Tang et al. [46] também busca realizar elasticidade horizontal auxiliado por predição de demanda pelos serviços encadeados, bem como orientar a colocação das instâncias nos armários de servidores disponíveis de modo a otimizar a experiência do usuário nos serviços consumidos. Os autores utilizam um modelo de regressão linear para estimar o limite

(38)

superior de tráfego para os próximos vinte minutos. De posse desta informação a proposta considera não apenas a quantidade de instâncias, mas também um algoritmo de colocação que minimize o espalhamento de funções de uma mesma cadeia por diferentes racks de servidores. Os dados de tráfego foram coletados de quatro provedores de Internet chineses com o fluxo total medido em janelas de vinte minutos, mas sem especificar as capacidades das VNFs utilizadas nos experimentos. A assertividade das decisões é desconhecida, uma vez que os resultados são demonstrados apenas em termos de utilização dos recursos.

O trabalho de Rahman et al. [47] apresenta um método baseado em ML que aprende com decisões passadas de dimensionamento horizontal e o comportamento sazonal e es-pacial do tráfego de rede para tomar decisões antecipadas, transformando o problema de elasticidade automática num problema de aprendizagem de máquina supervisionado de classificação. Os autores utilizam do método de aprendizagem para classificação denomi-nado Random Forest, cujo treinamento foi feito a partir da observação de um mecanismo de elasticidade reativo. Os dados de tráfego utilizados já apresentam as taxas de fluxos consolidadas em janelas de cinco minutos, isto é, nos seus testes não lidou com uma sequên-cia de requisições granularizada e os objetivos de custo e desempenho são considerados em separado, com cenários que priorizam um ou outro.

Em [48], os autores propõem um modelo de classificação de aprendizagem de máquina baseado em redes neurais que visa estimar o número de instâncias de VNF em nós loca-lizados nas bordas da rede em função da quantidade de tráfego de rede que eles podem processar. O trabalho combina tal estratégia com o problema da colocação de instâncias com o objetivo de minimizar o atraso fim-a-fim das aplicações, considerando uma arquite-tura NFV baseada em Computação Multi-acesso nas Bordas (MEC, do inglês Multi-Access Edge Computing)[49]. Os autores utilizaram um conjunto de dados coletados de um pro-vedor de Internet móvel durante oito dias contendo o tráfego total medido para janelas de uma hora e consideraram que cada VNF poderia suportar uma vazão máxima de 200 Mbps sem degradação de QoS. Assim, construíram o conjunto de entrada do preditor ba-seado nas medições atuais e anteriores de tráfego e no dia da semana correspondente para obter como saída o número de instâncias necessárias para lidar com o tráfego previsto, utilizando um modelo de redes neurais do tipo MLP.

Uma abordagem de provisionamento de VNF utilizando técnicas de aprendizagem profunda é proposta em [50]. Um modelo de rede neural recorrente do tipo LSTM é utilizado para prever o consumo esperado de CPU das VNFs baseado em um conjunto de características dos dados de tráfego. Com o resultado, é definido de maneira antecipada o

(39)

número de instâncias de cada VNF, tudo com o objetivo de reduzir os custos de utilização da infraestrutura, sem verificar o impacto dos serviços executados. O conjunto de dados para teste utilizado foi o mesmo de [31], que possui escala de tempo de 20 segundos. Nos experimentos foram consideradas janelas de decisão de sete minutos onde a cada janela o modelo deveria antecipar o consumo de CPU das funções virtualizadas. Os experimentos apenas cobriram a capacidade de antecipar o consumo de processamento, não chegando a demonstrar a proposta tomando decisões de elasticidade com base nas informações obtidas do modelo de predição.

Em [51], também é proposto um modelo de elasticidade horizontal proativa auxiliado nesse caso por um modelo de regressão. Os autores argumentam que devido à constante variação na demanda a topologia virtual das funções muda com muita frequência, portanto propõem alcançar redução de custos através da diminuição das atualizações frequentes. Nesse sentido, adotam um modelo de regressão para antecipar a demanda sobre a rede e também levam em consideração o tráfego não envolvido nas SFCs, tudo com o objetivo de reduzir o atraso fim-a-fim e o congestionamento dos enlaces. A carga de trabalho injetada no modelo para avaliação foi gerada baseada nos registros coletados no cluster da provedora de nuvem Alibaba, mas os experimentos não demonstram o impacto das decisões de elasticidade sobre o conjunto dos serviços encadeados oferecidos.

Com o objetivo de aumentar a vazão oferecida pelos serviços encadeados, os autores em [52] propõem o VNF-DOC. A solução utiliza Média Móvel Integrada Auto Regressiva (ARIMA) para prever instantes exatos de tempo de ocorrência de sobrecarga a fim de antecipar decisões de elasticidade horizontal mesclando com uma abordagem reativa, pois também faz uso de coleta periódica de métricas de desempenho e utilização das VNF. O objetivo é reagir com antecedência a condições de sobrecarga e maximizar a estabilidade do sistema sobre tais condições. O modelo de tráfego utilizado foi gerado sinteticamente para representar um período de utilização regular seguido de aumento gradual de demanda até chegar num estágio de sobrecarga com duração de 30 minutos para depois retornar ao estágio de demanda regular. Os experimentos foram realizados no serviço de nuvem da Amazon, onde o mecanismo proposto pelos autores alimentava o AWS Auto Scaling com as informações antecipadas de início de sobrecarga e consideraram apenas aspectos de desempenho.

(40)

3.2

Discussão

Os critérios a seguir foram estabelecidos para efeito de comparação entre as soluções apresentadas nas seções 3.1.1 e 3.1.2 tendo em vista a perspectiva dos objetivos listados nesta tese de doutorado:

1. Política de elasticidade

• Reativa - Se as decisões de dimensionamento das funções virtualizadas, seja de aumento ou diminuição dos recursos, são acionadas a partir de regras pré-definidas relacionadas a limiares estáticos que estão associados a métricas de consumo de recursos e/ou desempenho de serviços

• Proativa - Se a proposta implementa técnicas de predição, antecipando o in-formações futuras de demanda ou consumo de recursos, acionando decisões de dimensionamento com base nelas.

2. Método de elasticidade

• Horizontal - Se a solução realiza o dimensionamento através da adição ou re-moção de funções virtuais

• Vertical - Se o dimensionamento ocorre aumentando ou diminuindo recursos computacionais ou de rede.

3. Modelo de tráfego utilizado

• Sintético - Se o modelo de tráfego de dados utilizado nos experimentos de validação foi gerado artificialmente;

• Realístico - Se o tráfego de dados utilizado foi capturado de ambiente real

4. Escala de tempo do modelo de tráfego - Neste critério será verificada a granulari-dade das requisições injetadas sobre os serviços ofertados no experimento, a fim de verificar se as decisões de elasticidade da solução proposta estão lidando com um padrão de chegada de requisições realístico. Um conjunto de dados de tráfego de gra-nularidade de cinco minutos, por exemplo, permite inferir que cada um dos valores corresponda à demanda esperada durante uma janela de tempo desta duração, mas não permite derivar desse valor a quantidade e a frequência com que as requisições individuais pela SFC ocorreram durante esse período.

(41)

5. SFC - Se a solução está sendo proposta sobre um cenário que considera funções virtualizadas oferecidas na forma de serviços encadeados.

6. Assertividade - Se a solução considera em seus resultados o impacto da estraté-gia proposta sobre a assertividade das decisões de elasticidade, avaliando se foram capazes de tomar decisões que ofereçam imediatamente e adequadamente recursos necessários à demanda pelos serviços em execução.

Dentre os requisitos levantados como fundamentais para a consecução do objetivo principal desta tese, a principal lacuna encontrada foi a ausência de um enfoque dos tra-balhos relacionados sobre o aspecto da assertividade das decisões de elasticidade. Notou-se também a ausência de uma proposta proativa que incluísse o método de elasticidade ver-tical. O dimensionamento vertical pode ser limitado quando não pode escalar para além dos recursos providos pela máquina física hospedeira e também se torna um ponto único de falha, mas pode ser vantajoso para os seguintes casos, de acordo com [12]:

• Permite dimensionamento de alta glanuralidade, uma vez que adiciona recursos de maneira gradativa.

• É aplicável a qualquer tipo de aplicação e não necessita de balanceamento de carga. Para o horizontal, há a dependência de funções que permitam sua réplica e o com-partilhamento do estado das sessões ativas, além de uma função para distribuir a carga entre elas.

• Elimina o tempo necessário para inicialização das novas réplicas (apesar de exigir ele mesmo um tempo para concluir o dimensionamento).

• Reduz custos relacionados ao eventual pagamento de licenças para cada nova réplica necessária.

A Tabela 1 sumariza as soluções encontradas e apresenta a lacuna que pode ser pre-enchida através desta tese de doutorado.

Frente aos trabalhos analisados, o arcabouço ARENA se apresenta como a única proposta que oferece elasticidade proativa vertical, além da horizontal, num cenário de funções virtualizadas de rede oferecidas na forma de serviços encadeados com objetivo de maximizar a assertividade de suas decisões de dimensionamento. Diante dos possíveis benefícios desta abordagem, faz-se necessário avaliar seu impacto quando utilizada de maneira proativa nos objetivos de custo e desempenho em comparação com a estratégia

(42)

Tabela 1: Comparação entre as diferentes soluções

Solução Política H V Tráfego Escala SFC Assert.

[40] Reativa X - - X X

[42] Reat./Proat. X Sintético Segundos X

[41] Reativa Realístico Segundos X

[43] Proativa X Realístico Segundos X

[44] Proativa X Realístico Segundos X X

[45] Proativa X Realístico Horas X

[46] Proativa X Realístico Segundos X

[47] Proativa X Realístico Minutos X X

[48] Proativa X Realístico Segundos X X

[50] Proativa X Realístico Segundos (20) X X

[51] Proativa X Realístico Segundos X

[52] Proativa X Sintético Segundos X X

ARENA Proativa Realístico Segundos

horizontal, bem como com uma abordagem reativa. Enquanto as propostas de elastici-dade horizontal em geral consideravam uma relação direta entre o tráfego previsto e a capacidade máxima que uma única instância suporta para disto derivar a quantidade de instâncias necessárias, para uma abordagem proativa vertical esse mapeamento deverá refletir nas características computacionais consideradas na elasticidade.

3.3

Síntese do Capítulo

O capítulo apresentou um levantamento das principais soluções atuais encontradas na literatura com suporte a elasticidade de funções de rede virtualizadas individualizadas e em serviços encadeados. A pesquisa bibliográfica demonstrou a inexistência de avaliação do aspecto de assertividade do mecanismo e de propostas proativas de elasticidade vertical e seu impacto nos objetivos de custo e desempenho. Também verificou questões impor-tantes no estudo de abordagens proativas, como a origem do tráfego de dados utilizado na validação das propostas, bem como a sua escala de tempo, importante para verificação do impacto das decisões tomadas pelo mecanismo de auto-scaling.

Referências

Documentos relacionados

Evento que exigiu o fim da impunidade para os Crimes de Maio de 2006 reuniu vítimas da violência policial de vários Estados e deixou claro que os massacres de pobres e jovens

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A prova do ENADE/2011, aplicada aos estudantes da Área de Tecnologia em Redes de Computadores, com duração total de 4 horas, apresentou questões discursivas e de múltipla

De seguida, vamos adaptar a nossa demonstrac¸ ˜ao da f ´ormula de M ¨untz, partindo de outras transformadas aritm ´eticas diferentes da transformada de M ¨obius, para dedu-

Mova a alavanca de acionamento para frente para elevação e depois para traz para descida do garfo certificando se o mesmo encontrasse normal.. Depois desta inspeção, se não

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

6 Consideraremos que a narrativa de Lewis Carroll oscila ficcionalmente entre o maravilhoso e o fantástico, chegando mesmo a sugerir-se com aspectos do estranho,

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos