Vous êtes sur la page 1sur 8

XXIX Simpsio Brasileiro de Redes de Computadores e Sistemas Distribudos 965

Neblina - Espacos Virtuais de Trabalho para uso em


Aplicacoes Cientficas
Felipe J. Fernandes, Bruno Schulze, Antonio R. Mury
1
Laboratorio Nacional de Computacao Cientfica (LNCC)
Av. Getulio Vargas, 333 - Quitandinha - 25651-075 - Petropolis - RJ
{felipejf,schulze,armury}@lncc.br

Abstract. This paper presents a proposal for virtual environments for use in re-
search units. Based on the paradigm of cloud computing, it aims to provide
solutions through the deployment of virtual platforms for testing, development
and use; providing to its users a dedicated and customized environment. It op-
timizes the use of existing resources through its sharing, and also incorporating
the concept of turnkey solutionsfor dedicated applications.

Resumo. O trabalho a seguir apresenta uma proposta para ambientes virtu-


ais de trabalho para uso em unidades de pesquisa. Baseado no paradigma de
Computacao em Nuvem procura-se disponibilizar solucoes por meio de plata-
formas virtuais para teste, desenvolvimento e uso. Fornece aos seus usuarios um
ambiente dedicado e customizado em funcao das suas necessidades. Otimiza o
uso dos recursos por meio do seu compartilhamento incorporando o conceito de
solucoes prontas na forma de plataformas virtuais compostas com o mnimo
de recursos para execucao de aplicacoes dedicadas.

1. Introducao
Este trabalho esta baseado em tres tipos de abordagens: o uso de recursos de virtualizacao,
o uso do conceito de espacos de trabalho virtuais e a configuracao e uso de plataformas
virtuais como solucoes prontas (turnkey appliances) para aplicacoes dedicadas.
A proposta aqui apresentada so foi possvel pelo aperfeicoamento das aplicacoes
dedicadas a virtualizacao de recursos computacionais, destacando-se a evolucao da tec-
nologia relacionada aos processadores, aos dispositivos de entrada e sada e de rede. A
virtualizacao de recursos tornou-se com isso, uma das pecas fundamentais para o que se
convencionou chamar de computacao em nuvem. Ja o conceito de espacos virtuais de
trabalho e utilizado para definir um ambiente, no qual o usuario e capaz de especificar
as caractersticas dos recursos e aplicacoes necessarios a execucao de uma determinada
tarefa, ou escolher um ambiente ja preparado e dedicado para tal.
Outra caracterstica e o que chamamos de solucoes prontas (turnkey appliances),
que e um ambiente com o mnimo de recursos para execucao de uma aplicacao especfica.
Do ponto de vista do usuario, ele simplesmente tem que iniciar, usar e encerrar a plata-
forma, nao se preocupando com nenhum aspecto referente a instalacao, configuracao,
manutencao ou requisitos de uso. Sob o ponto de vista da aplicacao, o ambiente compu-
tacional, por possuir apenas os requisitos necessarios a sua execucao, torna-se mais leve e
com menos concorrencia de processos. Sob o ponto de vista da infraestrutura, otimiza-se
966 Anais

a sua utilizacao pela diminuicao do tamanho das maquinas virtuais (VMs), quantidade de
memoria alocada e carga de processamento.
O trabalho a seguir tem por objetivo permitir que pesquisadores, especialistas e es-
tudantes possam ter acesso remotamente a aplicacoes dedicadas e configuradas de acordo
com as suas necessidades. Estes acessam suas aplicacoes por meio de um portal, utili-
zando o poder computacional disponvel em um ambiente remoto de grade/nuvem. O
utilizador e capaz de acessar o sistema por meio de um navegador, em qualquer lugar,
sempre que precisar, bastando para isso a sua autenticacao.
Quanto ao perfil deste utilizador, este trabalho tem como principal publico alvo
especialistas que nao tenham a habilidade e tempo para instalar e configurar ambientes de
producao ou pesquisa; tenham conhecimento especfico de uma aplicacao; sua disponibi-
lidade para pronto uso e acesso remoto.
Este trabalho faz parte de um projeto em andamento, com o objetivo de prover
ambientes virtuais de trabalho, acessados por meio de um portal, operando sobre uma
infraestrutura de grade ou nuvem, disponibilizando plataformas pre-configuradas, funci-
onando na forma de solucoes prontas para uso.
O trabalho a seguir esta organizado da seguinte forma: a secao 2 apresenta ar-
tigos relacionados com virtualizacao e espacos virtuais; a secao 3 apresenta uma breve
descricao da arquitetura e na secao 4 as conclusoes e trabalhos futuros.

