Table Of Content´
UNIVERSIDADE FEDERAL DE ITAJUBA
´ ˜
PROGRAMA DE POS GRADUAC¸AO EM
ˆ ˜
CIENCIA E TECNOLOGIA DA COMPUTAC¸AO
CronoSim - Uma Ferramenta Distribu´ıda para Simula¸c˜ao de
Eventos Discretos e Valida¸c˜ao de Protocolos de
Sincroniza¸c˜ao
Luiz Fernando Nunes
Itajub´a, Junho de 2016
´
UNIVERSIDADE FEDERAL DE ITAJUBA
´ ˜
PROGRAMA DE POS GRADUAC¸AO EM
ˆ ˜
CIENCIA E TECNOLOGIA DA COMPUTAC¸AO
Luiz Fernando Nunes
CronoSim - Uma Ferramenta Distribu´ıda para Simula¸c˜ao de
Eventos Discretos e Valida¸c˜ao de Protocolos de
Sincroniza¸c˜ao
Disserta¸ca˜o submetida ao Programa de P´os-Gradua¸ca˜o em
Ciˆencia e Tecnologia da Computa¸ca˜o como parte dos requisitos
para obten¸ca˜o do T´ıtulo de Mestre em Ciˆencia e Tecnologia da
Computa¸c˜ao
A´rea de Concentra¸c˜ao: Matem´atica da Computa¸ca˜o
Orientador: Prof. Dr. Edmilson Marmo Moreira
Coorientador: Prof. Dr. Ot´avio Augusto Salgado Carpinteiro
Junho de 2016
Itajub´a - MG
´
UNIVERSIDADE FEDERAL DE ITAJUBA
´ ˜
PROGRAMA DE POS GRADUAC¸AO EM
ˆ ˜
CIENCIA E TECNOLOGIA DA COMPUTAC¸AO
Luiz Fernando Nunes
CronoSim - Uma Ferramenta Distribu´ıda para Simula¸c˜ao de
Eventos Discretos e Valida¸c˜ao de Protocolos de
Sincroniza¸c˜ao
Disserta¸ca˜o aprovada por banca examinadora em 23 de Junho
de 2016, conferindo ao autor o t´ıtulo de Mestre em Ciˆencia e
Tecnologia da Computa¸c˜ao.
Banca Examinadora:
Prof. Dr. Edmilson Marmo Moreira (Orientador)
Prof. Dr. Ot´avio Augusto Salgado Carpinteiro (Coorientador)
Prof.a Dr.a Regina Helena Carlucci Santana (ICMC-USP)
Prof. Dr. Guilherme Sousa Bastos
Itajub´a - MG
2016
Dedico este trabalho
aos meus pais Luiz e C´elia,
e `a minha esposa Patricia.
Agradecimentos
Agrade¸co a Deus que me aben¸coou em todos os momentos da minha vida,
colocando pessoas boas em meu caminho.
Aos meus pais, Luiz e C´elia, por serem exemplos de vida e, tamb´em, pelo
incentivoededica¸ca˜o, osquais foramessenciaisparaminhaeducac¸˜aoecrescimento
como pessoa. Sua motiva¸ca˜o e compreens˜ao foram fundamentais para que eu
pudesse concluir esta etapa da minha vida. Agrade¸co a eles por sempre confiarem
em mim e apoiarem minhas escolhas.
`
A minha esposa Patricia pelo amor, carinho, companheirismo e compreens˜ao
nos momentos de ausˆencia. Seus conselhos e cobran¸cas sempre me motivaram.
Obrigado por cada dia ao meu lado.
Aos meus irma˜os Reginaldo, Regiane, Rosiani e Thiago pelo companheirismo
e amizade t˜ao presente em nossa fam´ılia.
`
As minhas sobrinhas Let´ıcia e Fernanda por trazerem alegria a todos a sua
volta, inclusive, nos momentos em que mais precisamos.
A todos professores que estiveram comigo em algum momento da minha vida,
por serem profissionais da educa¸ca˜o, os quais valorizo muito e tenho um grande
respeito.
Ao Prof. Edmilson, pela amizade, confian¸ca, paciˆencia, aux´ılio, conselhos e
empenho ao longo do tempo que trabalhamos juntos. Agrade¸co, pois, foi a inspi-
rac¸˜ao para que eu descobrisse minha voca¸ca˜o profissional, direcionando caminhos
e oportunidades. Obrigado pela oportunidade de realizar este trabalho e por, sem-
pre, me apoiar nos momentos decisivos da minha vida.
Ao Prof. Ota´vio Carpinteiro pela amizade, credibilidade e orienta¸co˜es nas
conversas que tivemos.
Aos professores Joa˜o Paulo Leite, Enzo Seraphim, Thatyana Seraphim e Bruno
Kuehne pela amizade e pelo apoio em outras atividades que enriqueceram meu
conhecimento.
Agrade¸co aos professores da UNIFEI, do IESTI e do IMC, que hoje sa˜o meus
colegas de trabalho, por todo o conhecimento adquirido durante o curso de Bacha-
relado em Sistemas de Informa¸c˜ao e do curso de Mestrado em Ciˆencia e Tecnologia
da Computa¸c˜ao, que foi fundamental para a realiza¸ca˜o deste trabalho. Agrade¸co,
tamb´em, aos colegas de mestrado, que se mostraram sempre dispon´ıveis e contri-
bu´ıram com sugest˜oes e conselhos em rela¸ca˜o ao trabalho.
Ao colega de mestrado Renan Curvello Faria pelo aux´ılio na compreens˜ao
sobre o projeto do framework e apoio na execu¸ca˜o dos experimentos no cluster do
GPESC.
Aos amigos da WILCX Desenvolvimento de Software Ltda, pelo apoio e flexi-
bilidade em rela¸ca˜o aos meus compromissos no in´ıcio do mestrado.
`
A Coordena¸ca˜o de Aperfei¸coamento de Pessoal de N´ıvel Superior (CAPES)
pelo apoio e incentivo a esta pesquisa.
Finalmente, agradec¸o a todas as pessoas que estiveram comigo no per´ıodo de
desenvolvimento da pesquisa.
Agrade¸co de todo cora¸ca˜o a cada um!
“N˜ao podemos prever o futuro, mas podemos cri´a-lo.”
Peter Drucker
Resumo
Esta dissertac¸˜ao apresenta o projeto e implementa¸c˜ao de uma ferramenta distri-
bu´ıda—CronoSim—paraSimulac¸˜aodeEventosDiscretos. Elaforneceaousua´rio
um ambiente gr´afico para auxili´a-lo durante a modelagem, execu¸ca˜o e ana´lise de
resultados. CronoSim permite a simula¸c˜ao de forma distribu´ıda, em que o modelo
´e dividido, e cada uma das partes ´e simulada paralelamente em processadores di-
ferentes. Ela provˆe mecanismos para tratar, de maneira transparente ao usua´rio
final, a sincroniza¸c˜ao da execu¸ca˜o paralela de cada parte. Estes mecanismos foram
baseados nos protocolos de sincronizac¸˜ao Time Warp e Rollback Solid´ario, e uti-
lizaram um padra˜o de comunica¸ca˜o por troca de mensagens. CronoSim tamb´em
permite ao usua´rio analisar o desempenho de outros protocolos de sincroniza¸ca˜o.
Desta forma, serve, tamb´em, como um ambiente de testes para pesquisadores na
a´rea de Simulac¸˜ao Distribu´ıda, pois ser´a dispon´ıvel como um software de c´odigo
aberto. Verificou-se que os resultados da simulac¸˜ao sa˜o gerados corretamente.
Al´em disso, o desempenho de CronoSim foi avaliado experimentalmente e seus
resultados s˜ao promissores.
Abstract
This work presents the design and implementation of a distributed tool — Cro-
noSim — for Discrete Event Simulation. It provides the user with a graphical
environment to assist him/her during the modeling, execution and analysis of the
simulation. CronoSim allows the distributed simulation in which the model is
divided, and each of its parts is simulated in parallel on different processors. It
provides mechanisms to handle, in a transparent manner to the end user, the syn-
chronization of the parallel execution of each part. These mechanisms are based
on the synchronization protocols Time Warp and Solidary Rollback, and make use
of a communication standard for exchanging messages. CronoSim also lets the end
user analyze the performance of other synchronization protocols. Thus, it can be
used, also, as a test environment for researchers in Distributed Simulation area,
it will be available as an open source software. It was found that the simulation
results are generated correctly. Furthermore, the performance of CronoSim was
evaluated experimentally and its results are promising.
SumÆrio
Lista de Figuras p.xi
Lista de Tabelas p.xiv
Lista de Abreviaturas p.xvi
1 Introdu(cid:231)ªo p.1
1.1 Motiva¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p.2
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p.3
1.3 Estrutura da Disserta¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . p.4
2 Simula(cid:231)ªo e Computa(cid:231)ªo Distribu(cid:237)da p.6
2.1 Tipos de Simulac¸˜ao . . . . . . . . . . . . . . . . . . . . . . . . . . p.8
2.2 Simula¸c˜ao Paralela e Distribu´ıda . . . . . . . . . . . . . . . . . . p.9
2.3 Protocolos Otimistas . . . . . . . . . . . . . . . . . . . . . . . . . p.13
2.3.1 Time Warp . . . . . . . . . . . . . . . . . . . . . . . . . . p.16
2.3.2 Rollback Solid´ario . . . . . . . . . . . . . . . . . . . . . . . p.18
2.4 Um Framework Para Simula¸ca˜o Distribu´ıda . . . . . . . . . . . . p.20
2.4.1 Vantagens na Utilizac¸˜ao de Frameworks . . . . . . . . . . p.21
2.4.2 Descri¸c˜ao do Framework Utilizado . . . . . . . . . . . . . p.22
2.4.2.1 Framework Proposto por Cruz (2009) . . . . . . p.23
2.4.2.2 Adapta¸ca˜o do Framework Proposta por Azevedo
(2012) . . . . . . . . . . . . . . . . . . . . . . . . p.28
2.4.2.3 MelhoriasnoFramework PropostasporFaria(2016) p.30
2.5 Considera¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . p.32
3 Ferramentas Para Simula(cid:231)ªo de Eventos Discretos p.36
3.1 Metodologia para An´alise das Ferramentas . . . . . . . . . . . . . p.38
3.1.1 Defini¸co˜es de Crit´erios de Avalia¸ca˜o . . . . . . . . . . . . . p.39
3.2 Avalia¸ca˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p.40
3.2.1 Ana´lise Geral . . . . . . . . . . . . . . . . . . . . . . . . . p.41
3.2.2 Primeira Fase: Filtragem . . . . . . . . . . . . . . . . . . . p.44
3.2.3 Segunda Fase: An´alise das Ferramentas Selecionadas . . . p.45
3.3 Discussa˜o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p.49
3.4 Considera¸c˜oes Finais . . . . . . . . . . . . . . . . . . . . . . . . . p.51
4 Desenvolvimento da Ferramenta p.53
4.1 Tecnologias Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . p.54
4.2 Arquitetura da Ferramenta . . . . . . . . . . . . . . . . . . . . . . p.55
4.3 Aplicac¸˜ao Principal . . . . . . . . . . . . . . . . . . . . . . . . . . p.59
4.3.1 Interface Com o Usu´ario . . . . . . . . . . . . . . . . . . . p.60
4.3.2 Ambiente Para Modelagem . . . . . . . . . . . . . . . . . . p.60
4.3.2.1 Componentes do Modelo de Simulac¸˜ao . . . . . . p.63
4.3.2.2 Representa¸c˜ao de Fluxos . . . . . . . . . . . . . . p.65
Description:Portable Document Format. PVM. Parallel Virtual Machine. RDT. Rollback Dependency Trackability. SED. Simulaç˜ao de Eventos Discretos. SSS.