SlideShare uma empresa Scribd logo
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/266136998
Simulando infraestruturas computacionais para a Ubicomp: Um estudo de caso
com o SIMGrid
Conference Paper · July 2013
DOI: 10.13140/2.1.2314.3680
CITATIONS
0
READS
296
2 authors:
Some of the authors of this publication are also working on these related projects:
Cultural Crowds View project
Rodolfo Migon Favaretto
Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense (IFSUL)
44 PUBLICATIONS   132 CITATIONS   
SEE PROFILE
Adenauer Correa Yamin
Universidade Federal de Pelotas
226 PUBLICATIONS   888 CITATIONS   
SEE PROFILE
All content following this page was uploaded by Rodolfo Migon Favaretto on 26 September 2014.
The user has requested enhancement of the downloaded file.
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 1
Simulando infraestruturas computacionais para a
Ubicomp: Um estudo de caso com o SIMGrid
Rodolfo Migon Favaretto, UFPel; Adenauer Corrêa Yamin, UFPel
Resumo—O estudo de grids computacionais na computação ubı́qua, assim como outras áreas da ciência, está baseado
em um conjunto de metodologias e ferramentas. Experimentos em plataformas de sistemas distribuı́dos com grids
computacionais reais, apesar de resultarem em dados mais confiáveis, implicam na consideração de muitos parâmetros,
existem custos com aquisição e infraestrutura e complexas interações ocorrem, o que, muitas vezes, torna a implementação
prática do grid inviável. Como alternativa, existem várias ferramentas de simulação de grids, através das quais torna-se
possı́vel avaliar e comparar o comportamento de diferentes aplicações e algoritmos em diferentes cenários. Este capı́tulo faz
uma revisão dos conceitos de computação ubı́qua e grids computacionais. Também faz um apanhado geral das ferramentas de
simulação Bricks, GangSim, OptorSim, GridSim, apresentando-as sob aspectos como descrição, linguagem de implementação
e plataformas suportadas, apresentando na última seção um estudo de caso com a ferramenta SimGrid.
Palavras-Chave—Computação Ubı́qua, Grids Computacionais, Ferramentas de Simulação, SimGrid.
F
1 Introdução
Aanálise do comportamento de sistemas base-
ados em grids pode ser feita através de mo-
delos de simulação ou analı́ticos, ou por meio da
experimentação de um sistema real. Em sistemas
distribuı́dos como os grids, muitos parâmetros
devem ser considerados, e complexas interações
ocorrem, o que torna a sua modelagem analı́tica
impraticável.
Experimentos em plataformas reais, embora re-
sultem em dados mais confiáveis, apresentam uma
série de limitações: sua escalabilidade, sua pe-
quena possibilidade de reconfiguração de software,
sua dificuldade em juntar diferentes componentes
da infraestrutura de hardware e topologia de rede,
sua dependência em relação a um conjunto de
condições reais, entre outros fatores. Isso faz com
que os resultados obtidos por uma plataforma
real dificilmente sejam representativos de outras
plataformas.
• Rodolfo Migon Favaretto: Programa de Pós-Graduação
em Computação, Universidade Federal de Pelotas - UFPel,
Centro de Desenvolvimento Tecnológigo - CDTec.
E-mail: rmfavaretto@inf.ufpel.edu.br
• Adenauer Corrêa Yamin: Programa de Pós-Graduação
em Computação, Universidade Federal de Pelotas - UFPel.
E-mail: adenauer@inf.ufpel.edu.br
O objetivo deste capı́tulo é desenvolver um
estudo que permita delimitar algumas caracte-
rı́sticas funcionais das mais representativas ferra-
mentas de simulação de grids presentes na litera-
tura. Essas caracterı́sticas servirão de base para
identificar os pontos fortes de cada ferramenta,
auxiliando no processo de especificação das fun-
cionalidades que devem estar presentes em um
ambiente de simulação quando se quer efetuar
algum experimento como por exemplo analisar o
comportamento de uma aplicação ubı́qua em um
ambiente de grid computacional. Traz também
uma série de conceitos relacionados com compu-
tação ubı́bua e grids computacionais.
2 Infra-estruturas para computação
ubı́qua
Esta seção é responsável por apresentar os mais
importantes conceitos e definições de Computação
Ubı́qua e Grids Computacionais, bem como os
princı́pios da área e uma série de conceitos rela-
cionados.
2.1 Computação Ubı́qua
Na primeira Era da Informática, através dos
mainframes, compartilhados por vários usuários,
LABORATORY OF UBIQUITOUS AND PARALLEL SYSTEMS c

 LUPS
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 2
Figura 1. Evolução da Computação
era disponibilizada a computação as pessoas. Atu-
almente, na segunda Era da Informática, tem-
se a era do computador pessoal [1]. O cenário
previsto por Mark Weiser no inı́cio da década
de 1990 é considerado como a Terceira Era da
Informática [2]. A questão abordada por Weiser
é que no futuro a computação estaria presente
até mesmo nos objetos mais banais de nosso dia-
a-dia, como etiquetas de roupas, canetas, livros,
entre outros. Esta computação auxiliaria nas ta-
refas humanas diárias com mı́nimas mudanças
na forma de exercê-las. As tecnologias estariam
entrelaçadas com o cotidiano de tal forma que se
tornariam indistinguı́veis dele.
A Computação Ubı́qua (Ubiquitous Compu-
ting), ou Ubicomp, muitas vezes chamada de
Computação Pervasiva (Pervasive Computing),
é um novo paradigma computacional onde o
usuário dispõe de acesso a computação de forma
invisı́vel e onipresente. Invisı́vel no sentido de
que o usuário não necessita de conhecimentos
especı́ficos da tecnologia para beneficiar-se dela. A
computação passa a fazer parte da vida do usuário
de forma natural. A onipresença se dá ao fato da
possibilidade de uso da tecnologia em qualquer
lugar. A figura 1 ilutra a evolução da computação.
Em [3], os autores defendem que a Computa-
ção Ubı́qua é criada a partir da união de três
outras áreas: Computação Móvel, Computação
em Grade e Computação com Consciência de
Contexto. A seguir são caracterizadas cada uma
das áreas.
• Computação Móvel: Consiste na mobili-
dade tanto de hardware quanto de software.
No caso de hardware pode-se considerar dis-
positivos móveis como notebooks e PDAs. No
caso de software são aplicações que migram
de um dispositivo para outro através de uma
rede sem interromper a computação sendo
realizada.
• Computação em Grade: De acordo com
[4], é basicamente Computação Distribuı́da
em um ambiente de grande heterogeneidade
com recursos dispersos. A próxima geração
de Computação em Grade associa novas tec-
nologias como webservices e peer-to-peer.
• Computação com Consciência de Con-
texto: Estrutura de software inteligente que
se adapta e reage ao ambiente em que está
inserido [5].
Mas há uma distinção entre Computação Per-
vasiva e Ubı́qua, sendo a computação Ubı́qua in-
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 3
tegradora de avanços da Computação Móvel e da
Computação Pervasiva, a computação Pervasiva
é relacionada à capacidade de dispositivos serem
embutidos no universo fı́sico para a obtenção de
informações do meio para a construção dinâmica
de novos modelos computacionais. A questão é
que a Computação Pervasiva é o que integra a
computação e o ambiente fı́sico no qual ela está
imersa [6]. A figura 2 apresenta o Grau de Imersão
Computacional x Mobilidade.
Figura 2. Grau de Imersão Computacional x Mobi-
lidade
Relações entre computação Ubı́qua, Pervasiva e
Móvel
Tendo em vista todas as definições mencionadas,
o termo Computação Ubı́qua será usado aqui
como uma junção da Computação Pervasiva e
da Computação Móvel. A justificativa de se re-
alizar uma diferenciação desses termos é que um
dispositivo que está embutido em um ambiente,
não necessariamente é móvel [7]. Devido a isso,
quando for utilizado o termo Computação Ubı́-
qua, será considerado o alto grau de dispositivos
embarcados da computação Pervasiva juntamente
com o alto grau de mobilidade da computação
Móvel.
Princı́pios da Computação Ubı́qua
De acordo com [7], pelos menos três princı́pios são
identificados na Computação Ubı́qua, a saber:
• Diversidade: Ao contrario do computador
pessoal, que é um dispositivo de propósito
geral que atende várias necessidades distintas
do usuário, os dispositivos ubı́quos acenam
com uma nova visão da funcionalidade do
computador, que é a de propósito especı́fico,
que atende necessidades especı́ficas de usuá-
rios particulares. Apesar de vários disposi-
tivos poderem oferecer funcionalidades que
se sobrepõem, um pode ser mais apropriado
para uma função do que outro.
• Descentralização: Na computação ubı́qua
as responsabilidades são distribuı́das entre
vários dispositivos pequenos que assumem e
executam certas tarefas e funções. Estes dis-
positivos cooperam entre si para a construção
de inteligência no ambiente, que é refletida
nas aplicações.
• Conectividade: Na computação ubı́qua,
tem-se a visão da conectividade sem frontei-
ras, em que dispositivos e as aplicações que
executam neles movem-se juntamente com o
usuário, de forma transparente, entre diver-
sas redes heterogêneas, tais como as redes
sem fio de longa distância, entre outras.
2.2 Grids Computacionais
Grids Computacionais, também conhecidos por
grades, são infraestruturas de computação que
conectam múltiplos recursos computacionais de
diversos computadores para permitir a execu-
ção de aplicações com alta demanda de recursos
computacionais, memória e espaço em disco. A
figura 3 ilustra essa ideia. Neste capı́tulo, toda vez
que houver referência as palavras grid ou grade
computacional, deve-se entender como sinônimos.
A idéia do grid é utilizar todo recurso compu-
tacional ocioso para permitir que novos tipos de
aplicações sejam criados ou estender aplicações
existentes utilizando recursos de sistemas distri-
buı́dos altamente conectados [8].
De acordo com [9], Grids Computacionais nas-
ceram da comunidade de Processamento de Alto
Desempenho, motivada pela utilização de com-
putadores independentes e dispersos como plata-
forma de execução de aplicações paralelas.
O termo grid computacional surgiu da analogia
com as redes de interligação do sistema de energia
elétrica (do inglês power grids), nas quais utiliza-
se a eletricidade sem necessariamente saber a
localizaçãoo fı́sica da usina que a gerou, sendo
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 4
Figura 3. Ambiente de Grid Computacional
sua utilização totalmente transparente aos seus
usuários [10], [11]. Ao contrário dos sistemas dis-
tribuı́dos tradicionais, esse ambiente precisa con-
siderar questões como segurança, acesso uniforme
aos recursos geograficamente distribuı́dos (inde-
pendentemente da localização fı́sica dos mesmos),
descoberta e agregação dinâmica de recursos e
qualidade de serviço. Dessa forma, entre os gran-
des desafios apresentados por esse ambiente, são
mais relevantes [12]:
• heterogeneidade: os recursos de hardware
e software, que constituem o ambiente podem
ser os mais diversos possı́veis e agregam uma
grande quantidade de tecnologias diferentes.
• escalabilidade: o aumento do número de
recursos pode acarretar em perda de desem-
penho do ambiente.
• dinamismo: a natureza dinâmica desse tipo
de ambiente deve ser cuidadosamente tratada
porque a ocorrência de falhas na rede de
comunicação e nas máquinas agregadas pode
alterar a disponibilidade dos recursos.
• compartilhamento de recursos: como os
recursos não são dedicados, pode haver uma
elevada variação na quantidade de poder
computacional disponı́vel no ambiente.
• multiplicidade de domı́nios administra-
tivos: os recursos podem pertencer a di-
ferentes proprietários, cada um com regras
distintas para a gerência e utilização dos
recursos.
Diante de todos esses desafios, é necessário
que a computação em grid ofereça meios para
que o desenvolvedor da aplicação possa escrever
programas em linguagens de alto nı́vel, capazes
de acessar o grid e utilizar seus recursos de forma
eficiente e transparente sem que para isso o usuá-
rio tenha que se preocupar em tratar questões do
ambiente [13].
Os Grids se tornaram possı́veis devido à grande
melhoria em desempenho e redução de custos,
tanto de redes de computadores, quanto de micro-
processadores. Através deles é possı́vel explorar as
potencialidades das redes de computadores, com
o objetivo especı́fico de disponibilizar camadas
virtuais que permitam a um usuário ter apli-
cações altamente exigentes, bem como aderir a
comunidades virtuais de grande escala, com uma
grande diversidade de recursos de computação e
de repositórios de informações [14].
Tipos de Grids Computacionais
Krauter, Buyya e Maheswaran elaboraram em
2002 uma resenha dos principais sistemas de
grades existentes até então [15] e propuseram
uma taxonomia identificando diferentes tipos de
grades. Para eles, uma Grade de Computação
(Computing Grid) é um sistema de Computa-
ção em Grade que visa a integração de recursos
computacionais dispersos para prover uma maior
capacidade combinada de processamento aos seus
usuários.
Já as Grades Computacionais Oportunis-
tas (Opportunistic Grids ou Scavenging Grids)
são um subtipo de grades que utiliza os perı́odos
ociosos de estações de trabalho de funcionários de
uma organização, laboratórios acadêmicos, má-
quinas de estudantes, etc. para formar, dinami-
camente, uma grade de computação.
Grades de Dados (Data Grids) são sistemas
cujo objetivo principal é o acesso, pesquisa e
processamento de grandes volumes de dados, po-
tencialmente distribuı́dos em vários repositórios,
conectados por uma rede de grande área, como
uma WAN.
Grades de Serviços (Service Grids) oferecem
serviços viabilizados pela integração de diversos
recursos computacionais como, por exemplo, um
ambiente para trabalho colaborativo, ou uma pla-
taforma para aprendizado à distância. Uma vari-
ante importante deste tipo de grade são os chama-
dos Colaboratórios (Collaboratories), laborató-
rios fı́sicos compartilhados através da Internet de
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 5
forma que vários pesquisadores e estudantes pos-
sam realizar experimentos cientı́ficos à distância.
Os colaboratórios permitem que laboratórios de
alto custo possam ser compartilhados por pessoas
localizadas em diferentes cidades, reduzindo os
custos e otimizando o uso de recursos escassos.
Principais serviços
Sistemas de grades computacionais são hoje em
dia implementados como uma camada de mid-
dleware que executa sobre sistemas operacionais
convencionais. Esse middleware é responsável por
esconder os detalhes e particularidades dos dife-
rentes sistemas operacionais sobre os quais ele
opera e também por oferecer serviços de alto
nı́vel para a execução de aplicações do usuário.
A Figura 4 apresenta uma arquitetura genérica
implementada pela maioria dos sistemas de gra-
des da atualidade [16].
Figura 4. Arquitetura genérica de uma grade com-
putacional
O Agente de Acesso é o principal ponto
de acesso para usuários em sua interação com
a grade. Ele é executado em cada nó a partir
do qual aplicações serão submetidas para execu-
ção na grade. Além de possibilitar a execução
de aplicações, ele deve permitir ao usuário que
especifique requisitos e parâmetros da execução,
deve permitir que o usuário monitore a execução
de suas aplicações e deve auxiliar na coleta dos
resultados gerados pelas aplicações. Muitos sis-
temas de grades implementam uma versão Web
do agente de acesso permitindo que o usuário
interaja com a grade usando um navegador Web
qualquer.
O Serviço Local de Oferta de Recursos
é executado nas máquinas que exportam seus
recursos para a grade e é responsável por exe-
cutar aplicações nos nós da grade. Para tanto, ele
precisa obter o código executável da aplicação,
iniciar sua execução (normalmente em um novo
processo), coletar e apresentar eventuais erros que
possam ocorrer durante ou antes da execução da
aplicação e devolver os resultados da execução
da aplicação para o usuário que a solicitou. Este
serviço é também responsável por gerenciar o
uso local dos recursos de um determinado nó e
por prover, para a grade, informações sobre a
disponibilidade de recursos neste nó.
O Serviço Global de Gerenciamento de
Recursos é responsável por monitorar o estado
dos recursos compartilhados em toda a grade e
por responder a solicitações de utilização desses
recursos. Para tanto, ele auxilia o Serviço de
Escalonamento a efetuar o casamento das requi-
sições por recursos solicitadas pelos usuários com
as ofertas de recursos. Ele mantém informações
dinamicamente atualizadas sobre quais aglome-
rados e quais nós estão com recursos disponı́veis
e dados sobre a utilização destes recursos como,
por exemplo, utilização do processador, quanti-
dade de memória RAM disponı́vel, quantidade de
espaço em disco disponı́vel, etc. Por esse motivo,
ele pode também ser chamado de Serviço de
Informações sobre Recursos. Em alguns casos,
esse serviço pode também ser responsável por de-
tectar falhas nos nós da grade e notificar o agente
de acesso sobre erros na execução de aplicações
presentes nos nós com problemas.
O Serviço de Escalonamento determina,
para cada aplicação, onde e quando ela irá ser
executada. Ele recebe solicitações de execução de
aplicações, obtém informações sobre a disponibili-
dade de recursos consultando o Serviço de Global
de Gerenciamento de Recursos e determina a
ordem e o local de execução das aplicações ou das
diferentes tarefas de uma aplicação.
Finalmente, o Serviço de Segurança é res-
ponsável por três tarefas principais: (i) proteger
os recursos compartilhados de forma que um nó
que exporta seus recursos para a grade não sofra
ataques executados por aplicações maliciosas, (ii)
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 6
autenticação dos usuários de forma que se saiba
quem é responsável por cada aplicação e pela
sua execução, permitindo que sejam estabelecidas
relações de confiança e que usuários sejam respon-
sabilizados pelos seus atos e (iii) fornecer canais
seguros de comunicação garantindo a integridade
e confiabilidade dos dados.
A forma como estes serviços são organizados,
agrupados e implementados pode variar muito de
um middleware de grades para outro. Mas, de
forma geral, todos os principais sistemas de grades
oferecem essas funcionalidades.
3 Ferramentas de simulação
Nesta seção, serão apresentadas as principais fer-
ramentas de simulação de grids computacionais
presentes na literatura, com a intenção de ressal-
tar alguns de seus principais aspectos e caracte-
rı́sticas. As ferramentas aqui relatadas darão um
panorama do estado da arte no que diz respeito
a simulação de infraestruturas em grids.
As ferramentas aqui tratadas serão GridSim,
Bricks, GangSim e OptorSim. Na seção seguinte,
será realizado um estudo de caso com a ferrameta
SimGrid, motivo pelo qual ela não é citada nesta
seção.
3.1 GridSim
O GridSim [17] é um toolkit que propõe facilitar
a simulação de diferentes classes de recursos he-
terogêneos, usuários, aplicações e escalonadores.
Ele pode ser usado para simular escalonadores de
tarefas, para sistemas distribuı́dos como clusters
(um único domı́nio administrativo) e grids (múlti-
plos domı́nios administrativos). A tabela 1 resume
algumas caracterı́sticas dessa ferramenta.
Tabela 1
Alguns aspectos da ferramenta GridSim
Aspectos GridSim
Linguagem de Implementação Java
Plataformas Suportadas S.O com JVM
Interface da ferramenta Modo texto e GUI
Suporte a simulação multithreaded Sim
Dentre as principais funcionalidades da ferra-
menta GridSim, podem ser citadas as seguintes:
• Possibilita o estudo de diversos aspectos re-
lacionados a um grid ou sistemas paralelos,
como clusters.
• Permite a modelagem de aplicações com di-
ferentes modelos de paralelismo.
• Possui extensões que facilitam o estudo de
dados e aspectos especı́ficos da rede do grid.
3.2 Bricks
Bricks é uma ferramenta de avaliação de desem-
penho que permite a análise e comparação de
diferentes estratégias de escalonamento de tarefas
em sistemas computacionais de alto desempenho
de escala global, como grids [18].
A ferramenta é empregada para simular diver-
sos conceitos de um sistema computacional distri-
buı́do, como o de algoritmos de escalonamento, da
topologia de sistemas cliente-servidor e de estra-
tégias de processamento para redes e servidores.
A tabela 2 resume algumas caracterı́sticas dessa
ferramenta.
Tabela 2
Alguns aspectos da ferramenta Bricks
Aspectos Bricks
Linguagem de Implementação Java
Plataformas Suportadas S.O com JVM
Interface da ferramenta Modo texto
Suporte a simulação multithreaded Não
Como funcionalidades da ferramenta Bricks,
destacan-se as seguintes:
• Voltado ao estudo de algoritmos de escalona-
mento de tarefas.
• Permite a integração de ferramentas externas
ao simulador.
• Estabelece um modelo de grid que facilita a
análise das interações cliente-servidor.
3.3 GangSim
O simulador GangSim foi criado para auxiliar
estudos de estratégias de escalonamento em am-
bientes de grid. Estes estudos procuram avaliar
o impacto das polı́ticas de alocação de recursos
adotadas por sites e organizações virtuais (VO)
no desempenho apresentado por tais sites e VOs.
A ferramenta simula, assim, grandes grupos ou
gangs de sites e usuários [19]. A tabela 3 resume
algumas caracterı́sticas dessa ferramenta.
A seguir são listadas algumas funcionalidades
da ferramenta GangSim:
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 7
Tabela 3
Alguns aspectos da ferramenta GangSim
Aspectos GangSim
Linguagem de Implementação Perl
Plataformas Suportadas Linux
Interface da ferramenta Modo texto
Suporte a simulação multithreaded Não
• Voltado para a avaliação do impacto das
polı́ticas de alocação de recursos adotadas
por sites e Organizações Virtuais.
• Possibilidade de integrar instâncias de simu-
lação com ferramentas de monitoração.
• Acesso remoto via interface Web.
3.4 OptorSim
A ferramenta Optorsim [20] é um simulador pro-
jetado como um framework modularizado, com o
qual podem ser estudadas estratégias de escalo-
namento que utilizam o conceito de replicação de
dados.
A replicação significa criação de cópias de
dados em recursos geograficamente distribuı́dos,
uma das principais técnicas de otimização na
redução do custo de acesso aos dados. Trata-
se, dessa forma, de um simulador voltado para
grids de dados, nos quais as transferências de
dados constituem um importante fator limitante
do desempenho das tarefas executadas. A tabela 4
resume algumas caracterı́sticas dessa ferramenta.
Tabela 4
Alguns aspectos da ferramenta OptorSim
Aspectos OptorSim
Linguagem de Implementação Java
Plataformas Suportadas S.O com JV
Interface da ferramenta Modo texto e GUI
Suporte a simulação multithreaded Sim
Alguma das funcionalidades da ferramenta Op-
torSim são apresentadas abaixo:
• Voltado ao estudo de algoritmos de escalona-
mento de tarefas que empregam o conceito de
replicação.
• Adota um modelo de grid, que facilita a
avaliação de grids de dados.
• Provê interface gráfica para facilitar a cons-
trução de simulações e sua análise.
4 Estudo de caso: SimGrid
A ferramenta SimGrid, concebida em 1999, foi
fruto de um projeto de pós-doutorado desen-
volvido por Henri Casanova. A motivação foi a
necessidade de se utilizar simulação, ao invés de
experimentos reais, no estudo prático de algorit-
mos de escalonamento para aplicações cientı́ficas
paralelas em plataformas computacionais distri-
buı́das e heterogêneas [21].
A tabela 5 resume alguns aspectos da ferra-
menta SimGrid.
Tabela 5
Alguns aspectos da ferramenta SimGrid
Aspectos SimGrid
Linguagem de Implementação C
Plataformas Suportadas Linux, Mac, Win
Interface da ferramenta Modo texto
Suporte a simulação multithreaded Não
Dentre as caracterı́sticas da ferramenta Sim-
Grid, destacam-se as seguintes:
• Facilita o estudo de estratégias de escalona-
mento de tarefas.
• Provê componente que auxilia o desenvolvi-
mento de aplicações reais para grids.
• Provê componente que auxilia o desenvolvi-
mento de programas MPI.
• Provê componente para a avaliação de tarefas
paralelas em sistemas distribuı́dos.
Arquitetura do SimGrid
A arquitetura do SimGrid, ilustrada na figura 5
mostra os componentes da arquitetura e suas re-
lações. Cada componente é descrito na sequência.
1) Ambiente MSG
O ambiente MSG visa a realização de simulações
em termos de agentes de comunicação. É usual-
mente utilizado no estudo de heurı́sticas para um
problema, possibilitando uma comparação entre
elas. O realismo da simulação não é objetivo
principal deste módulo, e muitos detalhes técnicos
da plataforma do grid são omitidos.
2) Ambiente GRAS
GRAS (Grid Reality and Simulation) é um ambi-
ente concebido como um framework que facilita o
desenvolvimento de aplicações distribuı́das orien-
tadas a eventos.
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 8
Figura 5. Componentes do SimGrid e suas relações
3) Ambiente SMPI
O ambiente SMPI é um framework que permite
executar aplicações MPI não alteradas, tanto em
modo de simulação, quanto em modo de aplicação
real (atuando como um GRAS para MPI).
4) Ambiente SimDag
Este ambiente é dedicado à simulação de aplica-
ções paralelas, por meio do modelo DAG (Direct
Acyclic Graphs). Com este modelo é possı́vel
especificar relações de dependência entre tarefas
de um programa paralelo.
5) Camada SURF (núcleo do simulador)
Logo abaixo da camada formada pelos ambientes
de programação, há o núcleo de todos os simula-
dores implementados pelo SimGrid, denominado
SURF. Este núcleo provê um conjunto de funcio-
nalidades para simular uma plataforma virtual.
6) Camada XBT
A camada XBT (eXtended Bundle of Tools)
implementa diversas funcionalidades, dentre elas
estruturas de dados usadas pelo SURF, serviço
de Direct Acyclic Graphs, biblioteca de funções
para representação e manipulação de grafos. Além
disso, o XBT provê suporte à portabilidade da
ferramenta.
5 Considerações Finais
Neste estudo foram revisados os conceitos de
Computação Ubı́qua e Grids Computacionais.
Também foram apresentadas algumas das prin-
cipais ferramentas de simulação para grades de
computadores presentes na literatura.
Ao traçar estes aspectos de cada simulador,
é possı́vel determinar qual simulador utilizar
quando se quer analisar o comportamento de
determinados programas e algoritmos em ambi-
entes de grids computacionais sem que haja a
necessidade de se ter um ambiente de grade real.
Referências
[1] Mark Weiser. The Computer for the 21st Century. Scien-
tific American, 265(3):94–104, September 1991.
[2] Jan Krikke. T-engine: Japan’s ubiquitous computing
architecture is ready for prime time. IEEE Pervasive
Computing, 4:4–9, April 2005.
[3] Adenauer Yamin, Iara Augustin, Luciano Cavalheiro
da Silva, Rodrigo Araujo Real, Alberto E. Schaeffer Filho,
and Claudio F. Resin Geyer. Exehda: adaptive middleware
for building a pervasive grid environment. In Proceeding of
the 2005 conference on Self-Organization and Autonomic
Informatics (I), pages 203–219, Amsterdam, The Nether-
lands, The Netherlands, 2005. IOS Press.
[4] Adenauer Corrêa Yamin. Arquitetura para um ambiente
de grade computacional direcionada às aplicações distri-
buı́das, móveis e conscientes de contexto da computação
pervasiva. Tese de doutorado em ciência da computação,
Instituto de Informática-UFRGS, Porto Alegre-RS, 2004.
[5] Bill N. Schilit and Marvin M. Theimer. Disseminating
active map information to mobile hosts, 1994.
[6] C.; Souza C. H. M. Bolsoni, E. P.; Cardoso. Compu-
tação ubı́qua, cloud computing e plc para continuidade
comunicacional diante de desastres. Anais eletrônicos V
Seminário Internacional de Defesa Civil - DEFENCIL,
2009.
[7] R. B. Araujo. Computação ubı́qua: princı́pios, tecnologias
e desafios. XXI Simpósio Brasileiro de Redes de Compu-
tadores, pages 45–115, 2003.
REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 9
[8] Ian Foster, Carl Kesselman, and Steven Tuecke. The ana-
tomy of the grid: Enabling scalable virtual organizations.
Int. J. High Perform. Comput. Appl., 15:200–222, August
2001.
[9] Ian Foster and Carl Kesselman, editors. The grid: blue-
print for a new computing infrastructure. Morgan Kauf-
mann Publishers Inc., San Francisco, CA, USA, 1999.
[10] Ian Foster, Carl Kesselman, Jeffrey M. Nick, and Steven
Tuecke. Grid services for distributed system integration.
Computer, 35:37–46, June 2002.
[11] Ian Foster and Carl Kesselman. The Grid 2: Blueprint
for a New Computing Infrastructure. Morgan Kaufmann
Publishers Inc., San Francisco, CA, USA, 2003.
[12] Parvin Asadzadeh, Rajkumar Buyya, Chun Ling Kei,
Deepa Nayar, and Srikumar Venugopal. Global grids
and software toolkits: A study of four grid middleware
technologies. In HIGH PERFORMANCE COMPUTING:
PARADIGM AND INFRASTRUCTURE, LAURENCE
YANG AND MINYI GUO (EDS), ISBN: 0-471-65471-X.
Wiley Press, 2005.
[13] Aletéia Patrı́cia Favacho Araújo. Paralelização autonô-
mica de metaheurı́sticas em ambientes de grid. Tese
de doutorado em ciência da computação, Pontifı́cia Uni-
versidade Católica do Rio de Janeiro/PUC-Rio, Rio de
Janeiro,RJ, 2008.
[14] Mark Baker, Rajkumar Buyya, and Domenico Laforenza.
Grids and grid technologies for wide-area distributed com-
puting. Softw. Pract. Exper., 32:1437–1466, December
2002.
[15] Klaus Krauter, Rajkumar Buyya, and Muthucumaru
Maheswaran. A taxonomy and survey of grid resource
management systems for distributed computing. Softw.
Pract. Exper., 32:135–164, 2002.
[16] Goldchleger A. Carneiro M. R. F. de Camargo, R. Y.
and F. Kon. Pattern Languages of Program Design 5
(PLoPd5), chapter The Grid Architectural Pattern: Leve-
raging Distributed Processing Capabilities. Pages 337 - 356.
Addison-Wesley., 2006.
[17] Rajkumar Buyya and Manzur Murshed. Gridsim: A
toolkit for the modeling and simulation of distributed
resource management and scheduling for grid computing.
CONCURRENCY AND COMPUTATION: PRACTICE
AND EXPERIENCE (CCPE, 14(13):1175–1220, 2002.
[18] Atsuko Takefusa, Satoshi Matsuoka, Kento Aida, Hide-
moto Nakada, and Umpei Nagashima. Overview of a
performance evaluation system for global computing sche-
duling algorithms. In Proceedings of the 8th IEEE In-
ternational Symposium on High Performance Distributed
Computing, HPDC ’99, pages 11–, Washington, DC, USA,
1999. IEEE Computer Society.
[19] C. L. Dumitrescu and I. Foster. Gangsim: a simulator
for grid scheduling studies. In Proceedings of the Fifth
IEEE International Symposium on Cluster Computing and
the Grid (CCGrid’05) - Volume 2 - Volume 02, CCGRID
’05, pages 1151–1158, Washington, DC, USA, 2005. IEEE
Computer Society.
[20] William H. Bell, David G. Cameron, Luigi Capozza,
A. Paul Millar, Kurt Stockinger, and Floriano Zini. Optor-
sim - a grid simulator for studying dynamic data replica-
tion strategies. International Journal of High Performance
Computing Applications, page 2003, 2003.
[21] Henri Casanova. Simgrid: A toolkit for the simulation of
application scheduling. In Proceedings of the 1st Inter-
national Symposium on Cluster Computing and the Grid,
CCGRID ’01, pages 430–, Washington, DC, USA, 2001.
IEEE Computer Society.
Rodolfo Migon Favaretto Mestrando do
Programa de Pós-Graduação em Computa-
ção da UFPel. Também é pós-graduando
Lato Sensu em Engenharia de Sistemas pela
ESAB Escola Superior Aberta do Brasil Vila
Velha ES. Possui Bacharelado (2011) em
Ciência da Computação pela Universidade
Regional Integrada do Alto Uruguai e das
Missões - URI Campus de Erechim. Atua nas
áreas de Sistemas Distribuı́dos, Arquiteturas de Computadores,
Desenvolvimento de aplicações Web e linguagens de programação.
Adenauer Corrêa Yamin possui graduação
em Engenharia Elétrica pela Universidade
Católica de Pelotas (UCPEL, 1981), mes-
trado e doutorado em Computação pela
Universidade Federal do Rio Grande do Sul
(UFRGS, 1994 e 2004). Atua como professor
do Programa de Pós-Graduação em Compu-
tação da UFPEL, e do Centro Politécnico da
UCPEL. Tem pesquisado na área de ambi-
entes de execução paralelos e distribuı́dos para grades e nuvens
computacionais, middlewares e aplicações conscientes de contexto
na computação ubı́qua.
View publication stats
View publication stats

Mais conteúdo relacionado

Mais procurados

Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíqua
Rômulo Rodrigues, MBA
 
Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíqua
Rômulo Rodrigues, MBA
 
Computação Ubíqua
Computação UbíquaComputação Ubíqua
Computação Ubíqua
herickfaro
 
Computação Ubiqua e Verde
Computação Ubiqua e VerdeComputação Ubiqua e Verde
Computação Ubiqua e Verde
elliando dias
 
Computação Ubíqua e Pervasiva
Computação Ubíqua e PervasivaComputação Ubíqua e Pervasiva
Computação Ubíqua e Pervasiva
João Carlos Ottobboni
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
Luiz Matos
 
Computação Móvel e Ubíqua
Computação Móvel e UbíquaComputação Móvel e Ubíqua
Computação Móvel e Ubíqua
Iury Teixeira
 
Computação Ubíqua
Computação Ubíqua Computação Ubíqua
Computação Ubíqua
Prefeitura de Niterói
 
Computação Ubíqua (Versão Final)
Computação Ubíqua (Versão Final)Computação Ubíqua (Versão Final)
Computação Ubíqua (Versão Final)
herickfaro
 
Computação Ubíqua
Computação UbíquaComputação Ubíqua
Computação Ubíqua
Waldir R. Pires Jr
 
UFAL EAD - Seminário aoc - computação pervasiva - 2015
UFAL EAD - Seminário aoc - computação pervasiva - 2015UFAL EAD - Seminário aoc - computação pervasiva - 2015
UFAL EAD - Seminário aoc - computação pervasiva - 2015
Carlos Roberto IV
 
Computação Pervasiva: um paradigma para o século 21
Computação Pervasiva: um paradigma para o século 21Computação Pervasiva: um paradigma para o século 21
Computação Pervasiva: um paradigma para o século 21
Rafael Reis
 
Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...
Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...
Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...
Mauro Pinheiro
 
ACM Computação Ubíqua Final
ACM Computação Ubíqua FinalACM Computação Ubíqua Final
ACM Computação Ubíqua Final
herickfaro
 
Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...
Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...
Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...
Mauro Pinheiro
 
Computação Pervasiva
Computação PervasivaComputação Pervasiva
Computação Pervasiva
lucaslsantoss
 
AuraMiddleware
AuraMiddlewareAuraMiddleware
AuraMiddleware
Vinícius Fraga
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
Waldir R. Pires Jr
 
Design da interação / Design da experiência: considerações sobre um campo de ...
Design da interação / Design da experiência: considerações sobre um campo de ...Design da interação / Design da experiência: considerações sobre um campo de ...
Design da interação / Design da experiência: considerações sobre um campo de ...
Mauro Pinheiro
 
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
Vando Batista
 

Mais procurados (20)

Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíqua
 
Computação ubíqua
Computação ubíquaComputação ubíqua
Computação ubíqua
 
Computação Ubíqua
Computação UbíquaComputação Ubíqua
Computação Ubíqua
 
Computação Ubiqua e Verde
Computação Ubiqua e VerdeComputação Ubiqua e Verde
Computação Ubiqua e Verde
 
Computação Ubíqua e Pervasiva
Computação Ubíqua e PervasivaComputação Ubíqua e Pervasiva
Computação Ubíqua e Pervasiva
 
Computacao Movel Ubiqua
Computacao Movel UbiquaComputacao Movel Ubiqua
Computacao Movel Ubiqua
 
Computação Móvel e Ubíqua
Computação Móvel e UbíquaComputação Móvel e Ubíqua
Computação Móvel e Ubíqua
 
Computação Ubíqua
Computação Ubíqua Computação Ubíqua
Computação Ubíqua
 
Computação Ubíqua (Versão Final)
Computação Ubíqua (Versão Final)Computação Ubíqua (Versão Final)
Computação Ubíqua (Versão Final)
 
Computação Ubíqua
Computação UbíquaComputação Ubíqua
Computação Ubíqua
 
UFAL EAD - Seminário aoc - computação pervasiva - 2015
UFAL EAD - Seminário aoc - computação pervasiva - 2015UFAL EAD - Seminário aoc - computação pervasiva - 2015
UFAL EAD - Seminário aoc - computação pervasiva - 2015
 
Computação Pervasiva: um paradigma para o século 21
Computação Pervasiva: um paradigma para o século 21Computação Pervasiva: um paradigma para o século 21
Computação Pervasiva: um paradigma para o século 21
 
Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...
Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...
Design de interação e computação Pervasiva: um estudo sobre mecanismos atenci...
 
ACM Computação Ubíqua Final
ACM Computação Ubíqua FinalACM Computação Ubíqua Final
ACM Computação Ubíqua Final
 
Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...
Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...
Implicações da Inteligência Ambiental para a Arquitetura de Informação e o De...
 
Computação Pervasiva
Computação PervasivaComputação Pervasiva
Computação Pervasiva
 
AuraMiddleware
AuraMiddlewareAuraMiddleware
AuraMiddleware
 
Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014Proposta de Projeto de Pesquisa - CEFET - 2014
Proposta de Projeto de Pesquisa - CEFET - 2014
 
Design da interação / Design da experiência: considerações sobre um campo de ...
Design da interação / Design da experiência: considerações sobre um campo de ...Design da interação / Design da experiência: considerações sobre um campo de ...
Design da interação / Design da experiência: considerações sobre um campo de ...
 
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
"Descobrindo a Computação Ubíqua" UNIFOR Abril 2004
 

Semelhante a Simulando infraestruturas-computacionais-para-a-ubicomp

Um estudo sobre computação em nuvem
Um estudo sobre computação em nuvemUm estudo sobre computação em nuvem
Um estudo sobre computação em nuvem
UNIEURO
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Justino Lourenço
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuárioEucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Gustavo Henrique Rodrigues Pinto Tomas
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
Luciene Costa Rodrigues
 
MOBILIDADE ESCRITO
MOBILIDADE ESCRITOMOBILIDADE ESCRITO
MOBILIDADE ESCRITO
Barbosa10
 
Sistemas para Internet e Software Livre
Sistemas para Internet e Software LivreSistemas para Internet e Software Livre
Sistemas para Internet e Software Livre
Helder Lopes
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
Vitor Savicki
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
Marlon Paranhos
 
Sexta geraçao
Sexta geraçaoSexta geraçao
Sexta geraçao
Fabiano Matozinhos
 
Apostila fundamentos de rede
Apostila fundamentos de redeApostila fundamentos de rede
Apostila fundamentos de rede
Neia Gouvêa Opazo
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
Allan Reis
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
Andressa Silveira
 
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Ministério Público da Paraíba
 
Monografia Computação na Névoa
Monografia Computação na NévoaMonografia Computação na Névoa
Monografia Computação na Névoa
Bruno Oliveira
 
Aula01_IntroIHC.pdf
Aula01_IntroIHC.pdfAula01_IntroIHC.pdf
Aula01_IntroIHC.pdf
Humberto Lidio Antonelli
 
Cloud computing
Cloud computingCloud computing
Cloud computing
Jarbas Pereira
 
Fog computing2016
Fog computing2016Fog computing2016
Apostila redes prof_diegofiori_vfinal
Apostila redes prof_diegofiori_vfinalApostila redes prof_diegofiori_vfinal
Apostila redes prof_diegofiori_vfinal
Odilon Junior
 
ICC-02 Evolução dos Computadores
ICC-02 Evolução dos ComputadoresICC-02 Evolução dos Computadores
ICC-02 Evolução dos Computadores
Eduardo Nicola F. Zagari
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
GrupoAlves - professor
 

Semelhante a Simulando infraestruturas-computacionais-para-a-ubicomp (20)

Um estudo sobre computação em nuvem
Um estudo sobre computação em nuvemUm estudo sobre computação em nuvem
Um estudo sobre computação em nuvem
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuárioEucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
Eucalyptus uma plataforma de cloud computing para qualquer tipo de usuário
 
Computação em nuvem
Computação em nuvemComputação em nuvem
Computação em nuvem
 
MOBILIDADE ESCRITO
MOBILIDADE ESCRITOMOBILIDADE ESCRITO
MOBILIDADE ESCRITO
 
Sistemas para Internet e Software Livre
Sistemas para Internet e Software LivreSistemas para Internet e Software Livre
Sistemas para Internet e Software Livre
 
Desenvolvimento em Nuvem
Desenvolvimento em NuvemDesenvolvimento em Nuvem
Desenvolvimento em Nuvem
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
 
Sexta geraçao
Sexta geraçaoSexta geraçao
Sexta geraçao
 
Apostila fundamentos de rede
Apostila fundamentos de redeApostila fundamentos de rede
Apostila fundamentos de rede
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
 
Tecnologia front end back-end
Tecnologia front end back-end Tecnologia front end back-end
Tecnologia front end back-end
 
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
Tecnologias Atuais de Redes - Aula 6 - Cloud Computing [Apostila]
 
Monografia Computação na Névoa
Monografia Computação na NévoaMonografia Computação na Névoa
Monografia Computação na Névoa
 
Aula01_IntroIHC.pdf
Aula01_IntroIHC.pdfAula01_IntroIHC.pdf
Aula01_IntroIHC.pdf
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Fog computing2016
Fog computing2016Fog computing2016
Fog computing2016
 
Apostila redes prof_diegofiori_vfinal
Apostila redes prof_diegofiori_vfinalApostila redes prof_diegofiori_vfinal
Apostila redes prof_diegofiori_vfinal
 
ICC-02 Evolução dos Computadores
ICC-02 Evolução dos ComputadoresICC-02 Evolução dos Computadores
ICC-02 Evolução dos Computadores
 
Computação de alta performance
Computação de alta performanceComputação de alta performance
Computação de alta performance
 

Mais de Ademar Trindade

pesquisa-mercadolc3b3gica-aula-2-2017.ppt
pesquisa-mercadolc3b3gica-aula-2-2017.pptpesquisa-mercadolc3b3gica-aula-2-2017.ppt
pesquisa-mercadolc3b3gica-aula-2-2017.ppt
Ademar Trindade
 
pesquisacientifica.ppt
pesquisacientifica.pptpesquisacientifica.ppt
pesquisacientifica.ppt
Ademar Trindade
 
aula-091.ppt
aula-091.pptaula-091.ppt
aula-091.ppt
Ademar Trindade
 
va_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.ppt
va_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.pptva_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.ppt
va_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.ppt
Ademar Trindade
 
AULA_ORIENTATIVO_TCC.pptx
AULA_ORIENTATIVO_TCC.pptxAULA_ORIENTATIVO_TCC.pptx
AULA_ORIENTATIVO_TCC.pptx
Ademar Trindade
 
AULA_INTRODUÇÃO_PARTE_1.pptx
AULA_INTRODUÇÃO_PARTE_1.pptxAULA_INTRODUÇÃO_PARTE_1.pptx
AULA_INTRODUÇÃO_PARTE_1.pptx
Ademar Trindade
 
AULA_INTRODUÇÃO_PARTE_0.pptx
AULA_INTRODUÇÃO_PARTE_0.pptxAULA_INTRODUÇÃO_PARTE_0.pptx
AULA_INTRODUÇÃO_PARTE_0.pptx
Ademar Trindade
 
TCC Tiago Barreto de Lima.pdf
TCC Tiago Barreto de Lima.pdfTCC Tiago Barreto de Lima.pdf
TCC Tiago Barreto de Lima.pdf
Ademar Trindade
 
Isa madapt tese
Isa madapt teseIsa madapt tese
Isa madapt tese
Ademar Trindade
 
4452
44524452
2007 alexandre rodriguesgomes
2007 alexandre rodriguesgomes2007 alexandre rodriguesgomes
2007 alexandre rodriguesgomes
Ademar Trindade
 
170557670 pesquisa-e-ordenacao
170557670 pesquisa-e-ordenacao170557670 pesquisa-e-ordenacao
170557670 pesquisa-e-ordenacao
Ademar Trindade
 
7082 texto do artigo-33807-2-10-20180903
7082 texto do artigo-33807-2-10-201809037082 texto do artigo-33807-2-10-20180903
7082 texto do artigo-33807-2-10-20180903
Ademar Trindade
 
00011
0001100011
08 ordenacao
08 ordenacao08 ordenacao
08 ordenacao
Ademar Trindade
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
Ademar Trindade
 
01
0101
0001
00010001
000
000000
Top0
Top0Top0

Mais de Ademar Trindade (20)

pesquisa-mercadolc3b3gica-aula-2-2017.ppt
pesquisa-mercadolc3b3gica-aula-2-2017.pptpesquisa-mercadolc3b3gica-aula-2-2017.ppt
pesquisa-mercadolc3b3gica-aula-2-2017.ppt
 
pesquisacientifica.ppt
pesquisacientifica.pptpesquisacientifica.ppt
pesquisacientifica.ppt
 
aula-091.ppt
aula-091.pptaula-091.ppt
aula-091.ppt
 
va_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.ppt
va_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.pptva_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.ppt
va_Arte_Pesquisar_II_Estratégia_busca_fontes_informação_2019.ppt
 
AULA_ORIENTATIVO_TCC.pptx
AULA_ORIENTATIVO_TCC.pptxAULA_ORIENTATIVO_TCC.pptx
AULA_ORIENTATIVO_TCC.pptx
 
AULA_INTRODUÇÃO_PARTE_1.pptx
AULA_INTRODUÇÃO_PARTE_1.pptxAULA_INTRODUÇÃO_PARTE_1.pptx
AULA_INTRODUÇÃO_PARTE_1.pptx
 
AULA_INTRODUÇÃO_PARTE_0.pptx
AULA_INTRODUÇÃO_PARTE_0.pptxAULA_INTRODUÇÃO_PARTE_0.pptx
AULA_INTRODUÇÃO_PARTE_0.pptx
 
TCC Tiago Barreto de Lima.pdf
TCC Tiago Barreto de Lima.pdfTCC Tiago Barreto de Lima.pdf
TCC Tiago Barreto de Lima.pdf
 
Isa madapt tese
Isa madapt teseIsa madapt tese
Isa madapt tese
 
4452
44524452
4452
 
2007 alexandre rodriguesgomes
2007 alexandre rodriguesgomes2007 alexandre rodriguesgomes
2007 alexandre rodriguesgomes
 
170557670 pesquisa-e-ordenacao
170557670 pesquisa-e-ordenacao170557670 pesquisa-e-ordenacao
170557670 pesquisa-e-ordenacao
 
7082 texto do artigo-33807-2-10-20180903
7082 texto do artigo-33807-2-10-201809037082 texto do artigo-33807-2-10-20180903
7082 texto do artigo-33807-2-10-20180903
 
00011
0001100011
00011
 
08 ordenacao
08 ordenacao08 ordenacao
08 ordenacao
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
01
0101
01
 
0001
00010001
0001
 
000
000000
000
 
Top0
Top0Top0
Top0
 

Simulando infraestruturas-computacionais-para-a-ubicomp

  • 1. See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/266136998 Simulando infraestruturas computacionais para a Ubicomp: Um estudo de caso com o SIMGrid Conference Paper · July 2013 DOI: 10.13140/2.1.2314.3680 CITATIONS 0 READS 296 2 authors: Some of the authors of this publication are also working on these related projects: Cultural Crowds View project Rodolfo Migon Favaretto Instituto Federal de Educação, Ciência e Tecnologia Sul-Rio-Grandense (IFSUL) 44 PUBLICATIONS   132 CITATIONS    SEE PROFILE Adenauer Correa Yamin Universidade Federal de Pelotas 226 PUBLICATIONS   888 CITATIONS    SEE PROFILE All content following this page was uploaded by Rodolfo Migon Favaretto on 26 September 2014. The user has requested enhancement of the downloaded file.
  • 2. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 1 Simulando infraestruturas computacionais para a Ubicomp: Um estudo de caso com o SIMGrid Rodolfo Migon Favaretto, UFPel; Adenauer Corrêa Yamin, UFPel Resumo—O estudo de grids computacionais na computação ubı́qua, assim como outras áreas da ciência, está baseado em um conjunto de metodologias e ferramentas. Experimentos em plataformas de sistemas distribuı́dos com grids computacionais reais, apesar de resultarem em dados mais confiáveis, implicam na consideração de muitos parâmetros, existem custos com aquisição e infraestrutura e complexas interações ocorrem, o que, muitas vezes, torna a implementação prática do grid inviável. Como alternativa, existem várias ferramentas de simulação de grids, através das quais torna-se possı́vel avaliar e comparar o comportamento de diferentes aplicações e algoritmos em diferentes cenários. Este capı́tulo faz uma revisão dos conceitos de computação ubı́qua e grids computacionais. Também faz um apanhado geral das ferramentas de simulação Bricks, GangSim, OptorSim, GridSim, apresentando-as sob aspectos como descrição, linguagem de implementação e plataformas suportadas, apresentando na última seção um estudo de caso com a ferramenta SimGrid. Palavras-Chave—Computação Ubı́qua, Grids Computacionais, Ferramentas de Simulação, SimGrid. F 1 Introdução Aanálise do comportamento de sistemas base- ados em grids pode ser feita através de mo- delos de simulação ou analı́ticos, ou por meio da experimentação de um sistema real. Em sistemas distribuı́dos como os grids, muitos parâmetros devem ser considerados, e complexas interações ocorrem, o que torna a sua modelagem analı́tica impraticável. Experimentos em plataformas reais, embora re- sultem em dados mais confiáveis, apresentam uma série de limitações: sua escalabilidade, sua pe- quena possibilidade de reconfiguração de software, sua dificuldade em juntar diferentes componentes da infraestrutura de hardware e topologia de rede, sua dependência em relação a um conjunto de condições reais, entre outros fatores. Isso faz com que os resultados obtidos por uma plataforma real dificilmente sejam representativos de outras plataformas. • Rodolfo Migon Favaretto: Programa de Pós-Graduação em Computação, Universidade Federal de Pelotas - UFPel, Centro de Desenvolvimento Tecnológigo - CDTec. E-mail: rmfavaretto@inf.ufpel.edu.br • Adenauer Corrêa Yamin: Programa de Pós-Graduação em Computação, Universidade Federal de Pelotas - UFPel. E-mail: adenauer@inf.ufpel.edu.br O objetivo deste capı́tulo é desenvolver um estudo que permita delimitar algumas caracte- rı́sticas funcionais das mais representativas ferra- mentas de simulação de grids presentes na litera- tura. Essas caracterı́sticas servirão de base para identificar os pontos fortes de cada ferramenta, auxiliando no processo de especificação das fun- cionalidades que devem estar presentes em um ambiente de simulação quando se quer efetuar algum experimento como por exemplo analisar o comportamento de uma aplicação ubı́qua em um ambiente de grid computacional. Traz também uma série de conceitos relacionados com compu- tação ubı́bua e grids computacionais. 2 Infra-estruturas para computação ubı́qua Esta seção é responsável por apresentar os mais importantes conceitos e definições de Computação Ubı́qua e Grids Computacionais, bem como os princı́pios da área e uma série de conceitos rela- cionados. 2.1 Computação Ubı́qua Na primeira Era da Informática, através dos mainframes, compartilhados por vários usuários, LABORATORY OF UBIQUITOUS AND PARALLEL SYSTEMS c LUPS
  • 3. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 2 Figura 1. Evolução da Computação era disponibilizada a computação as pessoas. Atu- almente, na segunda Era da Informática, tem- se a era do computador pessoal [1]. O cenário previsto por Mark Weiser no inı́cio da década de 1990 é considerado como a Terceira Era da Informática [2]. A questão abordada por Weiser é que no futuro a computação estaria presente até mesmo nos objetos mais banais de nosso dia- a-dia, como etiquetas de roupas, canetas, livros, entre outros. Esta computação auxiliaria nas ta- refas humanas diárias com mı́nimas mudanças na forma de exercê-las. As tecnologias estariam entrelaçadas com o cotidiano de tal forma que se tornariam indistinguı́veis dele. A Computação Ubı́qua (Ubiquitous Compu- ting), ou Ubicomp, muitas vezes chamada de Computação Pervasiva (Pervasive Computing), é um novo paradigma computacional onde o usuário dispõe de acesso a computação de forma invisı́vel e onipresente. Invisı́vel no sentido de que o usuário não necessita de conhecimentos especı́ficos da tecnologia para beneficiar-se dela. A computação passa a fazer parte da vida do usuário de forma natural. A onipresença se dá ao fato da possibilidade de uso da tecnologia em qualquer lugar. A figura 1 ilutra a evolução da computação. Em [3], os autores defendem que a Computa- ção Ubı́qua é criada a partir da união de três outras áreas: Computação Móvel, Computação em Grade e Computação com Consciência de Contexto. A seguir são caracterizadas cada uma das áreas. • Computação Móvel: Consiste na mobili- dade tanto de hardware quanto de software. No caso de hardware pode-se considerar dis- positivos móveis como notebooks e PDAs. No caso de software são aplicações que migram de um dispositivo para outro através de uma rede sem interromper a computação sendo realizada. • Computação em Grade: De acordo com [4], é basicamente Computação Distribuı́da em um ambiente de grande heterogeneidade com recursos dispersos. A próxima geração de Computação em Grade associa novas tec- nologias como webservices e peer-to-peer. • Computação com Consciência de Con- texto: Estrutura de software inteligente que se adapta e reage ao ambiente em que está inserido [5]. Mas há uma distinção entre Computação Per- vasiva e Ubı́qua, sendo a computação Ubı́qua in-
  • 4. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 3 tegradora de avanços da Computação Móvel e da Computação Pervasiva, a computação Pervasiva é relacionada à capacidade de dispositivos serem embutidos no universo fı́sico para a obtenção de informações do meio para a construção dinâmica de novos modelos computacionais. A questão é que a Computação Pervasiva é o que integra a computação e o ambiente fı́sico no qual ela está imersa [6]. A figura 2 apresenta o Grau de Imersão Computacional x Mobilidade. Figura 2. Grau de Imersão Computacional x Mobi- lidade Relações entre computação Ubı́qua, Pervasiva e Móvel Tendo em vista todas as definições mencionadas, o termo Computação Ubı́qua será usado aqui como uma junção da Computação Pervasiva e da Computação Móvel. A justificativa de se re- alizar uma diferenciação desses termos é que um dispositivo que está embutido em um ambiente, não necessariamente é móvel [7]. Devido a isso, quando for utilizado o termo Computação Ubı́- qua, será considerado o alto grau de dispositivos embarcados da computação Pervasiva juntamente com o alto grau de mobilidade da computação Móvel. Princı́pios da Computação Ubı́qua De acordo com [7], pelos menos três princı́pios são identificados na Computação Ubı́qua, a saber: • Diversidade: Ao contrario do computador pessoal, que é um dispositivo de propósito geral que atende várias necessidades distintas do usuário, os dispositivos ubı́quos acenam com uma nova visão da funcionalidade do computador, que é a de propósito especı́fico, que atende necessidades especı́ficas de usuá- rios particulares. Apesar de vários disposi- tivos poderem oferecer funcionalidades que se sobrepõem, um pode ser mais apropriado para uma função do que outro. • Descentralização: Na computação ubı́qua as responsabilidades são distribuı́das entre vários dispositivos pequenos que assumem e executam certas tarefas e funções. Estes dis- positivos cooperam entre si para a construção de inteligência no ambiente, que é refletida nas aplicações. • Conectividade: Na computação ubı́qua, tem-se a visão da conectividade sem frontei- ras, em que dispositivos e as aplicações que executam neles movem-se juntamente com o usuário, de forma transparente, entre diver- sas redes heterogêneas, tais como as redes sem fio de longa distância, entre outras. 2.2 Grids Computacionais Grids Computacionais, também conhecidos por grades, são infraestruturas de computação que conectam múltiplos recursos computacionais de diversos computadores para permitir a execu- ção de aplicações com alta demanda de recursos computacionais, memória e espaço em disco. A figura 3 ilustra essa ideia. Neste capı́tulo, toda vez que houver referência as palavras grid ou grade computacional, deve-se entender como sinônimos. A idéia do grid é utilizar todo recurso compu- tacional ocioso para permitir que novos tipos de aplicações sejam criados ou estender aplicações existentes utilizando recursos de sistemas distri- buı́dos altamente conectados [8]. De acordo com [9], Grids Computacionais nas- ceram da comunidade de Processamento de Alto Desempenho, motivada pela utilização de com- putadores independentes e dispersos como plata- forma de execução de aplicações paralelas. O termo grid computacional surgiu da analogia com as redes de interligação do sistema de energia elétrica (do inglês power grids), nas quais utiliza- se a eletricidade sem necessariamente saber a localizaçãoo fı́sica da usina que a gerou, sendo
  • 5. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 4 Figura 3. Ambiente de Grid Computacional sua utilização totalmente transparente aos seus usuários [10], [11]. Ao contrário dos sistemas dis- tribuı́dos tradicionais, esse ambiente precisa con- siderar questões como segurança, acesso uniforme aos recursos geograficamente distribuı́dos (inde- pendentemente da localização fı́sica dos mesmos), descoberta e agregação dinâmica de recursos e qualidade de serviço. Dessa forma, entre os gran- des desafios apresentados por esse ambiente, são mais relevantes [12]: • heterogeneidade: os recursos de hardware e software, que constituem o ambiente podem ser os mais diversos possı́veis e agregam uma grande quantidade de tecnologias diferentes. • escalabilidade: o aumento do número de recursos pode acarretar em perda de desem- penho do ambiente. • dinamismo: a natureza dinâmica desse tipo de ambiente deve ser cuidadosamente tratada porque a ocorrência de falhas na rede de comunicação e nas máquinas agregadas pode alterar a disponibilidade dos recursos. • compartilhamento de recursos: como os recursos não são dedicados, pode haver uma elevada variação na quantidade de poder computacional disponı́vel no ambiente. • multiplicidade de domı́nios administra- tivos: os recursos podem pertencer a di- ferentes proprietários, cada um com regras distintas para a gerência e utilização dos recursos. Diante de todos esses desafios, é necessário que a computação em grid ofereça meios para que o desenvolvedor da aplicação possa escrever programas em linguagens de alto nı́vel, capazes de acessar o grid e utilizar seus recursos de forma eficiente e transparente sem que para isso o usuá- rio tenha que se preocupar em tratar questões do ambiente [13]. Os Grids se tornaram possı́veis devido à grande melhoria em desempenho e redução de custos, tanto de redes de computadores, quanto de micro- processadores. Através deles é possı́vel explorar as potencialidades das redes de computadores, com o objetivo especı́fico de disponibilizar camadas virtuais que permitam a um usuário ter apli- cações altamente exigentes, bem como aderir a comunidades virtuais de grande escala, com uma grande diversidade de recursos de computação e de repositórios de informações [14]. Tipos de Grids Computacionais Krauter, Buyya e Maheswaran elaboraram em 2002 uma resenha dos principais sistemas de grades existentes até então [15] e propuseram uma taxonomia identificando diferentes tipos de grades. Para eles, uma Grade de Computação (Computing Grid) é um sistema de Computa- ção em Grade que visa a integração de recursos computacionais dispersos para prover uma maior capacidade combinada de processamento aos seus usuários. Já as Grades Computacionais Oportunis- tas (Opportunistic Grids ou Scavenging Grids) são um subtipo de grades que utiliza os perı́odos ociosos de estações de trabalho de funcionários de uma organização, laboratórios acadêmicos, má- quinas de estudantes, etc. para formar, dinami- camente, uma grade de computação. Grades de Dados (Data Grids) são sistemas cujo objetivo principal é o acesso, pesquisa e processamento de grandes volumes de dados, po- tencialmente distribuı́dos em vários repositórios, conectados por uma rede de grande área, como uma WAN. Grades de Serviços (Service Grids) oferecem serviços viabilizados pela integração de diversos recursos computacionais como, por exemplo, um ambiente para trabalho colaborativo, ou uma pla- taforma para aprendizado à distância. Uma vari- ante importante deste tipo de grade são os chama- dos Colaboratórios (Collaboratories), laborató- rios fı́sicos compartilhados através da Internet de
  • 6. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 5 forma que vários pesquisadores e estudantes pos- sam realizar experimentos cientı́ficos à distância. Os colaboratórios permitem que laboratórios de alto custo possam ser compartilhados por pessoas localizadas em diferentes cidades, reduzindo os custos e otimizando o uso de recursos escassos. Principais serviços Sistemas de grades computacionais são hoje em dia implementados como uma camada de mid- dleware que executa sobre sistemas operacionais convencionais. Esse middleware é responsável por esconder os detalhes e particularidades dos dife- rentes sistemas operacionais sobre os quais ele opera e também por oferecer serviços de alto nı́vel para a execução de aplicações do usuário. A Figura 4 apresenta uma arquitetura genérica implementada pela maioria dos sistemas de gra- des da atualidade [16]. Figura 4. Arquitetura genérica de uma grade com- putacional O Agente de Acesso é o principal ponto de acesso para usuários em sua interação com a grade. Ele é executado em cada nó a partir do qual aplicações serão submetidas para execu- ção na grade. Além de possibilitar a execução de aplicações, ele deve permitir ao usuário que especifique requisitos e parâmetros da execução, deve permitir que o usuário monitore a execução de suas aplicações e deve auxiliar na coleta dos resultados gerados pelas aplicações. Muitos sis- temas de grades implementam uma versão Web do agente de acesso permitindo que o usuário interaja com a grade usando um navegador Web qualquer. O Serviço Local de Oferta de Recursos é executado nas máquinas que exportam seus recursos para a grade e é responsável por exe- cutar aplicações nos nós da grade. Para tanto, ele precisa obter o código executável da aplicação, iniciar sua execução (normalmente em um novo processo), coletar e apresentar eventuais erros que possam ocorrer durante ou antes da execução da aplicação e devolver os resultados da execução da aplicação para o usuário que a solicitou. Este serviço é também responsável por gerenciar o uso local dos recursos de um determinado nó e por prover, para a grade, informações sobre a disponibilidade de recursos neste nó. O Serviço Global de Gerenciamento de Recursos é responsável por monitorar o estado dos recursos compartilhados em toda a grade e por responder a solicitações de utilização desses recursos. Para tanto, ele auxilia o Serviço de Escalonamento a efetuar o casamento das requi- sições por recursos solicitadas pelos usuários com as ofertas de recursos. Ele mantém informações dinamicamente atualizadas sobre quais aglome- rados e quais nós estão com recursos disponı́veis e dados sobre a utilização destes recursos como, por exemplo, utilização do processador, quanti- dade de memória RAM disponı́vel, quantidade de espaço em disco disponı́vel, etc. Por esse motivo, ele pode também ser chamado de Serviço de Informações sobre Recursos. Em alguns casos, esse serviço pode também ser responsável por de- tectar falhas nos nós da grade e notificar o agente de acesso sobre erros na execução de aplicações presentes nos nós com problemas. O Serviço de Escalonamento determina, para cada aplicação, onde e quando ela irá ser executada. Ele recebe solicitações de execução de aplicações, obtém informações sobre a disponibili- dade de recursos consultando o Serviço de Global de Gerenciamento de Recursos e determina a ordem e o local de execução das aplicações ou das diferentes tarefas de uma aplicação. Finalmente, o Serviço de Segurança é res- ponsável por três tarefas principais: (i) proteger os recursos compartilhados de forma que um nó que exporta seus recursos para a grade não sofra ataques executados por aplicações maliciosas, (ii)
  • 7. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 6 autenticação dos usuários de forma que se saiba quem é responsável por cada aplicação e pela sua execução, permitindo que sejam estabelecidas relações de confiança e que usuários sejam respon- sabilizados pelos seus atos e (iii) fornecer canais seguros de comunicação garantindo a integridade e confiabilidade dos dados. A forma como estes serviços são organizados, agrupados e implementados pode variar muito de um middleware de grades para outro. Mas, de forma geral, todos os principais sistemas de grades oferecem essas funcionalidades. 3 Ferramentas de simulação Nesta seção, serão apresentadas as principais fer- ramentas de simulação de grids computacionais presentes na literatura, com a intenção de ressal- tar alguns de seus principais aspectos e caracte- rı́sticas. As ferramentas aqui relatadas darão um panorama do estado da arte no que diz respeito a simulação de infraestruturas em grids. As ferramentas aqui tratadas serão GridSim, Bricks, GangSim e OptorSim. Na seção seguinte, será realizado um estudo de caso com a ferrameta SimGrid, motivo pelo qual ela não é citada nesta seção. 3.1 GridSim O GridSim [17] é um toolkit que propõe facilitar a simulação de diferentes classes de recursos he- terogêneos, usuários, aplicações e escalonadores. Ele pode ser usado para simular escalonadores de tarefas, para sistemas distribuı́dos como clusters (um único domı́nio administrativo) e grids (múlti- plos domı́nios administrativos). A tabela 1 resume algumas caracterı́sticas dessa ferramenta. Tabela 1 Alguns aspectos da ferramenta GridSim Aspectos GridSim Linguagem de Implementação Java Plataformas Suportadas S.O com JVM Interface da ferramenta Modo texto e GUI Suporte a simulação multithreaded Sim Dentre as principais funcionalidades da ferra- menta GridSim, podem ser citadas as seguintes: • Possibilita o estudo de diversos aspectos re- lacionados a um grid ou sistemas paralelos, como clusters. • Permite a modelagem de aplicações com di- ferentes modelos de paralelismo. • Possui extensões que facilitam o estudo de dados e aspectos especı́ficos da rede do grid. 3.2 Bricks Bricks é uma ferramenta de avaliação de desem- penho que permite a análise e comparação de diferentes estratégias de escalonamento de tarefas em sistemas computacionais de alto desempenho de escala global, como grids [18]. A ferramenta é empregada para simular diver- sos conceitos de um sistema computacional distri- buı́do, como o de algoritmos de escalonamento, da topologia de sistemas cliente-servidor e de estra- tégias de processamento para redes e servidores. A tabela 2 resume algumas caracterı́sticas dessa ferramenta. Tabela 2 Alguns aspectos da ferramenta Bricks Aspectos Bricks Linguagem de Implementação Java Plataformas Suportadas S.O com JVM Interface da ferramenta Modo texto Suporte a simulação multithreaded Não Como funcionalidades da ferramenta Bricks, destacan-se as seguintes: • Voltado ao estudo de algoritmos de escalona- mento de tarefas. • Permite a integração de ferramentas externas ao simulador. • Estabelece um modelo de grid que facilita a análise das interações cliente-servidor. 3.3 GangSim O simulador GangSim foi criado para auxiliar estudos de estratégias de escalonamento em am- bientes de grid. Estes estudos procuram avaliar o impacto das polı́ticas de alocação de recursos adotadas por sites e organizações virtuais (VO) no desempenho apresentado por tais sites e VOs. A ferramenta simula, assim, grandes grupos ou gangs de sites e usuários [19]. A tabela 3 resume algumas caracterı́sticas dessa ferramenta. A seguir são listadas algumas funcionalidades da ferramenta GangSim:
  • 8. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 7 Tabela 3 Alguns aspectos da ferramenta GangSim Aspectos GangSim Linguagem de Implementação Perl Plataformas Suportadas Linux Interface da ferramenta Modo texto Suporte a simulação multithreaded Não • Voltado para a avaliação do impacto das polı́ticas de alocação de recursos adotadas por sites e Organizações Virtuais. • Possibilidade de integrar instâncias de simu- lação com ferramentas de monitoração. • Acesso remoto via interface Web. 3.4 OptorSim A ferramenta Optorsim [20] é um simulador pro- jetado como um framework modularizado, com o qual podem ser estudadas estratégias de escalo- namento que utilizam o conceito de replicação de dados. A replicação significa criação de cópias de dados em recursos geograficamente distribuı́dos, uma das principais técnicas de otimização na redução do custo de acesso aos dados. Trata- se, dessa forma, de um simulador voltado para grids de dados, nos quais as transferências de dados constituem um importante fator limitante do desempenho das tarefas executadas. A tabela 4 resume algumas caracterı́sticas dessa ferramenta. Tabela 4 Alguns aspectos da ferramenta OptorSim Aspectos OptorSim Linguagem de Implementação Java Plataformas Suportadas S.O com JV Interface da ferramenta Modo texto e GUI Suporte a simulação multithreaded Sim Alguma das funcionalidades da ferramenta Op- torSim são apresentadas abaixo: • Voltado ao estudo de algoritmos de escalona- mento de tarefas que empregam o conceito de replicação. • Adota um modelo de grid, que facilita a avaliação de grids de dados. • Provê interface gráfica para facilitar a cons- trução de simulações e sua análise. 4 Estudo de caso: SimGrid A ferramenta SimGrid, concebida em 1999, foi fruto de um projeto de pós-doutorado desen- volvido por Henri Casanova. A motivação foi a necessidade de se utilizar simulação, ao invés de experimentos reais, no estudo prático de algorit- mos de escalonamento para aplicações cientı́ficas paralelas em plataformas computacionais distri- buı́das e heterogêneas [21]. A tabela 5 resume alguns aspectos da ferra- menta SimGrid. Tabela 5 Alguns aspectos da ferramenta SimGrid Aspectos SimGrid Linguagem de Implementação C Plataformas Suportadas Linux, Mac, Win Interface da ferramenta Modo texto Suporte a simulação multithreaded Não Dentre as caracterı́sticas da ferramenta Sim- Grid, destacam-se as seguintes: • Facilita o estudo de estratégias de escalona- mento de tarefas. • Provê componente que auxilia o desenvolvi- mento de aplicações reais para grids. • Provê componente que auxilia o desenvolvi- mento de programas MPI. • Provê componente para a avaliação de tarefas paralelas em sistemas distribuı́dos. Arquitetura do SimGrid A arquitetura do SimGrid, ilustrada na figura 5 mostra os componentes da arquitetura e suas re- lações. Cada componente é descrito na sequência. 1) Ambiente MSG O ambiente MSG visa a realização de simulações em termos de agentes de comunicação. É usual- mente utilizado no estudo de heurı́sticas para um problema, possibilitando uma comparação entre elas. O realismo da simulação não é objetivo principal deste módulo, e muitos detalhes técnicos da plataforma do grid são omitidos. 2) Ambiente GRAS GRAS (Grid Reality and Simulation) é um ambi- ente concebido como um framework que facilita o desenvolvimento de aplicações distribuı́das orien- tadas a eventos.
  • 9. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 8 Figura 5. Componentes do SimGrid e suas relações 3) Ambiente SMPI O ambiente SMPI é um framework que permite executar aplicações MPI não alteradas, tanto em modo de simulação, quanto em modo de aplicação real (atuando como um GRAS para MPI). 4) Ambiente SimDag Este ambiente é dedicado à simulação de aplica- ções paralelas, por meio do modelo DAG (Direct Acyclic Graphs). Com este modelo é possı́vel especificar relações de dependência entre tarefas de um programa paralelo. 5) Camada SURF (núcleo do simulador) Logo abaixo da camada formada pelos ambientes de programação, há o núcleo de todos os simula- dores implementados pelo SimGrid, denominado SURF. Este núcleo provê um conjunto de funcio- nalidades para simular uma plataforma virtual. 6) Camada XBT A camada XBT (eXtended Bundle of Tools) implementa diversas funcionalidades, dentre elas estruturas de dados usadas pelo SURF, serviço de Direct Acyclic Graphs, biblioteca de funções para representação e manipulação de grafos. Além disso, o XBT provê suporte à portabilidade da ferramenta. 5 Considerações Finais Neste estudo foram revisados os conceitos de Computação Ubı́qua e Grids Computacionais. Também foram apresentadas algumas das prin- cipais ferramentas de simulação para grades de computadores presentes na literatura. Ao traçar estes aspectos de cada simulador, é possı́vel determinar qual simulador utilizar quando se quer analisar o comportamento de determinados programas e algoritmos em ambi- entes de grids computacionais sem que haja a necessidade de se ter um ambiente de grade real. Referências [1] Mark Weiser. The Computer for the 21st Century. Scien- tific American, 265(3):94–104, September 1991. [2] Jan Krikke. T-engine: Japan’s ubiquitous computing architecture is ready for prime time. IEEE Pervasive Computing, 4:4–9, April 2005. [3] Adenauer Yamin, Iara Augustin, Luciano Cavalheiro da Silva, Rodrigo Araujo Real, Alberto E. Schaeffer Filho, and Claudio F. Resin Geyer. Exehda: adaptive middleware for building a pervasive grid environment. In Proceeding of the 2005 conference on Self-Organization and Autonomic Informatics (I), pages 203–219, Amsterdam, The Nether- lands, The Netherlands, 2005. IOS Press. [4] Adenauer Corrêa Yamin. Arquitetura para um ambiente de grade computacional direcionada às aplicações distri- buı́das, móveis e conscientes de contexto da computação pervasiva. Tese de doutorado em ciência da computação, Instituto de Informática-UFRGS, Porto Alegre-RS, 2004. [5] Bill N. Schilit and Marvin M. Theimer. Disseminating active map information to mobile hosts, 1994. [6] C.; Souza C. H. M. Bolsoni, E. P.; Cardoso. Compu- tação ubı́qua, cloud computing e plc para continuidade comunicacional diante de desastres. Anais eletrônicos V Seminário Internacional de Defesa Civil - DEFENCIL, 2009. [7] R. B. Araujo. Computação ubı́qua: princı́pios, tecnologias e desafios. XXI Simpósio Brasileiro de Redes de Compu- tadores, pages 45–115, 2003.
  • 10. REVISTA LUPS, VOL. 1, NO. 1, JULHO 2013 9 [8] Ian Foster, Carl Kesselman, and Steven Tuecke. The ana- tomy of the grid: Enabling scalable virtual organizations. Int. J. High Perform. Comput. Appl., 15:200–222, August 2001. [9] Ian Foster and Carl Kesselman, editors. The grid: blue- print for a new computing infrastructure. Morgan Kauf- mann Publishers Inc., San Francisco, CA, USA, 1999. [10] Ian Foster, Carl Kesselman, Jeffrey M. Nick, and Steven Tuecke. Grid services for distributed system integration. Computer, 35:37–46, June 2002. [11] Ian Foster and Carl Kesselman. The Grid 2: Blueprint for a New Computing Infrastructure. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2003. [12] Parvin Asadzadeh, Rajkumar Buyya, Chun Ling Kei, Deepa Nayar, and Srikumar Venugopal. Global grids and software toolkits: A study of four grid middleware technologies. In HIGH PERFORMANCE COMPUTING: PARADIGM AND INFRASTRUCTURE, LAURENCE YANG AND MINYI GUO (EDS), ISBN: 0-471-65471-X. Wiley Press, 2005. [13] Aletéia Patrı́cia Favacho Araújo. Paralelização autonô- mica de metaheurı́sticas em ambientes de grid. Tese de doutorado em ciência da computação, Pontifı́cia Uni- versidade Católica do Rio de Janeiro/PUC-Rio, Rio de Janeiro,RJ, 2008. [14] Mark Baker, Rajkumar Buyya, and Domenico Laforenza. Grids and grid technologies for wide-area distributed com- puting. Softw. Pract. Exper., 32:1437–1466, December 2002. [15] Klaus Krauter, Rajkumar Buyya, and Muthucumaru Maheswaran. A taxonomy and survey of grid resource management systems for distributed computing. Softw. Pract. Exper., 32:135–164, 2002. [16] Goldchleger A. Carneiro M. R. F. de Camargo, R. Y. and F. Kon. Pattern Languages of Program Design 5 (PLoPd5), chapter The Grid Architectural Pattern: Leve- raging Distributed Processing Capabilities. Pages 337 - 356. Addison-Wesley., 2006. [17] Rajkumar Buyya and Manzur Murshed. Gridsim: A toolkit for the modeling and simulation of distributed resource management and scheduling for grid computing. CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE (CCPE, 14(13):1175–1220, 2002. [18] Atsuko Takefusa, Satoshi Matsuoka, Kento Aida, Hide- moto Nakada, and Umpei Nagashima. Overview of a performance evaluation system for global computing sche- duling algorithms. In Proceedings of the 8th IEEE In- ternational Symposium on High Performance Distributed Computing, HPDC ’99, pages 11–, Washington, DC, USA, 1999. IEEE Computer Society. [19] C. L. Dumitrescu and I. Foster. Gangsim: a simulator for grid scheduling studies. In Proceedings of the Fifth IEEE International Symposium on Cluster Computing and the Grid (CCGrid’05) - Volume 2 - Volume 02, CCGRID ’05, pages 1151–1158, Washington, DC, USA, 2005. IEEE Computer Society. [20] William H. Bell, David G. Cameron, Luigi Capozza, A. Paul Millar, Kurt Stockinger, and Floriano Zini. Optor- sim - a grid simulator for studying dynamic data replica- tion strategies. International Journal of High Performance Computing Applications, page 2003, 2003. [21] Henri Casanova. Simgrid: A toolkit for the simulation of application scheduling. In Proceedings of the 1st Inter- national Symposium on Cluster Computing and the Grid, CCGRID ’01, pages 430–, Washington, DC, USA, 2001. IEEE Computer Society. Rodolfo Migon Favaretto Mestrando do Programa de Pós-Graduação em Computa- ção da UFPel. Também é pós-graduando Lato Sensu em Engenharia de Sistemas pela ESAB Escola Superior Aberta do Brasil Vila Velha ES. Possui Bacharelado (2011) em Ciência da Computação pela Universidade Regional Integrada do Alto Uruguai e das Missões - URI Campus de Erechim. Atua nas áreas de Sistemas Distribuı́dos, Arquiteturas de Computadores, Desenvolvimento de aplicações Web e linguagens de programação. Adenauer Corrêa Yamin possui graduação em Engenharia Elétrica pela Universidade Católica de Pelotas (UCPEL, 1981), mes- trado e doutorado em Computação pela Universidade Federal do Rio Grande do Sul (UFRGS, 1994 e 2004). Atua como professor do Programa de Pós-Graduação em Compu- tação da UFPEL, e do Centro Politécnico da UCPEL. Tem pesquisado na área de ambi- entes de execução paralelos e distribuı́dos para grades e nuvens computacionais, middlewares e aplicações conscientes de contexto na computação ubı́qua. View publication stats View publication stats