Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

40
Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados Miguel Gomes Xavier [email protected] Orientador: César A. F. De Rose Faculdade de Informática, PUCRS Porto Alegre, Brasil 20 de Março, 2013

Transcript of Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Page 1: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Miguel Gomes [email protected]

Orientador: César A. F. De Rose

Faculdade de Informática, PUCRSPorto Alegre, Brasil

20 de Março, 2013

Page 2: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Agenda

• Introdução• Objetivos• Metodologia • Estado da Arte• Solução Proposta• Técnicas propostas• Tecnologias e Ferramentas• Avaliações• Conclusões• Trabalhos Futuros• Contribuições• Produções

Page 3: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Contextualização

• Cresce o número de usuários de alto desempenho em grandes centros de computação• Proliferação das tecnologias multicore• Diversidade de ambientes de alto desempenho

Introdução

• Aumento na diversidade de aplicações escaláveis• Eminente demanda por ambientes mais compatíveis

Page 4: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

• Usuário• Diferentes disciplinas• Diferentes requisitos de software• Diferentes necessidades

IntroduçãoLimitações em diferentes contextos

• Aplicação• Diferentes arquiteturas (i386, x86_64)• Incompatibilidade com sistemas legados

• Versões de ferramentas• Versões de bibliotecas• Versões de compiladores

• Ambiente• Diferentes frameworks (MPI, MapReduce)• Criticidade em manutenções (pacotes e configuração de ferramentas)

Page 5: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

• Virtualização• Independência, disponibilidade, isolamento e segurança• Melhor gerenciamento• Amplamente utilizado em datacenters/cloud computing

• HPC e Virtualização• Cenários

• Melhor Utilização de Recursos• Ambientes Customizados

• No entanto, tecnologias de virtualização basedas em hypervisors têm sido evitadas em HPC em razão das sobrecargas de desempenho

Introdução

Page 6: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Objetivos• Objetivo Geral

Propor e validar uma arquitetura para provisionamento de ambientes customizados em termos de requisitos de software de forma eficiente

• Objetivos Específicos

– estudar os ambientes de HPC, alimentando a pesquisa em sua Fundamentação Teórica; – estudar as arquiteturas e tecnologias de virtualização;– estudar as técnicas de virtualização existentes no Estado da Arte, no intuito de auxiliar no alcance do

Objetivo Geral; – propor uma AP para ambientes customizados; – propor uma biblioteca que permita gerenciar a AP proposta por meio de gerenciadores de recursos; – avaliar a AP proposta por meio de experimentos, observando o tempo de provisionamento dos ambientes

e o desempenho das aplicações HPC;

Page 7: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Metodologia Questões de Pesquisa

Qual o impacto da AP proposta em relação as APs existentes, levando em consideração as técnicas utilizadas para prover ambientes que atendam a necessidade dos usuários em termos de seus requisitos de software?

Qual o impacto da AP proposta em relação as APs existentes, levando em consideração o desempenho das aplicações HPC e o tempo de provisionamento?

Page 8: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Metodologia Etapas da Pesquisa

Page 9: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Metodologia Hipóteses de Pesquisa

(H1) Para enfrentar os problemas de gerenciamento relacionados com incompatibilidade entre ambientes e aplicações, sugere-se o uso de técnicas, de ferramentas e de tecnologias que viabilizem a customização desses ambientes

(H2) Para provisionar ambientes customizados em termos de requisitos de software de forma eficiente, sugere-se o uso da arquitetura de virtualização baseada em contêineres

Page 10: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

[1] KEAHEY, K., FOSTER, I., FREEMAN, T., et al. Virtual Workspaces in the Grid. ANL/MCS-P1231-0205. 2005.[2] ZHANG, X., KEAHEY, K., FOSTER, I., FREEMAN, T. Virtual Cluster Workspaces for Grid Applications. ANL Tech Report ANL/MCS-P1246-0405. 2005. [4] NISHIMURA, H., MARUYAMA, N., MATSUOKA, S. Virtual Clusters on the Fly — Fast, Scalable, and Flexible Installation. IEEE Cluster Computing and the Grid. 2007. [5] CHASE, J., IRWIN, D., GRIT, L., ET AL. DYNAMIC VIRTUAL CLUSTERS IN A GRID SITE MANAGER. IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE DISTRIBUTED COMPUTING. 2003:13.[6] CHEN, K., XIN, J., ZHENG, W. VirtualCluster: Customizing the Cluster Environment through Virtual Machines. IEEE/IFIP International Conference on Embedded and Ubiquitous Computing. 2008:6.

Proposta VW VCW VD Cache

CoD ClusterVirtual

Referência - [1] [2] [4] [5] [6]

Virtualização baseada em hypervisor Não Sim Sim Sim Sim Sim

Virtualização baseada em contêiner Sim Não Não Não Não Não

Templates Sim Não Não Não Sim Sim

Interface de Acesso Sim Sim Sim Sim Sim SIm

