Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Post on 11-Jun-2015

189 views 1 download

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

Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Miguel Gomes Xaviermiguel.xavier@acad.pucrs.br

Orientador: César A. F. De Rose

Faculdade de Informática, PUCRSPorto Alegre, Brasil

20 de Março, 2013

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

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

• 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)

• 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

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;

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?

Metodologia Etapas da Pesquisa

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

[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

Solução PropostaRequisitos da solução proposta

Armazenamento

Gerenciamento

Customização

Comunicação Arquitetura

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

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

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

• Sincronização incremental dos Workspaces

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

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

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

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

• 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

• 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

• 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

Avaliação de rede utilizando NETPIPE

• Xen novamente demonstra problemas com os drivers virtualizados

Solução Proposta

• 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

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

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

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

Solução Proposta Arquitetura proposta e seus componentes

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

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

AvaliaçãoAmbiente experimental

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

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

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

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

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

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

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;

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.

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

Obrigado