2. Trabalhos Relacionados
Dentre as muitas vantagens que a virtualizacao de recursos possui, podemos citar: a pos-
sibilidade de otimizar a sua utilizacao por meio do seu compartilhamento; o isolamento
entre os ambientes criados e em execucao em um mesmo recurso; a possibilidade do ba-
lanceamento de carga; a consolidacao dos servicos; e no nvel da plataforma e infraestru-
tura virtualizada, a capacidade de provisao de um ambiente dedicado para os seus usuarios
[Matthews et al. 2007], [Rixner 2008], [Yang et al. 2010]. Tudo isto foi possvel gracas
ao desenvolvimento na arquitetura dos processadores, por meio do aumento do numero
de nucleos, do uso de instrucoes de virtualizacao dedicadas, incorporadas ao processador
e aos controladores de dispositivos de entrada e sada e pelo aumento da capacidade das
redes. Este nvel de desenvolvimento permitiu a criacao de plataformas virtuais com um
desempenho similar as reais, o aparecimento de paradigmas como o de computacao em
nuvem e o que chamamos de espacos virtuais de trabalho.
Os espacos virtuais de trabalho sao caracterizados por permitirem a criacao de um
ambiente dedicado, seja na forma de uma infraestrutura de hardware ou de software, po-
dendo ser configurado de acordo com as necessidades especficas de seus usuarios, com
propriedades de isolamento de seu ambiente e a utilizacao dos recursos por mais de um
usuario ao mesmo tempo. Este termo foi apresentado por [Keahey et al. 2005b], como
uma necessidade de evolucao e solucao para as grades computacionais. A ideia era pro-
porcionar um ambiente mais amigavel e dedicado, tentando resolver uma das limitacoes
encontradas em termos de isolamento entre as aplicacoes executadas simultaneamente.
Mais tarde, em [Keahey et al. 2005a] o termo foi ampliado para uma abstracao de
um ambiente de execucao, podendo ser disponibilizado dinamicamente em recursos re-
motos, por meio de um protocolo bem definido. Em [Keahey and Freeman 2008] propoe-
XXIX Simpsio Brasileiro de Redes de Computadores e Sistemas Distribudos 967

se tambem a criacao de ambientes virtuais, usando VMs inicializadas em recursos ociosos