Reuso de Templates Sim Sim Sim Não Sim Sim

Trabalhos Relacionados

Page 11: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaRequisitos da solução proposta

Armazenamento

Gerenciamento

Customização

Comunicação Arquitetura

Page 12: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaTécnicas propostas no intuíto de atender os requisitos identificados

Workspaces, Sincronização Incremental de Dados, Customização dos Workspaces e API de gerenciamento

Page 13: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaTécnicas propostas no intuíto de atender os requisitos identificados

• Workspace• Sistema de arquivos customizado• Sustentado por uma tecnologia de virtualização

Page 14: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaTécnicas propostas no intuíto de atender os requisitos identificados

• Sincronização incremental dos Workspaces

Page 15: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaTécnicas propostas no intuíto de atender os requisitos identificados

• Customização dos Workspaces• Técnica não automatizada• Usuário insere suas aplicações manualmente no template pré-configurado

• API de Gerenciamento dos Workspaces• Função createCluster – Criar Cluster de workspaces• Função destroyCluster – Destruir Cluster de workspaces• Função syncWorkspace – Sincronizar workspace passado por parâmetro• Funcão syncAllWorkspaces – Sincronizar todos os workspaces locais

Page 16: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaTecnologias e ferramentas utilizadas para suportar as técnicas propostas

Workspaces

Sincronização Incremental de

Dados

Customização dos Workspaces

API de Gerenciamento

Tecnologia de Virtualização

Ferramenta Rsync

Ferramenta Chroot

Libvirt

Page 17: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução PropostaIdentificando a tecnologias de virtualização da arquitetura proposta

• Tecnologias avaliadas• Linux-Vserver• OpenVZ• LXC• Xen

• Analizando os melhores resultados de desempenho

• Através de micro-benchmarks (CPU, disk, memory, network) em um único nodo

• Através de macro-benchmarks (HPC)

• Analizando os melhores resultados de isolamento• Benchmark IBS

Page 18: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução Proposta

• Drivers não são virtualizados• Linux-Vserver, OpenVZ and LXC

Virtualização baseada em contêiner Virtualização baseada em hypervisor

Virtualização baseada em contêiner

Page 19: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

• Todas tecnologias de virtualização baseadas em contêineres atingiram resultados similares ao nativo

• O Xen apresentou uma média de 4.3% de sobrecarga

Solução PropostaAvaliação de uma única CPU utilizando LINPACK

Page 20: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

• Tecnologias baseadas em conteiners possuem a habilidade de retornar memórias desalocadas para a máquina host

• O Xen apresentou uma sobrecarga de 31%

Solução PropostaAvaliação de banda de memória utilizando o STREAM

Page 21: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

• Xen não atinge um bom desempenho em razão da virtualização dos drivers de I/O

Solução PropostaAvaliação de disco utilizando IOZone

Page 22: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Avaliação de rede utilizando NETPIPE

• Xen novamente demonstra problemas com os drivers virtualizados

Solução Proposta

Page 23: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

• Todos os benchmarks enquanto estressados no Xen obtiveram sobrecarga de desempenho devido aos drivers de rede virtualizados

Solução PropostaAvaliação de desempenho de aplicações paralelas utilizando NAS-MPI

Page 24: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução Proposta• Os resultados representam quanto o desempenho de uma aplicação foi impactado por

um teste de estresse em outra VM/contêiner.• DNR significa que a aplicação não foi capaz de executar • Todas as tecnologias baseadas em contêineres tiveram algum impacto noisolamento

LXC OpenVZ Vserver Xen

CPU 0 0 0 0

Memory Bomb 88,2% 89,3% 20,6% 0,9%

Disk Stress 9% 39% 48,8% 0

Fork Bomb DNR DNR DNR 0

Network Receiver 2,2% 4,5% 13,6% 0,9%

Network Sender 10,3% 35,4% 8,2% 0,3%

Avaliação de isolamento utilizando o benchmark IBS

Page 25: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução Proposta

• Todas as tecnologias baseadas em contêiners atingiram um desempenho similar ao nativo para CPU, memória, disco e rede

• LXC demonstra ser a tecnologia mais adequada para a AP proposta• Resultados de desempenho similiares ao nativo• Desenvolvimento mainline no kernel do Linux• Suporte na LIBVirt

Análise dos resultados

Page 26: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução Proposta (Resumo)

• Técnicas definidas • Workspaces• Customização dos Workspaces• Sincronização Incremental de Workspaces• API de Gerenciamento

• Tecnologias e Ferramentas definidas• Tecnologia de virtualização LXC• Chroot• Rsync• Libvirt

Page 27: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Solução Proposta Arquitetura proposta e seus componentes

Page 28: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Avaliação• Prototipação

• Modelagem Estrutural • Diagrama de Componente

• Modelagem Comportamental• Diagrama de Sequência

• Experimentos para Avaliação da Arquitetura• Armazenamento

