• Nenhum resultado encontrado

M´ odulo para importa¸c˜ ao de modelos GridSim pelo iSPD

N/A
N/A
Protected

Academic year: 2023

Share "M´ odulo para importa¸c˜ ao de modelos GridSim pelo iSPD"

Copied!
64
0
0

Texto

Em primeiro lugar, gostaria de agradecer aos meus pais Rogério e Ana, que sempre me apoiaram não só nos meus estudos, mas em todos os momentos e me deram condições para progredir. Agradeço também a minha avó Maria, que sempre incentivou e apoiou a mim e toda minha família. Ao Rafael de Souza St´abile, que conviveu comigo a maior parte dos anos, com quem sempre estudei para concursos e também é um grande amigo, e também às pessoas que conviveram conosco, Afonso Sales, Vin´ıcius Bertucci , Bruno Sanches, Bruno Zani, Igor Lampa e Alan Vinhaes.

Ao Victor Aoqui e ao Paulo Henrique Oliveira, com quem pessoalmente convivi pouco tempo, mas que sempre me ajudaram não só no projeto, mas ao longo do curso, tornando-se também meus grandes amigos. Também quero agradecer a uma pessoa especial que conheci quando estava na última parte do meu projeto, L´ıgia M. Desta forma, a funcionalidade desejada foi conectada ao simulador, o que possibilitou aos usuários do GridSim também rodar seus modelos. no iSPD, para verificar se representam o que esperavam e se não houve erro ao programá-los.

Motiva¸ c˜ ao

Um sistema distribuído é um conjunto de máquinas conectadas por meio de uma rede que se comunicam e sincronizam por meio de mensagens. Tal sistema deve: estar sujeito a falhas, recuperar-se sem maiores danos, operar mesmo sem sincronização de clock, garantir um mínimo de segurança aos seus usuários, operar com competição entre seus componentes, operar bem em termos de escalabilidade, ou seja, a capacidade de recursos-chave não ser perdida diante do aumento de usuários e da heterogeneidade, ou seja, a capacidade de aumentar o número de máquinas sem perdas, avançando seu uso principalmente por meio do compartilhamento de recursos (COULORIS; DOLLIMORE; KINDBERG, 2001).

Objetivo

Organiza¸ c˜ ao do texto

Interpretador de modelos: parte do simulador voltada para a conversão entre modelos utilizados em outras ferramentas, como o GridSim, no qual este trabalho está inserido, e o SimGrid, para modelos que podem ser simulados diretamente no iSPD, e assim h´ Há também o conversão de modelos textuais, utilizados por outros simuladores, para modelos gráficos, que podem ser apresentados na interface icônica, que será discutida no próximo tópico. Interface icônica: a funcionalidade do módulo é a interação humano-computador, visando proporcionar ao usuário do simulador maior comodidade, conforto, qualidade de acesso e satisfação ao interagir com a ferramenta, sem ter tantos problemas quanto quando precisaria, por exemplo, para fazer a programação textual do modelo. Scheduler Generator e Manager: Apesar de serem nomeados como um só, esses dois módulos são responsáveis ​​por gerar os escalonadores iSPD.

O simulador oferece diversos tipos de escalonadores já implantados e prontos para uso, além de um ambiente gráfico para o usuário digitar.

Figura 2.1: Imagem da interface icˆ onica do iSPD que possibilita uma modelagem de forma gr´ afica ao usu´ ario
Figura 2.1: Imagem da interface icˆ onica do iSPD que possibilita uma modelagem de forma gr´ afica ao usu´ ario

GridSim

Como você pode ver, na primeira camada está a interface Java, na segunda camada está a parte que, utilizando os serviços fornecidos por outras interfaces, possibilita a estruturação dos eventos discretos do simulador. A terceira camada apresenta as ferramentas do GridSim, que permitem modelar a grade a ser simulada, seguida na quarta camada pelos modelos escalonadores que podem ser usados ​​para distribuir tarefas em uma simulação. Por fim, na quinta camada, estão os aplicativos da ferramenta, os usuários e as entradas e saídas utilizadas.