de outros usuarios, disponibilizando ambientes dedicados as suas necessidades, isolado do
ambiente da maquina hospedeira e utilizando apenas uma parcela pre-acordada dos recur-
sos nela existentes. Esta proposicao foi chamada de nuvens cientficas em comparacao
com o servico oferecido pelos provedores de nuvens computacionais comerciais.
O termo em ingles appliance, originalmente, destinava-se a aparelhos eletronicos
projetados com uma finalidade especfica. Quando e associado ao conceito de
virtualizacao, temos dispositivos que se comportam como um equipamento, porem
sem a sua parcela fsica, podendo ser transportados e armazenados eletronicamente
[Sapuntzakis et al. 2003]. Ja o termo solucoes prontas para uso e no contexto de
nuvem usado para especificar um recurso virtualizado e pre-configurado pronto para
utilizacao. Diversos provedores comerciais de nuvem fornecem esses recursos na forma
de servidores virtuais com um sistema operacional pre-testado e aplicativos instalados,
que podem ser usados na forma de uma unica maquina ou diversas maquinas virtuais
[Epstein et al. 2010].
Quanto ao gerenciamento de um ambiente de nuvem, durante a execucao deste
projeto, analisou-se o OpenNebula, por ser o de concepcao mais proxima a ideia pro-
posta, com a finalidade de comparar as funcionalidades ja existentes no ambiente de
virtualizacao em desenvolvimento, com as funcionalidades nele existentes, inclusive
verificando-se a possibilidade de fazer com que o portal viesse a funcionar tambem, sobre
sua infraestrutura. Os seguintes pontos merecem destaque:
1. A interface de gerencia e acesso dos usuarios, assim como as funcionalidades
implementadas no projeto, superaram as disponibilizadas pelo OpenNebula. (O
OpenNebula nao possua uma interface de gerenciamento grafica ate o momento
da analise);
2. O projeto cobre tanto a parte de infraestrutura do ambiente de nuvem quanto o
gerenciamento e uso; o OpenNebula estava focado somente na infraestrutura;
3. O OpenNebula realizava a migracao das imagens de um repositorio comum para
a maquina hospedeira, o que causava um atraso na inicializacao e acesso as plata-
formas virtuais;
4. O OpenNebula possua um gerenciamento de recursos e escalonador muito mais
elaborado do que o utilizado pelo projeto;
5. O OpenNebula permitia a escolha de tres tipos de aplicacoes de virtualizacao di-
ferentes, o projeto apenas uma.
As versoes do OpenNebula utilizadas para a analise foram a 1.4 e 2.0.
A ideia da criacao de ambientes dedicados ao uso em aplicacoes cientficas, exe-
cutados em plataformas virtuais, incentivou este trabalho. A ideia foi criar um ambiente
acessado remotamente, a qualquer momento, por meio de um navegador, para execucao
de aplicativos ou uso de plataformas, com um ganho em termos de gestao e comparti-
lhamento de recursos. Em suma, da analise da analise da revisao bibliografica realizada,
os seguintes pontos foram levantados, procurando-se incorpora-los ao trabalho: o uso da
virtualizacao como uma ferramenta para o compartilhamento de recursos em um ambi-
ente distribudo; o uso do conceito de espacos virtuais de trabalho na forma de ambientes
dedicados, configurados de acordo com as necessidades de seus usuarios; disponibilizar
um portal que facilitasse o acesso e gerenciamento para seus usuarios e administradores e
968 Anais

o uso de solucoes prontasna forma de ambientes virtuais otimizados para execucao de


aplicacoes especficas.

3. Ambientes Virtuais de Trabalho - Arquitetura e Funcionalidades


A seguir serao apresentadas a arquitetura e os componentes do ambiente em desenvolvi-
mento, que poderao ser complementadas pela documentacao e manual encontrados em
seu portal de acesso (o endereco encontra-se no final desta secao).
A Figura 1 apresenta um detalhamento da arquitetura do ambiente. Ela esta divi-
dida em tres grandes grupos: Aplicacao, Infraestrutura e Virtualizacao.
A Aplicacao e a responsavel por prover a interface para duas classes de usuarios: o
administrador e o utilizador. Por meio dela o administrador e capaz de executar as tare-
fas referentes a gerencia do ambiente (gerencia de utilizadores e gerencia de plataformas
virtualizadas). Quanto ao utilizador, permite que ele tenha acesso remoto aos recursos
virtualizados e a um servidor de armazenamento de arquivos.
A Infraestrutura tem por funcao prover os recursos com base nas necessidades
especificadas para cada usuario, armazenar as informacoes utilizadas na gerencia do am-
biente, armazenar as plataformas virtualizadas (Virtual Disk Images - VDI) e armazenar
os arquivo de uso dos utilizadores.
A Virtualizacao compreende a aplicacao usada para virtualizar as plataformas.
Cabe ressaltar que a estrutura como descrita, torna o ambiente criado independente
do gerenciador de maquinas virtuais utilizado. O VirtualBox foi usado em um pri-
meiro momento, com o intuito de acelerar o aprendizado, testar o ambiente e permitir
a disponibilizacao das maquinas virtuais em um curto espaco de tempo. No atual estagio
de desenvolvimento esta em curso a adicao de mais uma aplicacao de virtualizacao ao
ambiente (KVM).

