O documento descreve o sistema Nubilum para gerência de recursos em nuvens distribuídas. O Nubilum propõe um modelo de informação, algoritmos e protocolos de comunicação integrados para descoberta, monitoramento, controle e alocação de recursos em nuvens distribuídas, considerando requisitos computacionais, topológicos e geográficos. O documento apresenta a arquitetura e processos do Nubilum, incluindo algoritmos para auto-otimização da alocação de redes virtuais com balanceamento de carga e
1. Nubilum: Sistema para gerência de recursos
em Nuvens Distribuídas
Aluno: Glauco Gonçalves
Orientadora: Profa. Judith Kelner
Co-orientador: Prof. Djamel Sadok
UFPE
2. Roteiro
Introdução
Problema e Proposta e
e Conclusão
Objetivos Solução
Motivação
2
3. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Modelo de Computação em Nuvem
• Computação em nuvem faz parte do dia-a-dia
Webmails, armazenamento, infraestrutura
Client Client Client Client
Developer
Developer
• Modelo atrativo
Aquisição de recursos sob demanda Elasticidade
Transferência de riscos operacionais
3
4. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
A infraestrutura da Nuvem
• Provedores de nuvem empregam datacenters
Infraestruturas de TI com milhares de componentes
• Problemas conhecidos
Dissipação de calor
Perda de energia
Acesso via Internet
Como resolver tais problemas?
4
5. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Uma solução: distribuir a nuvem
• Distributed Clouds (D-Clouds)
Espalha o poder computacional geograficamente
App Cloud Provider
Internet
App
Client
Client
Distributed Cloud Provider
5
6. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
D-Clouds
Novo paradigma: considera aspectos App
de rede e geo-localicação na Nuvem
Novos requisitos podem ser satisfeitos App
• Nichos específicos
• Jurisdição de software e dados
• QoS
App
Modelo de Negócio: ISPs passam a
atuar como D-Clouds
6
7. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
D-Clouds: os desafios
• Compartilha desafios com as nuvens atuais
Padronização, Interoperabilidade, Segurança...
• Nosso Interesse: Gerência de Recursos
Chave para oferecer serviços elásticos
Geolocalidade como um Serviço
Soluções para Nuvens existentes não se adequam
Consideram a rede sobre-provisionada
7
8. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Desafios da Gerência de Recursos
Alocação
Requisitos
Sistema de Gerência de
Recursos
Desenvolvedor
Recursos da D-Cloud
Como representar Como os pedidos Como aplicar as
Como descrever
os recursos são mapeados nos decisões
requisitos?
disponíveis? recursos? tomadas?
8
9. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Objetivo desta Tese
Propor uma solução integrada para os problemas relativos à
gerência de recursos em D-Clouds
Desenvolver algoritmos,
Elaborar um modelo de
heurísticas e estratégias
informação para descrever
para alocação baseada em
recursos da D-Cloud e
requisitos computacionais,
requisitos das aplicações
topológicos e geográficos
Explorar e extender
Integrar o modelo de
protocolos de comunicação
informação, os algoritmos e
para o provisionamento e
os protocolos de
alocação dos recursos
comunicação em uma única
computacionais e de
solução
comunicação
9
10. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Nubilum
Rede virtual requisitada
Sistema auto-gerenciável para
descoberta, monitoramento, controle e
alocação de recursos em D-Clouds
Decisões de Projeto Rede Física
• Nível de IaaS
Auto-
• Redes virtuais Auto-cura
configuração
• Rede física: ISPs (Backbone + PoPs)
• Gerenciamento Autonômico Computação
Autonômica
• Auto-otimização
• Auto-configuração Auto-
• Uso de padrões existentes Auto-proteção
otimização
10
11. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Nubilum - Arquitetura
Nubilum •Decisão
Requirements
Allocator Manager •Controle
•Monitoramento
Desenvolvedor •Descoberta
Network •Virtualização
Worker Storage baseada em
Element Openflow
•Máquinas virtuais
•Libvirt •Suportado pela
Libvirt
Recursos da D-Cloud
11
12. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Nubilum – Processos
Processos Inicialização • Componentes pré-configurados
Descoberta e Monitoramento Inicialização • Network Devices usam Openflow
Alocação
• Workers usam REST
Alocação
Descoberta e Monitoramento
•Iniciada por: desenvolvedor ou Manager
• Descoberta de links: uso do protocolo LLDP
• Monitoramento
• Estratégias passivas e ativas
Manager
Openflow
LLDP LLDP
12
13. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Nubilum – Plano de Controle
Integração de protocolos
• HTTP (REST) + CloudML
• Openflow
4
Cloud Modeling Language (CloudML)
Cloud Resource
Operator Description
• XML Schemas para descrição de
1
• Estado de recursos físicos e virtuais;
• Serviços suportados pelos provedores; e
Service Nubilum
• Requisitos de desenvolvedores. Description
• Características
2
• Permite a descrição de serviços com referência
geográfica Request
• Extensibilidade Cloud Description
Developer 3
13
14. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Modelagem do Plano de Controle
• Um protótipo do sistema foi implementado
• Mediu-se o tamanho de cada mensagem gerada em diferentes eventos
• Derivamos modelos do tamanho de cada mensagem (em bytes)
Allocation event Release event Update event
Interface Type VN = número
(bytes) (bytes) (bytes)
505+84*VN+74*VL 161 de nós virtuais
Developer Allocator N/A HTTP
PN = número
(GET) (DELETE)
537+857*VN+314*VL 46 de nós físicos
Allocator Developer N/A HTTP
(Reply GET) (Reply DELETE) VL = número de
120 (GET) 221+IF enlaces virtuais
Allocator Manager N/A HTTP
221+IF (PUT) (PUT)
PL = número de
237+IF (Reply GET) 242+IF
Manager Allocator N/A HTTP enlaces físicos
242+IF (Reply PUT) (Reply PUT)
169 639+180*VN IF = descrição
Manager Worker 978 (POST) HTTP
da infrastrutura
(DELETE) (PUT)
46 130 P = número de
Worker Manager 1024 (Reply POST) HTTP
(Reply DELETE) (Reply PUT) portas
Manager Network Device 320 288 20 Openflow
Network Device Manager N/A 352 12+104*P Openflow
14
15. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Nubilum - Inteligência
• Algoritmos para auto-otimização
• Problemas investigados
Posicionamento do Manager
Alocação de redes virtuais com balanceamento de
carga
Criação de redes virtuais com balanceamento de
carga e redução de energia
15
16. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Posicionamento do Manager
• Alocação do Manager
Objetivo: minimizar o atraso em relação a todos os
nós da D-Cloud
• Solução:
Calcular menor caminho entre todos os nós do grafo
O nó com menor soma de atrasos é a solução
W
0.2
0.1 M 0.2 0.3 0.2
W W W W W W
0.01
0.5 0.1 0.05
W W W
16
17. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Alocação de redes virtuais
Nubilum suporta diversas Nosso problema
Permite uso de algoritmos
características na considera apenas
existentes na literatura
alocação de recursos algumas características
Problema: Alocar uma nova rede virtual em uma rede física de modo a balancear a
carga de recursos virtuais em recursos físicos obedecendo às restrições dadas pelo
desenvolvedor.
Atraso máximo
Rede Virtual CPU, RAM, Storage,
Localização,
Atraso atual
CPU, RAM, Storage,
Número de enlaces
Localização
virtuais alocados Rede Física
17
18. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Alocação de redes virtuais – Solução
• Nós e enlaces virtuais alocados separadamente
Ambos são problemas NP
• Alocação de nós virtuais
Algoritmo guloso
Alocar cada máquina virtual no Worker mais livre
Workers ordenados por memória livre, armazenamento
livre, e CPU livre
Senão for possível, tenta o próximo na lista
Realiza controle de admissão
18
19. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Alocação de um enlace virtual
• Caminho minimax com restrição de atraso
Caminho que minimiza o estresse máximo dos
enlaces, obedecendo a restrição de atraso máximo
• Algoritmo para caminho minimax entre dois nós
Busca binária entre os estresses máximo e mínimo
A cada iteração um valor k é selecionado
Poda os enlaces com estresse maior do que k
Encontra-se o caminho de menor atraso
Se não achar tentar k maior, se achar tentar k menor
19
20. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Algoritmo Minimax Path Allocation (MPA)
• Aloca os enlaces de uma rede virtual
Estratégia gulosa
Para cada enlace na rede virtual de entrada
Usa o algoritmo de caminho minimax com restrição de
atraso
Aloca o enlace virtual que gera o maior estresse
Repete o processo até alocar todos os enlaces
virtuais
• Realiza controle de admissão
20
21. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Alocação de redes virtuais - Avaliação
Comparação com algoritmo de Zhu & Ammar (ZAA)
• Nenhuma restrição nos nós e enlaces
• Aloca nós considerando estresse de nós + enlaces em conjunto
• Aloca enlaces virtuais no caminho físico de menor estresse
MPA modificado
• Desconsidera as restrições
Algoritmo híbrido
• Alocação de nós baseada em ZAA e alocação de enlaces de MPA
Fatores Níveis
Método de avaliação
Topologia da rede física RNP2010 e RNP2011
• Simulação baseada em eventos discretos (1 Worker por PoP)
• Chegada e saída de redes virtuais Taxa de chegada de redes Exponencial com taxas 1, 5, 9,
• Simulação finalizada após 80.000 requisições virtuais 13
• Resultados são coletados após 40.000 Tempo de vida da rede Exponencial com média 275
requisições virtual
Topologia da rede virtual Redes estrela
Tamanho da rede virtual Uniforme entre 5 e 15 21
22. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Alocação de redes virtuais – Resultados (1)
• 27 nós
• 29 enlaces
• 17 nós de grau 1
Rede
• ZAA obtém melhor estresse
RNP2010
• Motivo: Poucos caminhos alternativos
• MPA tem maior caminho médio
• Híbrido consegue melhor dos dois
700 8
Estresse Máximo dos Enlaces ZAA Tamanho médio do caminho ZAA
600 7
MPA MPA
Maximum Link Stress
6
Mean Path Lenght
500 Hybrid Hybrid
5
400
4
300
3
200
2
100 1
0 0
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Arrival Rate Arrival Rate
22
23. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Alocação de redes virtuais – Resultados (2)
• 28 nós
• 33 enlaces
• 5 nós de grau 1
Rede
• MPA obtém resultados melhores
RNP2011
• Motivo: explora caminhos alternativos
• MPA tem maior caminho médio
• Híbrido consegue melhor dos dois
700 8
Estresse Máximo dos Enlaces Tamanho médio do caminho ZAA
600 7
MPA
ZAA
Maximum Link Stress
6
Mean Path Lenght
500 Hybrid
MPA
5
400 Hybrid
4
300
3
200
2
100 1
0 0
0 2 4 6 8 10 12 14 0 2 4 6 8 10 12 14
Arrival Rate Arrival Rate
23
24. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Criação de redes virtuais – Problema
• Uma requisição pode não conter enlaces virtuais
• Criação da rede virtual permite obter bom uso dos
recursos
Objetivos: balancear a carga e minimizar a energia
Obs.: Energia é dada pelo número de enlaces usados
• Problema é reduzido a Steiner tree
A B A B
1 4 2 4
2 3
C C
0 0 0 1
D F D F
0 1 0 2
E E
24
25. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Criação de redes virtuais – Solução
• Problema NP-difícil
• Solução aproximada
Laço externo: busca binária no estresse com poda de enlaces
Mesma idéia usada anteriormente
Laço interno: algoritmo de aproximação de uma Steiner Tree
• Idéias-chave
Busca binária provê o balanceamento de carga
Steiner tree provê a minimização da energia
• Dois algoritmos para Steiner Tree são propostos
Um algoritmo da literatura é utilizado para comparação
25
26. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Algoritmos para Steiner Tree
Steiner Tree Approximation (STA)
• Algoritmo clássico da literatura
Greedy Hub Selection (GHS)
• Algoritmo guloso que procura os hubs da Steiner Tree
A B
2 4
• Iniciado com uma árvore com os nós virtuais
3
• GHS testa todos os nós físicos para adição de novo hub C
0 1
• Uma heurística refaz os enlaces virtuais e mantêm a árvore D F
0 2
• Novos hubs são adicionados até que o custo obtido não diminua E
Algoritmo ótimo
• Algoritmo tenta todas as combinações de remoção de enlaces para obter a
Steiner Tree ótima
• Adequado à redes com poucos enlaces
26
27. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Criação de redes virtuais – Avaliação
Compara os algoritmos para aproximação da Steiner Tree
• Compara a essência do algoritmo de criação de redes virtuais
• O algoritmo ótimo é usado como referência
• Calcula o erro relativo em relação ao ótimo
Método de avaliação
• Simulação Monte Carlo Fatores Níveis
• Sorteia o estresse de cada enlace Número de nós requisitados 3 a 27 (28)
virtual e posiciona os nós
Topologia da rede física RNP2010 e RNP2011
• Usa os três algoritmos
individualmente e compara o custo Posicionamento dos nós Uniforme (sem repetições)
da árvore obtida Estresse dos enlaces Uniforme(0,100)
• Experimentos repetidos 1000 vezes
27
28. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Criação de redes virtuais – Resultados (1)
Percentage of samples that reached the optimum
100,00%
80,00%
60,00%
GHS
40,00% STA
20,00%
0,00%
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Percentage of samples that reached relative error less than 5%
100,00%
80,00%
60,00% RNP2010
GHS
40,00% STA
27 nós
29 enlaces
20,00%
0,00%
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
28
29. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Criação de redes virtuais – Resultados (2)
Percentage of samples that reached the optimum
100,00%
80,00%
60,00%
GHS
40,00% STA
20,00%
0,00%
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Percentage of samples that reached relative error less than 5%
100,00% RNP2011
80,00%
28 nós
33 enlaces
60,00%
GHS
40,00% STA
20,00%
0,00%
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
29
30. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Contribuições
Nubilum
• Sistema para gerência de recursos em uma D-Cloud
• Separa os papéis de controle e decisão
• Extensível à implementação de algoritmos da literatura para alocação de redes virtuais
CloudML
• Linguagem para representação de requisitos do desenvolvedor e recursos da D-Cloud
Plano de Controle
• Controle integrado de recursos computacionais e de rede
• Uso de protocolos e padrões abertos: LLDP, Openflow, REST, Libvirt
• Modelagem do plano de controle
• Mensagens de controle escalam linearmente com o tamanho da rede
Algoritmos para auto-otimização
• Posicionamento do Manager
• Alocação de redes virtuais com balanceamento de carga
• Criação de redes virtuais com balanceamento de carga e redução de energia
30
31. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Publicações
A Survey on Open- Open Source Cloud Resource Allocation in
source Cloud Computing Computing Platforms Clouds: Concepts, Tools
Solutions • IEEE GCC, 2010 and Research Challenges
• WCGA, 2010 • SBRC, 2011
Resource Allocation for CloudML: An Integrated D-CRAS: Distributed
Distributed Cloud – Language for Resource, Cloud Resource
Concepts and Research Service and Request Allocation System
Challenges Description for D-Clouds • NOMS, 2012
• IEEE Network, 2011 • IEEE Cloudcom, 2011
Nubilum: Resource
Resource Allocation
Management System for
Algorithms for Video on
Distributed Clouds with
Demand on Distributed
geo-awareness services
Clouds
and NaaS
31
32. Introdução Problema e Proposta e
Conclusão
e Motivação Objetivos Solução
Trabalhos Futuros
Testar o protótipo em escala real
• Utilização do Nubilum em um ISP
• Investigar problemas de engenharia diferentes dos encontrados em laboratório
Adicionar suporte a elasticidade em Nubilum
• Adicionar suporte a regras de escalabilidade no CloudML
• Criar algoritmos específicos para escolha dos recursos adequados ao crescimento
das redes virtuais
Alocação de recursos oportunística
• Investigar estratégias para uso de recursos em ambientes mais dinâmicos
Extender o plano de controle
• Investigar uso de outros protocolos para controle de recursos de rede que não
suportam Openflow
32
33. Nubilum: Sistema para gerência de recursos
em Nuvens Distribuídas
Aluno: Glauco Gonçalves
Orientadora: Profa. Judith Kelner
Co-orientador: Prof. Djamel Sadok
UFPE