UFPE
Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas
Aluno: Glauco GonçalvesOrientadora: Profa. Judith Kelner
Co-orientador: Prof. Djamel Sadok
2
Roteiro
Introdução e
Motivação
Problema e Objetivos
Proposta e Solução Conclusão
3
Modelo de Computação em Nuvem• Computação em nuvem faz parte do dia-a-dia
Webmails, armazenamento, infraestrutura
• Modelo atrativo Aquisição de recursos sob demanda Elasticidade Transferência de riscos operacionais
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Developer
Developer
Client Client Client Client
4
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 InternetComo resolver tais problemas?
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
5
Uma solução: distribuir a nuvem
• Distributed Clouds (D-Clouds) Espalha o poder computacional
geograficamenteCloud Provider
Client
Internet
App
Client
App
Distributed Cloud Provider
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
6
D-Clouds
Novo paradigma: considera aspectos de rede e geo-localicação na Nuvem
Novos requisitos podem ser satisfeitos• Nichos específicos• Jurisdição de software e dados• QoS
Modelo de Negócio: ISPs passam a atuar como D-Clouds
App
App
App
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
7
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
8
Desafios da Gerência de Recursos
Como descrever requisitos?
Como representar os recursos disponíveis?
Como os pedidos são mapeados nos recursos?
Como aplicar as decisões
tomadas?
Desenvolvedor
Recursos da D-Cloud
RequisitosSistema de Gerência de Recursos
Alocação
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
9
Objetivo desta Tese
Elaborar um modelo de informação para descrever
recursos da D-Cloud e requisitos das aplicações
Desenvolver algoritmos, heurísticas e estratégias
para alocação baseada em requisitos computacionais, topológicos e geográficos
Explorar e extender protocolos de comunicação para o provisionamento e
alocação dos recursos computacionais e de
comunicação
Integrar o modelo de informação, os algoritmos e
os protocolos de comunicação em uma única
solução
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Propor uma solução integrada para os problemas relativos à gerência de recursos em D-Clouds
10
Nubilum
Decisões de Projeto
• Nível de IaaS• Redes virtuais• Rede física: ISPs (Backbone + PoPs)
• Gerenciamento Autonômico• Auto-otimização• Auto-configuração
• Uso de padrões existentes
Auto-configuração
Auto-cura
Auto-otimização
Auto-proteção
Computação Autonômica
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Rede virtual requisitada
Rede Física
Sistema auto-gerenciável para descoberta, monitoramento, controle e
alocação de recursos em D-Clouds
11
Nubilum
Nubilum - Arquitetura
Desenvolvedor
Requirements
Recursos da D-Cloud
Allocator
•Decisão
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
•Controle•Monitoramento•Descoberta
Manager
•Máquinas virtuais•Libvirt •Suportado pela
Libvirt
Storage•Virtualização baseada em Openflow
Network ElementWorker
12
Nubilum – Processos
Inicialização• Componentes pré-configurados• Network Devices usam Openflow• Workers usam REST
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Manager
LLDP LLDP
Ope
nflow
Descoberta e Monitoramento
• Descoberta de links: uso do protocolo LLDP• Monitoramento
• Estratégias passivas e ativas
Alocação
•Iniciada por: desenvolvedor ou Manager
Processos Inicialização
Descoberta e Monitoramento
Alocação
13
Nubilum – Plano de Controle
Integração de protocolos
• HTTP (REST) + CloudML• Openflow
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Resource Description
Service Description
1
2
4
Request Description
3
Nubilum
CloudOperator
CloudDeveloper
Cloud Modeling Language (CloudML)
• XML Schemas para descrição de• Estado de recursos físicos e virtuais;• Serviços suportados pelos provedores; e• Requisitos de desenvolvedores.
• Características• Permite a descrição de serviços com referência
geográfica• Extensibilidade
14
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)
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
InterfaceAllocation event
(bytes)
Release event
(bytes)
Update event
(bytes)Type
Developer Allocator505+84*VN+74*
VL (GET)
161 (DELETE)
N/A HTTP
Allocator Developer537+857*VN+31
4*VL (Reply GET)
46 (Reply
DELETE)N/A HTTP
Allocator Manager120 (GET)
221+IF (PUT)221+IF (PUT)
N/A HTTP
Manager Allocator
237+IF (Reply GET)
242+IF (Reply PUT)
242+IF (Reply PUT)
N/A HTTP
Manager Worker 978 (POST)169
(DELETE)
639+180*VN
(PUT)HTTP
Worker Manager1024 (Reply
POST)
46 (Reply
DELETE)
130 (Reply PUT)
HTTP
Manager Network Device
320 288 20Openflo
wNetwork Device Manager
N/A 352 12+104*POpenflo
w
VN = número de nós virtuaisPN = número de nós físicosVL = número de enlaces virtuaisPL = número de enlaces físicos IF = descrição da infrastruturaP = número de portas
15
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
16
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çãoW
W W W
W W
W
W
WWM0.1
0.5
0.2
0.010.1
0.2 0.3
0.05
0.2
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
17
Alocação de redes virtuais
Nubilum suporta diversas características na
alocação de recursos
Permite uso de algoritmos existentes na literatura
Nosso problema considera apenas
algumas características
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
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.
Rede Virtual
Rede Física
CPU, RAM, Storage, Localização,
CPU, RAM, Storage, Localização
Atraso máximo
Atraso atualNúmero de enlaces
virtuais alocados
18
• 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
Alocação de redes virtuais – Solução
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
19
• 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
Alocação de um enlace virtual
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
20
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
21
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Fatores Níveis
Topologia da rede física RNP2010 e RNP2011(1 Worker por PoP)
Taxa de chegada de redes virtuais
Exponencial com taxas 1, 5, 9, 13
Tempo de vida da rede virtual
Exponencial com média 275
Topologia da rede virtual Redes estrela
Tamanho da rede virtual Uniforme entre 5 e 15
Método de avaliação
• Simulação baseada em eventos discretos• Chegada e saída de redes virtuais
• Simulação finalizada após 80.000 requisições• Resultados são coletados após 40.000
requisições
22
0
100
200
300
400
500
600
700
0 2 4 6 8 10 12 14
Max
imum
Link
Stre
ss
Arrival Rate
ZAA
MPA
Hybrid
Alocação de redes virtuais – Resultados (1)
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Estresse Máximo dos Enlaces
0
1
2
3
4
5
6
7
8
0 2 4 6 8 10 12 14
Mea
n Pa
th Le
nght
Arrival Rate
ZAA
MPA
Hybrid
Tamanho médio do caminho
Rede RNP2010
• 27 nós• 29 enlaces• 17 nós de grau 1• ZAA obtém melhor estresse• Motivo: Poucos caminhos alternativos
• MPA tem maior caminho médio• Híbrido consegue melhor dos dois
23
0
100
200
300
400
500
600
700
0 2 4 6 8 10 12 14
Max
imum
Link
Stre
ss
Arrival Rate
ZAA
MPA
Hybrid
Alocação de redes virtuais – Resultados (2)
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Estresse Máximo dos Enlaces
0
1
2
3
4
5
6
7
8
0 2 4 6 8 10 12 14
Mea
n Pa
th Le
nght
Arrival Rate
ZAA
MPA
Hybrid
Tamanho médio do caminho
Rede RNP2011
• 28 nós• 33 enlaces• 5 nós de grau 1• MPA obtém resultados melhores• Motivo: explora caminhos alternativos
• MPA tem maior caminho médio• Híbrido consegue melhor dos dois
24
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
D
E
F
C
0
A B
1
0 0
41
2
D
E
F
C
0
A B
2
0 1
42
3
25
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
26
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• Iniciado com uma árvore com os nós virtuais• GHS testa todos os nós físicos para adição de novo hub• Uma heurística refaz os enlaces virtuais e mantêm a árvore
• Novos hubs são adicionados até que o custo obtido não diminua
Algoritmo ótimo• Algoritmo tenta todas as combinações de remoção de enlaces para obter a
Steiner Tree ótima• Adequado à redes com poucos enlaces
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
D
E
F
C
0
A B
2
0 1
42
3
27
Criação de redes virtuais – AvaliaçãoCompara 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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Fatores NíveisNúmero de nós requisitados 3 a 27 (28)Topologia da rede física RNP2010 e RNP2011Posicionamento dos nós Uniforme (sem repetições)Estresse dos enlaces Uniforme(0,100)
Método de avaliação
• Simulação Monte Carlo• Sorteia o estresse de cada enlace
virtual e posiciona os nós• Usa os três algoritmos
individualmente e compara o custo da árvore obtida
• Experimentos repetidos 1000 vezes
28
0,00%
20,00%
40,00%
60,00%
80,00%
100,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%
GHS
STA
0,00%
20,00%
40,00%
60,00%
80,00%
100,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 the optimum
GHS
STA
Criação de redes virtuais – Resultados (1)
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
RNP201027 nós29 enlaces
29
0,00%
20,00%
40,00%
60,00%
80,00%
100,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%
GHS
STA
0,00%
20,00%
40,00%
60,00%
80,00%
100,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 the optimum
GHS
STA
Criação de redes virtuais – Resultados (2)
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
RNP201128 nós33 enlaces
30
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
31
PublicaçõesA Survey on Open-source Cloud Computing Solutions• WCGA, 2010
Open Source Cloud Computing Platforms• IEEE GCC, 2010
Resource Allocation in Clouds: Concepts, Tools and Research Challenges• SBRC, 2011
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
Resource Allocation for Distributed Cloud – Concepts and Research Challenges• IEEE Network, 2011
CloudML: An Integrated Language for Resource, Service and Request Description for D-Clouds• IEEE Cloudcom, 2011
D-CRAS: Distributed Cloud Resource Allocation System• NOMS, 2012
Resource Allocation Algorithms for Video on Demand on Distributed
Clouds
Nubilum: Resource Management System for Distributed Clouds with geo-awareness services and NaaS
32
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
Introdução e Motivação
Problema e Objetivos
Proposta e Solução Conclusão
UFPE
Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas
Aluno: Glauco GonçalvesOrientadora: Profa. Judith Kelner
Co-orientador: Prof. Djamel Sadok