Figura 1. Arquitetura em camadas e grupos do Ambiente Virtual de Trabalho

A Figura 2 apresenta um detalhamento dos componentes da Aplicacao. A primeira


camada representa o padrao MVC (Model View Controler) por meio da qual o usuario
interage com o sistema sendo responsavel pela gestao e pela identificacao do tipo de
usuario, habilitando um acesso personalizado ao sistema e as plataformas virtuais.
A segunda camada e composta por dois modulos. O primeiro e o Modulo de
Tarefas, que consiste de pequenos servicos executados automaticamente, destinados a
XXIX Simpsio Brasileiro de Redes de Computadores e Sistemas Distribudos 969

verificacao periodica do estado dos recursos e plataformas virtuais. O modulo GORM


(Hibernate) e a camada de persistencia dos dados inseridos: pelos usuarios (configuracao
das maquinas virtuais), pelas tarefas (Modulo de Tarefas) e pelos servicos, consolidando-
os e validando-os na base de dados.
A terceira camada - Servicos - e a responsavel pela execucao de procedimentos
(criacao, armazenamento e execucao das VMs) e de funcoes (dados coletados referentes
a capacidade real dos recursos). Isto e feito com base nos parametros estipulados pelas
informacoes inseridas na base de dados e oriundos da infraestrutura.
A quarta camada - Modulo de Comunicacao - consiste no conjunto de protocolos
padronizados responsavel por fazer com que os comandos oriundos da camada de servicos
sejam executados, disponibilizando assim os recursos e plataformas virtualizadas.
No atual estagio de desenvolvimento, ha um forte acoplamento entre o portal e o
gerenciador da infraestrutura (camada de servicos/camada de comunicacao). Isto se da,
pois a camada de servicos e o modulo de comunicacao se comportam como um elemento
unico. Para que seja possvel o uso do portal dissociado da infraestrutura, e necessario im-
plementar, para a camada de servicos, um novo conjunto de protocolos compatveis com
o gerenciador de infraestrutura desejado. Por exemplo, para seu uso com o OpenNebula, a
camada de servico deveria suportar o padrao de seus comandos (criacao, armazenamento,
migracao, escalonamento e execucao das VMs).
A quinta camada e composta por tres modulos. O primeiro e o modulo de
- Comando do Virtualizador - que executa os comandos do modulo de comunicacao,
compatibilizando-os com os comandos especficos da aplicacao de virtualizacao. O se-
gundo modulo - Conexao Remota - compatibiliza o protocolo RDP com o protocolo
HTTP por meio de um conjunto de bibliotecas, permitindo a apresentacao da plataforma
virtualizada em um navegador. O Modulo de - Status da Nuvem - e o responsavel pela
coleta de informacoes da infraestrutura fsica repassando-as para a camada de servicos
com base no que foi requisitado.

Figura 2. Arquitetura dos componentes do Ambiente Virtual de Trabalho

3.1. Principais Funcionalidades - Neblina


O ambiente acima descrito teve como ponto de partida a otimizacao do uso dos recursos
entao existentes na grade computacional do Virtual Community Grid, eliminando a ne-
cessidade de dedicacao exclusiva destes recursos. Apos a virtualizacao dos recursos da
970 Anais

grade, concebeu-se a ideia de criar um ambiente mais flexvel e amigavel aos dois grupos
de usuarios anteriormente descritos - administradores e utilizadores.
A Figura 3 apresenta um resumo das principais funcionalidades do sistema.

Figura 3. Funcionalidades principais do sistema Neblina

Chamamos, na Figura 3, de modelos de maquinas virtuais a uma especificacao