No entanto, a ferramenta requer que o usuário modele sua rede também usando a linguagem de programação Java, produzindo um código do mesmo tipo da primeira parte da Figura 2.4.

Figura 2.3: Representa¸ c˜ ao gr´ afica da arquitetura do GridSim, adaptado de (BUYYA;
Figura 2.3: Representa¸ c˜ ao gr´ afica da arquitetura do GridSim, adaptado de (BUYYA;

Outros Simuladores

Possui mais de 10 anos de desenvolvimento, é financiado por investidores e tem suporte para mais alguns anos de pesquisa (SIMGRID, 2013). Tal simulador possui extensa documentação disponível para o usuário estudá-lo, desenvolvida em linguagem C. O usuário deve ter alguma proficiência com linguagens de programação, pois não possui ambiente gráfico e também deve ser programado em linguagem C, para ter um modelo de simulação.

Também consiste em um projeto aberto e qualquer usuário pode experimentá-lo sem pagar nenhuma taxa por isso. Seu principal objetivo é testar estratégias de escalonamento que possam utilizar a replicação de dados (OPTORSIM, 2012). A ferramenta possui uma forma relativamente simples de modelar a rede e por isso não exige que o usuário conheça linguagens de programação para realizar seus testes, embora ofereça a possibilidade de implementação de algoritmos.

Possui uma interface gráfica simples e é implementado na linguagem de programação Java, o que possibilita sua utilização em diversos sistemas operacionais. Assim como os demais simuladores computacionais de redes, o Bricks também simula diferentes topologias de rede, além de permitir ao usuário gerar modelos de diversos tipos de planejamento e assim verificar o comportamento do sistema nas mais variadas situações (BRICKS, 2013). O simulador é orientado a eventos e seu projeto está parado, sendo implementado na linguagem de programação Java e obrigando seu usuário a dominar a programação de scripts para construir seus modelos e simulações.

Conceitos de compiladores e linguagens

O parser deve, portanto, reconhecer uma linguagem livre de contexto, que será apresentada em 2.4.5. Essa linguagem possui estruturas, como loops de repetição, declarações condicionais ou variáveis, que compõem a linguagem de programação e, portanto, serão lidas durante esta parte da compilação. Alfabeto: Representado pelo símbolo Σ, segundo (DELAMARO, 2004) “um alfabeto consiste em um conjunto finito e não vazio de símbolos”.

Palavras: As palavras de uma língua são representadas pela concatenação de símbolos pertencentes ao alfabeto da língua, podendo ter comprimentos variáveis ​​a partir de zero. Linguagem: Uma língua pode ser definida por um conjunto de zero ou mais representações dos símbolos de seu alfabeto ou de palavras formadas pela concatenação de tais símbolos, conforme já mencionado na definição de palavras.

Considera¸ c˜ oes finais

Este capítulo traz uma apresentação de todo o trabalho realizado, desde a parte da pesquisa até a implementação da nova função de interpretação do modelo GriSim (GRIDSIM , 2013) para iSPD (MENEZES et al., 2012).

Pesquisa e estudos

Constru¸ c˜ ao das Gram´ aticas Regular e Livre de Con- texto

Fase de implementa¸ c˜ ao

A partir do momento em que o primeiro reconhecedor das estruturas do GridSim ficou pronto e validado, conforme será descrito no capítulo 4, foi iniciada a implementação da estrutura que armazenará os dados a serem utilizados pelo iSPD e que está presente nos códigos do GridSim. Para isso, foi criada uma classe no código onde as variáveis ​​armazenam os nomes dos parâmetros juntamente com uma tabela de valores que armazena o módulo numérico do parâmetro a ser passado caso este ainda não esteja presente. uma vez interpretada, busca-se a variável especificada e atribui-se o valor correto. A partir dessa classe, o iSPD busca as variáveis ​​para a simulação e assim preenche os dados necessários para que ela possa ser executada.

Figura 3.2: Terminal mostrando parˆ ametros encontrados ao instanciar recursos da grade
Figura 3.2: Terminal mostrando parˆ ametros encontrados ao instanciar recursos da grade

Codifica¸ c˜ ao do interpretador

Considera¸ c˜ oes finais

O objetivo deste capítulo é apresentar os testes e resultados obtidos como forma de validar o projeto desenvolvido e aqui apresentado, desde os testes realizados durante a codificação até os realizados com o interpretador já pronto.

Figura 3.6: Diagrama de classes do interpretador
Figura 3.6: Diagrama de classes do interpretador

Testes durante o per´ıodo de codifica¸ c˜ ao

Por fim, após o término do período de codificação, o protótipo foi integrado à versão mais recente do simulador GSPD e, com o objetivo de testar se, com a integração, o simulador continuava a produzir dados consistentes, foram realizadas as últimas séries de validações realizado. Após a integração do protótipo com o simulador e a fase de testes realizados na sua codificação, iniciou-se uma nova etapa de validação. Em seguida, tal modelo é simulado no software GSPD e o tempo resultante é comparado com uma simulação do código inicial, em Java, feita no GridSim e também com o mesmo modelo de grid criado diretamente no iSPD.

Assim, no primeiro teste comparativo, o código interpretado, do qual podemos ver um pequeno fragmento na Figura 4.1, proveniente do GridSim, gerou um modelo, que é apresentado na Figura 4.2. Desta forma, procurou-se apresentar os resultados obtidos com os primeiros testes em forma de gráfico e também com tabela de tempo. Tal similaridade entre os tempos simulados também pode ser observada na Tabela 4.1, onde cada linha mostra a quantidade de tarefas para execução do modelo, seguidas de seus respectivos tempos.

Este modelo também foi executado e seu tempo simulado foi comparado com o modelo gerado diretamente no iSPD, conforme Figura 4.6, e com o modelo original executado no GridSim. Por fim, os mesmos procedimentos foram utilizados no teste final de validação do intérprete. Nele, foi criado o modelo mostrado na Figura 4.8, que possui um master master conectado a um roteador que se conecta a 2 outros que estabelecem uma nova conexão, cada um ao master, sendo que cada um destes possui 3 máquinas.

Após os testes, pode-se perceber que apesar da semelhança entre os dados obtidos, após toda a série de testes, percebe-se outra vantagem do iSPD em relação ao GridSim. O simulador Grid do GSPD, independentemente do tamanho das tarefas e da quantidade delas, não apresentou um tempo de resposta elevado, desta vez na casa dos segundos, enquanto o GridSim teve um crescimento exponencial no tempo de resposta, devido à forma como o modelo foi implementado, eles estavam na casa das horas quando o teste foi concluído com 16.000 tarefas.

Figura 4.1: Trecho do c´ odigo do GridSim para o qual foi feita a convers˜ ao e simula¸ c˜ ao de teste
Figura 4.1: Trecho do c´ odigo do GridSim para o qual foi feita a convers˜ ao e simula¸ c˜ ao de teste

Considera¸ c˜ oes finais

Durante o desenvolvimento deste trabalho, foi feita uma visão geral das principais ferramentas computacionais de simulação raster e, em seguida, uma visão geral do simulador raster GSPD, o iSPD, para o qual seria trazida a nova função de interpretação de modelos externos.

Considera¸ c˜ oes finais

Problemas encontrados

Dire¸ c˜ oes futuras

Publica¸ c˜ oes

Imagem

Figura 2.1: Imagem da interface icˆ onica do iSPD que possibilita uma modelagem de forma gr´ afica ao usu´ ario
Figura 2.2: Diagrama conceitual do iSPD (MENEZES, 2012)
Figura 2.3: Representa¸ c˜ ao gr´ afica da arquitetura do GridSim, adaptado de (BUYYA;
Figura 2.4: Exemplo de trecho de c´ odigo utilizado para simula¸ c˜ ao no GridSim tamente textual, e desse modo, dificultando muitas vezes o trabalho de usu´ arios leigos no assunto.
+7

Referências

Documentos relacionados

O iSPD já possui a simulação da camada de virtualização de um sistema de computação em nuvem, para tanto, as novas funcionalidades contam com novas políticas de alocação e