Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

33
UFPE Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas Aluno: Glauco Gonçalves Orientadora: Profa. Judith Kelner Co-orientador: Prof. Djamel Sadok

description

Apresentação de minha tese de doutorado.

Transcript of Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

Page 1: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

UFPE

Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

Aluno: Glauco GonçalvesOrientadora: Profa. Judith Kelner

Co-orientador: Prof. Djamel Sadok

Page 2: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

2

Roteiro

Introdução e

Motivação

Problema e Objetivos

Proposta e Solução Conclusão

Page 3: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 4: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 5: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 6: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 7: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 8: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 9: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 10: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 11: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 12: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 13: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 14: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 15: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 16: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 17: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 18: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 19: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 20: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 21: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 22: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 23: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 24: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 25: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 26: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 27: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 28: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 29: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 30: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 31: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 32: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

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

Page 33: Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

UFPE

Nubilum: Sistema para gerência de recursos em Nuvens Distribuídas

Aluno: Glauco GonçalvesOrientadora: Profa. Judith Kelner

Co-orientador: Prof. Djamel Sadok