de plataforma que contem as principais caractersticas fsicas da maquina virtual que ela
representa, com a possibilidade de reuso pelo seu criador e por outros usuarios. Quando
da criacao efetiva da maquina virtual, sua definicao pode ser exportada nos formatos OVF
e OVA (funcionalidade nativa do VirtualBox).
Para desenvolvimento deste trabalho foram utilizadas as seguintes ferramentas:
1. Plataforma - Linux (Atualmente utilizada Ubuntu 9.10);
2. Interface de desenvolvimento - SpringSource Tools Suite 2.3.2;
3. Frameworks - Java 6 e Grails 1.1.1 ;
4. Banco de Dados - MySQL 5.0;
5. Container WEB (desenvolvimento) - JETTY;
6. Servidor WEB (producao) - Apache/Tomcat 6.0.29;
7. Gerenciador de Maquinas Virtuais - VirtualBox 3.2.2;

3.1.1. Acesso ao ambiente e descricao da demonstracao

Para maior detalhamento sobre o ambiente, a documentacao e a aplicacao encontram-se


disponveis no endereco: http://146.134.30.149:8082/projetoNeblina/.
Para utilizacao do portal e necessario um navegador (compatibilidade total com o
Mozilla Firefox) com o plugin do Java instalado.
A demostracao da aplicacao no Salao de Ferramentas sera feita por meio do acesso
ao portal e a execucao das principais funcionalidades do ambiente, tanto na funcao de
Administracao (criacao de modelos, de usuarios, de maquinas virtuais e do controle das
maquinas virtuais); quanto na funcao de Utilizador (criacao de modelos, operacao remota
XXIX Simpsio Brasileiro de Redes de Computadores e Sistemas Distribudos 971

do ambiente virtual e acesso e gerencia de arquivos). A demostracao sera feita por meio
do acesso remoto ao ambiente ja existente. Caso haja, por motivo de forca maior, a
impossibilidade de acesso, sera utilizado, para a demonstracao, o ambiente de testes,
portado para um computador pessoal ja preparado para tal.

3.2. Exemplo de Solucao Pronta para Uso - Projeto HemoLab


Atualmente conta-se com um projeto piloto de ambientes virtuais de trabalho. O projeto
HeMoLab [HEMOLAB 2010] tem por objetivo desenvolver modelos e ferramentas com-
putacionais para a simulacao do sistema cardiovascular humano. O sistema e composto
por dois modulos de processamento de imagem que permitem a leitura e o processamento
de regioes de interesse e a geracao de malhas tridimensionais de imagens medicas. No
salao serao apresentados os dois modulos como exemplo de aplicacoes de pronto uso e
uma plataforma completa.

4. Conclusoes e Trabalhos Futuros


Este trabalho insere-se dentro do esforco em criar-se ambientes para execucao de
aplicacoes cientficas baseado no uso de recursos virtualizados, sobretudo maquinas vir-
tuais, oferecendo:
Aos seus usuarios, ambientes e aplicacoes dedicadas as suas necessidades, que
possam ser acessados remotamente, portaveis e compatveis com outros ambientes
de virtualizacao e capacidade de armazenamento destes ambientes para uso futuro;
Aos administradores de ambientes virtuais, a capacidade de gerencia de usuarios
e recursos; e
Aos administradores da infraestrutura de recursos, a consolidacao e otimizacao,
contribuindo assim para o seu uso mais racional.
Pode-se apontar como aperfeicoamentos a serem incorporados a este trabalho a
criacao de perfis de usuario e de um mecanismo de balanceamento de carga e de agen-
damento. No primeiro caso, o levantamento de perfis contribuiria para que os recursos
fossem configurados, selecionados e alocados de acordo com os mesmos, adaptando-se
automaticamente as suas necessidade e alocando os recursos que melhor os atendesse com
base no menor custo de rede.
No caso do balanceamento de carga, permitiria a distribuicao mais eficiente dos re-
cursos. A analise e controle da carga dos recursos computacionais disponveis para o fun-
cionamento permitiria a otimizacao do uso da capacidade instalada, auxiliando a previsao
da necessidade de ampliacao desta capacidade, assim como a deteccao de degradacao
da mesma. Pedidos de recursos remotos, espaco em disco e processamento sao execu-
tados a todo instante. Assim um gerenciador autonomo, agindo sobre essas solicitacoes,
contribuiria para a gestao da infraestrutura e qualidade de servico.
Podemos ainda citar a inclusao da funcionalidade de exportacao dos appliances
disponibilizando-os para outras fontes e a importacao daqueles existentes em repositorios
externos ao ambiente (padroes OVF e OVA), passando a ficar disponvel como mais um
recurso para seus usuarios.
O presente trabalho apresenta como contribuicao ter abordado a criacao e o
uso de ambientes virtuais de trabalho em apoio a execucao de aplicacoes cientficas,
972 Anais

