SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Uma Arquitetura para Provisionamento de Ambientes de Alto
Desempenho Customizados
Miguel Gomes Xavier
miguel.xavier@acad.pucrs.br
Orientador: César A. F. De Rose
Faculdade de Informática, PUCRS
Porto 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ção
Limitaçõ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 Proposta
Requisitos da solução proposta
Armazenamento
Gerenciamento
Customização
Comunicação Arquitetura
Solução Proposta
Técnicas propostas no intuíto de atender os requisitos identificados
Workspaces, o Incremental de Dados, o dos Workspaces e API de gerenciamento
Solução Proposta
Técnicas propostas no intuíto de atender os requisitos identificados
• Workspace
• Sistema de arquivos customizado
• Sustentado por uma tecnologia de virtualização
Solução Proposta
Técnicas propostas no intuíto de atender os requisitos identificados
• Sincronização incremental dos Workspaces
Solução Proposta
Té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 Proposta
Tecnologias 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 Proposta
Identificando 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
Linpack
Mflops
0100200300
Native
LXC
OpenVZ
VServer
Xen
Solução Proposta
Avaliaçã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 Proposta
Avaliaçã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 Proposta
Avaliação de disco utilizando IOZone
50
100
150
200
10 1000
Message size (bytes)
Latency(microseconds)
Legend
LXC
Native
OpenVZ
VServer
Xen
0
250
500
750
1000
10
1
10
3
105
107
Message size (bytes)
Bandwidth(Mbps)
Legend
LXC
Native
OpenVZ
VServer
Xen
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
bt cg ep ft is lu mg
NAS Parallel Benchmarks
Executiontime(seconds)
050100150200
Native
LXC
OpenVZ
VServer
Xen
Solução Proposta
Avaliaçã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ção
Arquitetura proposta ilustrando o propótipo disposto em diferentes componentes
Avaliação
Ambiente experimental
Avaliação
Avaliação do tempo de carga de um único Workspace
Uptime
TempodeInicialização(segundos)
0246810
Workspace
Xen
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ção
Avaliaçã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
rsync
TempodeSincronização(segundos)
0510152025
Workspace
Imagem Xen
Avaliação
Avaliaçã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
rsync
TempodeSincronização(segundos)
020406080
Workspace
Imagem Xen
Avaliação
Avaliação do tempo de provisionamento de um cluster de Workspaces
Arquitetura proposta: média de 12 segundos
Arquitetura utilizando Xen: média de 101 segundos
Arquitetura CoD: média de 120 segundos
Provisionamento
TempodeProvisionamento(segundos)
020406080100120
AP Proposta
AP Xen
CoD
Inclusão de uma arquitetura contida
no estado da arte
Avaliação
Avaliação de desempenho das aplicações HPC utilizando NAS-MPI
Mínimo impacto no desempenho das aplicações
paralelas
bt cg ep ft is lu mg
Nativa
Workspace
NAS Parallel Benchmarks
TempodeExecução(segundos)
050100150
Hipótese (H2) torna-se aceita
Considerações
As seguintes es de Pesquisa foram respondidas:
• Qual o impacto da AP proposta em 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 veis em o do baixo volume de dados que os
workspaces representam como m da viabilidade da o incremental de dados em
workspaces
• Qual o impacto da AP proposta em o as APs existentes, levando em 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 es HPC, bem como um baixo tempo de provisionamento de ambientes customizados, em
comparação com as APs existentes
Trabalhos Futuros
Os 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ções
As 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 o para Ambientes de o de Alto
Desempenho: Uma o 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

Weitere ähnliche Inhalte

Ähnlich wie Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperCesar Romero
 
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Renato Groff
 
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Renato Groff
 
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Renato Groff
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...CPqD
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Renato Groff
 
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Renato Groff
 
Aula processo de reuso de software
Aula processo de reuso de softwareAula processo de reuso de software
Aula processo de reuso de softwareTatiana Tavares
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoRenato Groff
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaRenato Groff
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...Cleber Dantas
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Renato Groff
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsRenato Groff
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Filipe Barretto
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA CareerMarcus Vinicius Miguel Pedro
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGdjonatascostsa
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Renato Groff
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 

Ähnlich wie Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados (20)

Desenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack DeveloperDesenvolvendo Sistema Cloud e Web Full-stack Developer
Desenvolvendo Sistema Cloud e Web Full-stack Developer
 
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
Construindo APIs REST escaláveis na nuvem com Docker e Kubernetes - DEVPIRA F...
 
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
Construindo aplicações escaláveis com ASP.NET Core, Docker e o Microsoft Azur...
 
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
Construindo aplicações Web escaláveis com Docker e o Microsoft Azure - Azure ...
 
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
 
5. rodando containers docker na aws
5. rodando containers docker na aws5. rodando containers docker na aws
5. rodando containers docker na aws
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado - Janeiro-2020
 
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
Docker + Kubernetes + Azure: opções disponíveis para uso de Containers na nuv...
 
Aula processo de reuso de software
Aula processo de reuso de softwareAula processo de reuso de software
Aula processo de reuso de software
 
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - MarçoASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
ASP.NET Core 3.1: Desenvolvimento de APIs Multiplataforma - Março
 