• Tempo de carga de um Workspace• Tempo de sincronização de um Workspace• Tempo de provisionamento de um cluster de Workspaces

• Customização• Avaliação de aplicações HPC

• Comunicação• Avaliação de taxa e latência de rede

• Interface de Gerência• Pseudo-aplicação

Page 29: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoArquitetura proposta ilustrando o propótipo disposto em diferentes componentes

Page 30: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoAmbiente experimental

Page 31: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoAvaliação do tempo de carga de um único Workspace

Tempo médio de inicialização de um Workspace foi de 1.81 Segundos

Tempo médio de inicialização de uma máquina virtual foi de 11.85 Segundos

Page 32: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoAvaliação do tempo de sincronização de um Workspace em um único nodo

Tempo médio de sincronização de um Workspace foi de 2 Segundos

Tempo médio de sincronização de uma imagem de máquina virtual foi de 28 Segundos

Page 33: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoAvaliação do tempo de sincronização de um Workspace em múltiplos nodos

Tempo médio de sincronização de múltiplos Workspaces foi de 9.9

Tempo médio de sincronização de múltiplas imagens de máquina virtuais foi de 92 Segundos

Page 34: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoAvaliação do tempo de provisionamento de um cluster de Workspaces

Arquitetura proposta: média de 12 segundosArquitetura utilizando Xen: média de 101 segundosArquitetura CoD: média de 120 segundos

Inclusão de uma arquitetura contida no estado da arte

Page 35: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

AvaliaçãoAvaliação de desempenho das aplicações HPC utilizando NAS-MPI

Mínimo impacto no desempenho das aplicações paralelas

Hipótese (H2) torna-se aceita

Page 36: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

ConsideraçõesAs seguintes Questões de Pesquisa foram respondidas:

• Qual o impacto da AP proposta em relação as APs existentes, levando em consideração as técnicas utilizadas para prover ambientes que atendam a necessidade de usuários tem termos de seus requisitos de software?

Os resultados obtidos se mostraram favoráveis em razão do baixo volume de dados que os workspaces representam como também da viabilidade da sincronização incremental de dados em workspaces

• Qual o impacto da AP proposta em relação as APs existentes, levando em consideração o desempenho das aplicações e o tempo de provisionamento?

Os resultados obtidos revelaram que a AP incorre em uma ínfima sobrecarga de desempenho em aplicações HPC, bem como um baixo tempo de provisionamento de ambientes customizados, em comparação com as APs existentes

Page 37: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Trabalhos FuturosOs seguintes tópicos carecem de um estudo em maior profundidade, apresentados em trabalhos futuros:

• Realizar um estudo aprofundado em busca de amenizar ou contornar os problemas identificados nos testes de isolamento da tecnologia de virtualização LXC;

• Propor a funcionalidade de provisionamento cluster de workspaces remoto. Percebeu-se durante a realização da Pesquisa, que o uso de workspaces pode viabilizar tal funcionalidade, dado seu baixo volume de dados;

• Propor em um trabalho futuro a integração da AP em um gerenciador de recursos por meio da API;

Page 38: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

ContribuiçõesAs contribuições deste trabalho são:

• Avaliação das Tecnologias de Virtualização baseada em Contêineres: Até o presente momento, nenhum outro trabalho tinha realizado tal avaliação;

• Arquitetura para Provisionamento de Ambientes Customizados de Alto Desempenho;

• API de Gerenciamento;

• Avaliação da AP proposta;

• A hipótese (H1) afirma que para enfrentar os problemas de gerenciamento relacionados com incompatibilidade entre ambientes e as aplicações,

sugere-se o uso de técnicas e de tecnologias que viabilizem a customização desses ambientes. A hipótese foi comprovada;

• A hipótese (H2) afirma que para provisionar ambientes customizados em termos de requisitos de software de forma eficiente, sugere-se o uso da

arquitetura de virtualização baseada em contêineres. A hipótese foi comprovada.

Page 39: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Produções

Monografia entitulada Infraestrutura de Virtualizacao para Ambientes de Computacao de Alto Desempenho: Uma Revisao da Literatura

LANGE, T.; CEMIM, P.; ROSSI, F.; XAVIER, M.; BELLE, L.; FERRETO, T.; DE ROSE, César A. F.; Performance Evaluation of Virtualization Technologies for Databases in HPC Environments. In: Simpósio em Sistemas Computacionais (WSCAD-SSC), 2012, Petrópolis, RJ, Brazil. Proceedings of the WSCAD-SSC 2012. v. 1. p. 88-94. CAPES B5

XAVIER, M.; ROSSI, F.; LANGE, T.; FERRETO, T.; DE ROSE, César A. F.; Performance Evaluation of Container-based Virtualization for High Performance Computing Environments. In: 21st Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP 2013), Belfast, Ireland. CAPES B1

XAVIER, M.; DE ROSE, César A. F.; An Architecture for Provisioning Custom High Performance Environments . Em andamento

Page 40: Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Obrigado