tendo como publico alvo especialistas com pouco domnio sobre aspectos relacionados
a configuracao, requisitos ou manutencao, permitindo a estes usuarios acesso remoto e
possibilidade de uso de recursos de alto desempenho. Este trabalho tambem procurou
criar uma ferramenta para a gerencia destes ambiente, desde o nvel da interface para o
controle dos recursos ate o nvel de sua infraestrutura.

Referencias
Epstein, A., Lorenz, D. H., Silvera, E., and Shapira, I. (2010). Virtual appliance content
distribution for a global infrastructure cloud service. In INFOCOM10: Proceedings
of the 29th conference on Information communications, pages 516524, Piscataway,
NJ, USA. IEEE Press.
HEMOLAB (2010). Hemodynamics modelling laboratory.
http://www.lncc.br/prjhemo/main.htm.
Keahey, K., Foster, I., Freeman, T., and Zhang, X. (2005a). Virtual workspaces: Achie-
ving quality of service and quality of life in the grid. Sci. Program., 13(4):265275.
Keahey, K., Foster, I., Freeman, T., and Zhang, X. (2005b). Virtual workspaces in the
grid. In In Proc. of Euro-Par Conf, pages 421431.
Keahey, K. and Freeman, T. (2008). Science clouds: Early experiences in cloud compu-
ting for scientific applications. cloud computing and applications.
Matthews, J. N., Hu, W., Hapuarachchi, M., Deshane, T., Dimatos, D., Hamilton, G.,
McCabe, M., and Owens, J. (2007). Quantifying the performance isolation proper-
ties of virtualization systems. In ExpCS 07: Proceedings of the 2007 workshop on
Experimental computer science, page 6, New York, NY, USA. ACM.
Reich, J., Laadan, O., Brosh, E., Sherman, A., Misra, V., Nieh, J., and Rubenstein, D.
(2010). Vmtorrent: virtual appliances on-demand. In SIGCOMM 10: Proceedings of
the ACM SIGCOMM 2010 conference on SIGCOMM, pages 453454, New York, NY,
USA. ACM.
Rixner, S. (2008). Network virtualization: Breaking the performance barrier. Queue,
6(1):36ff.
Sapuntzakis, C., Brumley, D., Chandra, R., Zeldovich, N., Chow, J., Lam, M. S., and
Rosenblum, M. (2003). Virtual appliances for deploying and maintaining software.
In LISA 03: Proceedings of the 17th USENIX conference on System administration,
pages 181194, Berkeley, CA, USA. USENIX Association.
Yang, C.-T., Tseng, C.-H., Chou, K.-Y., and Tsaur, S.-C. (2010). A virtualized hpc cluster
computing environment on xen with web-based user interface. In Zhang, W., Chen, Z.,
Douglas, C., and Tong, W., editors, High Performance Computing and Applications,
volume 5938 of Lecture Notes in Computer Science, pages 503508. Springer Berlin /
Heidelberg. 10.1007/978-3-642-11842-5 70.

Vous aimerez peut-être aussi