Docker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na PráticaDocker | Minicurso Gratuito - Azure na Prática
Docker | Minicurso Gratuito - Azure na Prática
 
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
MSTechday - Técnicas e recursos para desenvolvimento web em cenários de grand...
 
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
Docker de ponta a ponta: do Desenvolvimento à Nuvem - Azure Talks - Agosto-2018
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Monitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application InsightsMonitorando APIs REST com o Application Insights
Monitorando APIs REST com o Application Insights
 
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
 
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career2019 - GUOB MeetUp - Journey to Cloud and DBA Career
2019 - GUOB MeetUp - Journey to Cloud and DBA Career
 
Arquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMGArquitetura de Computadores - Lecom - UFMG
Arquitetura de Computadores - Lecom - UFMG
 
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
Docker de ponta a ponta - do Desenvolvimento à Nuvem - .NET SP - Outubro-2018
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 

Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados

  • 1. Uma Arquitetura para Provisionamento de Ambientes de Alto Desempenho Customizados Miguel Gomes Xavier miguel.xavier@acad.pucrs.br Orientador: César A. F. De Rose Faculdade de Informática, PUCRS Porto Alegre, Brasil 20 de Março, 2013
  • 2. 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
  • 3. 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
  • 4. • Usuário • Diferentes disciplinas • Diferentes requisitos de software • Diferentes necessidades Introdução Limitaçõ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)
  • 5. • 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
  • 6. 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;
  • 7. 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?
  • 9. 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
  • 10. [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
  • 11. Solução Proposta Requisitos da solução proposta Armazenamento Gerenciamento Customização Comunicação Arquitetura
  • 12. Solução Proposta Técnicas propostas no intuíto de atender os requisitos identificados Workspaces, o Incremental de Dados, o dos Workspaces e API de gerenciamento
  • 13. Solução Proposta Técnicas propostas no intuíto de atender os requisitos identificados • Workspace • Sistema de arquivos customizado • Sustentado por uma tecnologia de virtualização
  • 14. Solução Proposta Técnicas propostas no intuíto de atender os requisitos identificados • Sincronização incremental dos Workspaces
  • 15. Solução Proposta Té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
  • 16. Solução Proposta Tecnologias 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
  • 17. Solução Proposta Identificando 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
  • 18. 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
  • 19. • 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 Linpack Mflops 0100200300 Native LXC OpenVZ VServer Xen Solução Proposta Avaliação de uma única CPU utilizando LINPACK
  • 20. • 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 Proposta Avaliação de banda de memória utilizando o STREAM
  • 21. • Xen não atinge um bom desempenho em razão da virtualização dos drivers de I/O Solução Proposta Avaliação de disco utilizando IOZone
  • 22. 50 100 150 200 10 1000 Message size (bytes) Latency(microseconds) Legend LXC Native OpenVZ VServer Xen 0 250 500 750 1000 10 1 10 3 105 107 Message size (bytes) Bandwidth(Mbps) Legend LXC Native OpenVZ VServer Xen Avaliação de rede utilizando NETPIPE • Xen novamente demonstra problemas com os drivers virtualizados Solução Proposta
  • 23. • Todos os benchmarks enquanto estressados no Xen obtiveram sobrecarga de desempenho devido aos drivers de rede virtualizados bt cg ep ft is lu mg NAS Parallel Benchmarks Executiontime(seconds) 050100150200 Native LXC OpenVZ VServer Xen Solução Proposta Avaliação de desempenho de aplicações paralelas utilizando NAS-MPI
  • 24. 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
  • 25. 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
  • 26. 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
  • 28. 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
  • 29. Avaliação Arquitetura proposta ilustrando o propótipo disposto em diferentes componentes
  • 31. Avaliação Avaliação do tempo de carga de um único Workspace Uptime TempodeInicialização(segundos) 0246810 Workspace Xen 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
  • 32. Avaliação Avaliaçã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 rsync TempodeSincronização(segundos) 0510152025 Workspace Imagem Xen
  • 33. Avaliação Avaliaçã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 rsync TempodeSincronização(segundos) 020406080 Workspace Imagem Xen
  • 34. Avaliação Avaliação do tempo de provisionamento de um cluster de Workspaces Arquitetura proposta: média de 12 segundos Arquitetura utilizando Xen: média de 101 segundos Arquitetura CoD: média de 120 segundos Provisionamento TempodeProvisionamento(segundos) 020406080100120 AP Proposta AP Xen CoD Inclusão de uma arquitetura contida no estado da arte
  • 35. Avaliação Avaliação de desempenho das aplicações HPC utilizando NAS-MPI Mínimo impacto no desempenho das aplicações paralelas bt cg ep ft is lu mg Nativa Workspace NAS Parallel Benchmarks TempodeExecução(segundos) 050100150 Hipótese (H2) torna-se aceita
  • 36. Considerações As seguintes es de Pesquisa foram respondidas: • Qual o impacto da AP proposta em 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 veis em o do baixo volume de dados que os workspaces representam como m da viabilidade da o incremental de dados em workspaces • Qual o impacto da AP proposta em o as APs existentes, levando em 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 es HPC, bem como um baixo tempo de provisionamento de ambientes customizados, em comparação com as APs existentes
  • 37. Trabalhos Futuros Os 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;
  • 38. Contribuições As 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.
  • 39. Produções Monografia entitulada Infraestrutura de o para Ambientes de o de Alto Desempenho: Uma o 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