arquiteturas para coleta, consolidaÇÃo e … · av. prof. mello moraes, 2231, cep 05508-030, são...

11
ARQUITETURAS PARA COLETA, CONSOLIDAÇÃO E APRESENTAÇÃO DOS DADOS AO FINAL DE SIMULAÇÕES NÃO SEQÜENCIAIS Fabrício Junqueira Escola Politécnica da Universidade de São Paulo Av. Prof. Mello Moraes, 2231, CEP 05508-030, São Paulo, SP, Brasil [email protected] Paulo Eigi Miyagi Escola Politécnica da Universidade de São Paulo Av. Prof. Mello Moraes, 2231, CEP 05508-030, São Paulo, SP, Brasil [email protected] RESUMO Com demandas maiores e mais freqüentes por produtos novos e personalizados, as empresas são impelidas a se unirem em cadeias globais de projeto e colaborarem entre si, e se apresentando como uma organização virtual. Este novo padrão de relacionamento pode ser identificado como um novo paradigma de produção, chamado de rede de manufatura dispersa. Para facilitar a criação de novos negócios e produtos, os potenciais parceiros devem ser capazes de avaliar rapidamente quando será vantajoso para eles atuarem nessa organização virtual. Os métodos de modelagem, e a simulação paralela e distribuída, podem ser empregados para obter estas informações. Os estudos nesta área têm focado a forma de particionar os modelos, o balanceamento de carga, e a sincronização dos relógios dos simuladores. Porém, são poucas ou raras as referências a respeito da coleta, consolidação e apresentação dos dados ao final da simulação, que são aspectos fundamentais e que motivaram este trabalho. PALAVRAS CHAVE. Sistema produtivo disperso, Simulação paralela, Simulação distribuída. ABSTRACT The growing demand of the new and customized products impels companies to work together and to collaborate globally on the implementation of new projects, and to present themselves as a virtual organization. This new pattern of relationship can be identified as a new paradigm of production, called dispersed manufacturing network. In order to improve the creation of new businesses and products, potential partners should be able to quickly evaluate the advantages of working as a virtual organization. The modeling methods, and the parallel and distributed simulation, can be used to obtain this information. The studies in this area have focused on the partition of the models, on the load balancing, and on the synchronization of simulators clocks. However, there are few or rare references regarding to the collection, to the consolidation, and to the presentation of data at the end of the simulation, which are crucial, and motivate this work. KEYWORDS. Disperse productive system, Parallel simulation, Distributed simulation. XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3344

Upload: vutram

Post on 02-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

ARQUITETURAS PARA COLETA, CONSOLIDAÇÃO E APRESENTAÇÃO DOS DADOS AO FINAL DE SIMULAÇÕES NÃO SEQÜENCIAIS

Fabrício Junqueira

Escola Politécnica da Universidade de São Paulo Av. Prof. Mello Moraes, 2231, CEP 05508-030, São Paulo, SP, Brasil

[email protected]

Paulo Eigi Miyagi Escola Politécnica da Universidade de São Paulo

Av. Prof. Mello Moraes, 2231, CEP 05508-030, São Paulo, SP, Brasil [email protected]

RESUMO

Com demandas maiores e mais freqüentes por produtos novos e personalizados, as empresas são impelidas a se unirem em cadeias globais de projeto e colaborarem entre si, e se apresentando como uma organização virtual. Este novo padrão de relacionamento pode ser identificado como um novo paradigma de produção, chamado de rede de manufatura dispersa. Para facilitar a criação de novos negócios e produtos, os potenciais parceiros devem ser capazes de avaliar rapidamente quando será vantajoso para eles atuarem nessa organização virtual. Os métodos de modelagem, e a simulação paralela e distribuída, podem ser empregados para obter estas informações. Os estudos nesta área têm focado a forma de particionar os modelos, o balanceamento de carga, e a sincronização dos relógios dos simuladores. Porém, são poucas ou raras as referências a respeito da coleta, consolidação e apresentação dos dados ao final da simulação, que são aspectos fundamentais e que motivaram este trabalho.

PALAVRAS CHAVE. Sistema produtivo disperso, Simulação paralela, Simulação distribuída.

ABSTRACT

The growing demand of the new and customized products impels companies to work together and to collaborate globally on the implementation of new projects, and to present themselves as a virtual organization. This new pattern of relationship can be identified as a new paradigm of production, called dispersed manufacturing network. In order to improve the creation of new businesses and products, potential partners should be able to quickly evaluate the advantages of working as a virtual organization. The modeling methods, and the parallel and distributed simulation, can be used to obtain this information. The studies in this area have focused on the partition of the models, on the load balancing, and on the synchronization of simulators clocks. However, there are few or rare references regarding to the collection, to the consolidation, and to the presentation of data at the end of the simulation, which are crucial, and motivate this work.

KEYWORDS. Disperse productive system, Parallel simulation, Distributed simulation.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3344

1. Introdução Poucas empresas, especialmente pequenas e médias, possuem conhecimentos técnicos

suficientes ou aptidão para desenvolver um produto completo (Yan et al., 2009). Além disso, com demandas maiores e mais freqüentes por produtos novos e personalizados, as empresas são impelidas a se unirem em cadeias globais de projeto e colaborarem entre si, compartilhando conhecimento, adotando e aplicando melhores práticas de concepção e fabricação de produtos, e explorando aplicações baseadas na internet, a fim de ganharem vantagem competitiva (Fan et al., 2008) (Panetto and Molina, 2008). De forma a minimizar o tempo de projeto e suas possíveis complicações, um time de especialistas de diferentes áreas devem se unir para formar uma organização virtual a fim de cooperarem de forma dinâmica e próxima (Fan et al., 2008), permitindo que seus conhecimentos, recursos, e seus próprios conhecimentos do negócio sejam devidamente combinados para levar vantagem nas oportunidades de negócio que existem na produção em larga escala, comparado ao que teria se estivesse só (Venkateswaran, et al., 2001). O rápido avanço da tecnologia da informação (TI) tem assim assumido uma grande importância no desenvolvimento de novos produtos (Yan et al., 2009) e na colaboração.

Nesse contexto, estas empresas deixam de ser consideradas como entidades isoladas, e passam a ser parte de um consórcio de empresas cooperativas (Shi and Gregory, 1998) (Zhang, et al., 2006) (Shi et al., 2002). Este novo padrão de relacionamento pode ser identificado como um novo paradigma de produção, chamado de rede de manufatura dispersa (Zhan et al., 2003) (Cheng, Cheng, 2006). Uma rede de manufatura dispersa consiste de instalações físicas que estão geograficamente dispersas, mas precisam se comunicar e trabalhar cooperativamente trocando uma grande quantidade de informações e dados entre suas próprias fábricas, empresas terceirizadas e fornecedores. O projeto e operação deste tipo de sistema produtivo requerem uma abordagem de projeto distribuído, em que equipes geograficamente (fisicamente) distribuídas colaboraram para a especificação do sistema e avaliação dos processos produtivos.

Para facilitar a criação de novos negócios e produtos, os potenciais parceiros devem ser capazes de avaliar rapidamente quando será vantajoso para eles atuarem dentro desse ambiente de organização virtual. Os métodos de modelagem e a simulação podem, então, ser empregados para obter estas informações (Kasch et al., 2009) (Yuan et al., 2007).

Modelagem e simulação são métodos eficientes para o treinamento, educação, planejamento, análise e suporte à decisão. Eles têm sido empregados em diferentes domínios como manufatura, militar e saúde (Moradi and Ayani, 2008). Porém, este novo cenário produtivo e o conseqüente aumento da complexidade dos sistemas exigem o desenvolvimento de soluções para abstrair suas principais características e analisar o seu comportamento/desempenho. Entre elas destaca-se a utilização das simulações paralela e distribuída. Em ambos os casos a execução de um único modelo de simulação é distribuído entre múltiplos processadores (Fujimoto, 1999) (Banks et al., 2000). Assim, o tempo necessário para se obter os resultados da simulação podem ser significativamente reduzidos ao se paralelizar a execução de tarefas (Chrost et al., 2009). Sistemas relativamente simples (com poucos elementos), porém com um alto grau de interação, também podem ser analisados mais rapidamente utilizando-se as simulações paralela e/ou distribuída quando comparado com a simulação seqüencial.

Dentre as várias razões para se distribuir a execução da simulação entre múltiplos computadores (Fujimoto, 1999), cita-se: (1) redução do tempo de execução – por meio da subdivisão de um modelo de simulação entre vários processadores, executando-as concorrentemente, pode-se reduzir o tempo de execução da simulação por um fator menor ou igual ao número de processadores utilizados; (2) distribuição geográfica – executando o programa de simulação em um conjunto de computadores geograficamente distribuídos, pode-se criar mundos virtuais com muitos participantes que podem estar em diferentes localidades geográficas, o que alivia drasticamente os custos com viagens destinadas à criação de exercícios conjuntos envolvendo participantes de diferentes localidades; (3) integração de simuladores (simulações) combinando simulações que são executadas em máquinas de diferentes fabricantes;

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3345

e (4) tolerância a falhas – se um processador falhar permite-se que os demais processadores continuem a simulação.

O que se observa na bibliografia apresentada ao longo deste texto, bem como em trabalhos anteriores relacionados à simulação não seqüencial (Junqueira, 2006) (Junqueira and Miyagi, 2006) (Junqueira et al., 2005) é a preocupação com:

• A escolha da arquitetura a ser utilizada;

• A forma de particionar os modelos entre os processadores/equipamentos;

• O balanceamento de carga entre os processadores e a rede de comunicação;

• A sincronização dos relógios dos simuladores. No entanto, são poucas ou raras as referências a respeito da coleta, consolidação e

apresentação dos dados ao final da simulação. Neste sentido, o trabalho de (Sampson et al., 2009) propõe utilizar um painel (dimensões 7x4), onde a simulação distribuída entre 28 computadores é projetada, podendo, desta forma, ser acompanhada. Porém, pelos poucos trabalhos voltados para coleta, consolidação e apresentação dos dados da simulação, no presente trabalho, analisam-se as características dos sistemas não seqüenciais e propõe-se uma arquitetura para esta finalidade.

Na seção 2 são apresentados alguns conceitos sobre simulação não seqüencial. Na seção 3 são propostas algumas arquiteturas para realizar a coleta, consolidação e apresentação dos dados ao final da simulação não seqüencial. A seção 4 apresenta as considerações finais sobre este trabalho.

2. Conceitos básicos sobre simulação não seqüencial Nesta seção são apresentados alguns conceitos básicos relacionados à simulação não

seqüencial e que servem de subsídio para a proposta de uma arquitetura para realizar a coleta, consolidação e apresentação dos dados ao final da simulação.

2.1. Arquiteturas de simulação As abordagens não seqüenciais podem ser úteis para melhorar o desempenho da simulação

ao distribuir a execução das tarefas em diferentes processadores que operam em paralelo. Estes processadores podem ser conectados a algum “controle central” onde, durante a simulação, pode-se trocar informações com este, quando necessário. Por outro lado, os processadores podem ser inteiramente distribuídos, com um mínimo de interação com um “controle central”, o qual apenas mantém um repositório dos dados a serem processados. Geralmente, as plataformas computacionais podem ser centralizadas ou amplamente distribuídas, porém, quanto melhor for a infra-estrutura de rede de comunicação para apoiar o intercâmbio de informações entre os processadores e o “controle central” ou o repositório de dados, menos relevante se torna a localização física dos equipamentos (Kasch et al., 2009). Assim, as arquiteturas para simulação não seqüencial podem ser classificadas de duas formas: A) Arquitetura ou simulação paralela

Na simulação paralela, o esforço de computação para simular um modelo de grande porte é distribuído em um ambiente multi-processado (Fujimoto, 2003) (Perumalla et al., 2005) (Nicol and Roy, 1991) (Chiola and Ferscha, 1993) (Kumar and Kohli, 1997) (Beraldi and Nigro, 1999). Contudo, a partição do sistema e a distribuição de processamento são transparentes para os usuários. Do ponto de vista do usuário, a simulação é realizada como um sistema não distribuído. Os principais inconvenientes desta solução são custos relativamente elevados e uma abordagem

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3346

de modelo centralizadora. Alguns pesquisadores propõem a criação e manutenção de uma lista global de eventos que deverão ocorrer (Chiola and Ferscha, 1993) (Djemame et al., 1998). A lista é por sua vez classificada e dividida entre os vários processadores. Cada processador, em seguida, gerencia a sua própria lista local de eventos. A partição do modelo pode resultar em conflitos, como quando um estado é a pré ou pós-condição de dois ou mais eventos alocados em diferentes processadores. Neste caso, os processadores trocam um conjunto de mensagens para resolver o conflito preservando a causalidade entre os eventos. B) Arquitetura ou simulação distribuída

Segundo Fujimoto (2000), as características que distinguem os computadores distribuídos das máquinas paralelas são a heterogeneidade dos equipamentos e a rede de comunicação que os interconecta. Diferente dos computadores paralelos, os sistemas distribuídos são geralmente compostos por computadores de diferentes fabricantes. A heterogeneidade é importante pois, muitos simuladores distribuídos foram construídos pela interconexão de simuladores seqüenciais existentes, operando em estações de trabalho específicas. A heterogeneidade elimina a necessidade de ter que portar os simuladores existentes para novas plataformas, e permite a participação de usuários com diferentes tipos de computadores na simulação. Outra característica é quanto à interconexão entre os computadores. Enquanto nos computadores paralelos são utilizadas soluções proprietárias, na computação distribuída utilizam-se padrões adotados nas redes de telecomunicação. A conseqüência é uma piora no desempenho devido ao empacotamento e desempacotamento de dados impostos pelos protocolos, afetando tanto a troca de mensagens entre computadores fisicamente próximos quanto entre os distantes.

Em síntese, a simulação distribuída trata da execução de simulações em computadores geograficamente dispersos, conectados por meio de uma LAN (Local Area Network) ou WAN (Wide Area Network), podendo-se obter um tipo de supercomputador virtual (Fujimoto, 1999) (Banks et al., 2000). Uma das suas principais vantagens é a possibilidade de explorar a capacidade em geral ociosa de computadores dispersos geograficamente.

Uma das formas de se realizar a simulação distribuída é por meio de grids. O conceito de grid foi proposto inicialmente em meados da década de 1990 visando a colaboração, de forma dinâmica, entre sistemas computacionais heterogêneos e distribuídos. Um grid pode envolver computadores geograficamente distribuídos, incluindo computadores de alto desempenho, estações de trabalho, computadores pessoais, bancos de dados, e outros equipamentos conectados através de uma rede de comunicação, formando um ambiente computacional de alto desempenho, transparente para os usuários (Fan et al., 2008) (Yuan et al., 2007). Pode-se ainda encontrar uma arquitetura derivada do grid, conhecida como arquitetura peer to peer (P2P). Nela, todos os computadores têm a mesma função, e o grid é aberto e dinâmico (Bourhis et al., 2009).

2.2. Particionamento dos modelos e balanceamento de carga nos processadores e na rede de comunicação

Um problema inerente à simulação não seqüencial é a partição do modelo entre os processadores e, algumas propostas utilizam o conhecimento prévio do sistema modelado para otimizar a simulação (Nevison, 1990) apud (Fujimoto, 1990). No entanto, a otimização da simulação torna-se inviável quando se trabalha com técnicas genéricas/flexíveis de modelagem e número indefinido de processadores. Neste caso, é, portanto, impossível a utilização de estratégias de otimização baseadas no conhecimento prévio sobre o sistema bem como o número de processadores a ser utilizado na simulação.

Outro ponto importante em se tratando de simulação não seqüencial é o balanceamento da carga nos processadores e na rede de comunicação. O desbalanceamento de carga é um dos fatores chave que afetam a degradação do desempenho durante a execução da simulação.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3347

Considerando a dificuldade de se predizer o comportamento da simulação durante sua execução, a alocação estática de carga não funciona de forma eficiente em muitos casos. Conseqüentemente, o balanceamento dinâmico de carga vem de encontro a suprir esta deficiência ao rebalancear a carga de trabalho durante a execução da simulação. Para tanto, são utilizadas as informações do sistema (consumo de processadores e rede de comunicação) para mover um processo de um local para outro. No entanto, deve-se considerar com cuidado a sobrecarga que será gerada ao se migrar, dinamicamente, um processo de um ponto a outro, de forma a se ter um ganho de desempenho (Ajaltouni et al., 2008). Alguns métodos para se realizar o balanceamento dinâmico de carga e outros estudos relacionados podem ser obtidos em (Ajaltouni et al., 2008).

2.3. Sincronização dos relógios dos simuladores O algoritmo de sincronização garante que as relações de causalidade do sistema real sejam

corretamente reproduzidas na simulação. Com este intuito, os mecanismos conservador e otimista de sincronização foram propostos. Estes mecanismos geralmente assumem que a simulação consiste de uma coleção de processos lógicos (PLs) que se comunicam através da troca de mensagens ou eventos. O objetivo do mecanismo de sincronização é garantir que os PLs processem os eventos na ordem cronológica. Se todos os PLs respeitam a relação de causalidade, a simulação em paralelo irá reproduzir os mesmos resultados de uma simulação seqüencial (Fujimoto, 1999) (Poplawski and Nicol, 1999).

A) Abordagem conservadora

A principal atividade de um protocolo conversador é determinar quando é seguro processar um evento, isto é, quando se pode garantir que nenhum evento contendo um timestamp inferior ao relógio do PL será recebido. Um PL não pode processar um evento até que se tenha a garantia que este é seguro (Fujimoto, 1999) (Beraldi and Nigro, 1999) (Chiola and Ferscha, 1993).

As mensagens que chegam a um PL são armazenadas em uma fila ordenada pela sua ordem cronológica conforme o seu timestamp e não sua ordem efetiva de chegada. Os eventos locais são agendados pelo PL em uma fila. Cada PL possui um relógio cujo tempo corresponde ao do timestamp da mensagem que encabeça a fila, caso a fila contenha mensagens; ou o timestamp da última mensagem, caso esteja vazia (Fujimoto, 1999).

Se há relativamente poucos eventos não processados em um PL comparado ao número de PLs que este está conectado, ou se os eventos não processados se tornarem localizados/concentrados em um pequeno grupo de PLs da rede de comunicação, podem ocorrer travamentos. Para que isso não ocorra, é utilizado o artifício de enviar mensagens nulas (Chandy and Misra, 1979) (Misra, 1986). Quando um PL finaliza o processamento de um evento ou de uma mensagem nula, ele envia uma mensagem nula para cada um dos PLs que a ele estão conectados, notificando-lhes qual o seu relógio local de simulação (Fujimoto, 1999).

A abordagem conservadora evita erros de causalidade por meio do bloqueio da ocorrência de eventos que são considerados como inseguros, isto é, eventos que podem levar a uma situação onde as restrições de causalidade são violadas (Beraldi and Nigro, 1999). Como resultado, todos os nós (computadores ou processadores) devem compartilhar o mesmo clock de simulação.

B) Abordagem otimista

Em contraste com a abordagem conservadora, que previne a violação da relação de causalidade localmente, os métodos otimistas permitem que a violação ocorra, mas estão sujeitas à detecção e processo de recuperação nestes casos (Chiola and Ferscha, 1993) (Nicol and Roy, 1991). Esta abordagem oferece duas vantagens importantes sobre as técnicas conservadoras. Primeiro elas podem explorar maiores graus de paralelismo. Se dois eventos podem se afetar

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3348

mutuamente, mas os cálculos são tais que eles na realidade não afetam significativamente o resultado final, o mecanismo otimista pode processar os dois concomitantemente, enquanto o método conservador deve executá-los em seqüência. Segundo, o mecanismo conversador geralmente depende de informações específicas da aplicação de forma a poder determinar quais eventos são seguros para serem processados. Apesar o mecanismo otimista poder ser executado de forma mais efetiva de posse desta informação, eles são menos dependentes desta para sua correta execução. Isso permite que a sincronização seja mais transparente para a aplicação, simplificando o desenvolvimento de software. Por outro lado os modelos otimistas apresentam maior consumo do computador, acarretando certa degradação do desempenho destes (Beraldi and Nigro, 1999) (Fujimoto, 1999).

O mecanismo Time Warp, proposto por Jefferson (1985), é o método otimista mais conhecido. Quando um PL recebe um evento com timestamp menor a um ou vários eventos já processados, ele desfaz todos os eventos com tempo superior ao do evento recebido e reprocessa todos os eventos em ordem cronológica. Desfazer as operações implica em restaurar o estado do PL àquele anterior ao evento recebido (pontos de verificação são usados para isso), e enviar anti-mensagens aos demais PLs. Utiliza-se um relógio virtual global (RVG) como referência para apagar os pontos de verificação gerados num tempo anterior ao RVG, evitando que os eventos seguros sejam desfeitos, ao mesmo tempo, liberando a memória (Fujimoto, 1999).

A sincronização é uma área de pesquisa amplamente estudada no campo da simulação paralela discreta. Não há consenso sobre qual abordagem é melhor utilizar. Isto depende da aplicação. No geral, se a aplicação possui “boas” características de previsão e a aplicação é programada para explorar isso, o método conservador é mais adequado. De outra forma, o método otimista se mostra mais promissor (Fujimoto, 1999). 3. Arquiteturas para coleta, consolidação e apresentação dos dados ao final da simulação não seqüencial

Nesta seção são apresentadas algumas considerações sobre a coleta de dados para estatísticas ao final da simulação. Parte-se da simulação seqüencial como referência, até se chegar à simulação distribuída em um consórcio de empresas, um cenário mais complexo.

3.1. Simulação seqüencial Os softwares comerciais, normalmente voltados para a simulação seqüencial em computados

pessoais ou estações de trabalho, estão preparados para a coleta de dados estatísticos de seus elementos (Fig. 1a). Pode-se citar, como exemplo, o ProModel1, que permite a coleta de informações quanto aos locais, entidades, recursos, variáveis, entre outros. Softwares não comerciais, como o VisualObjectNet++2, um software voltado para a modelagem de sistemas em Rede de Petri (Junqueira, 2006), também permite a coleta de dados para análise após a simulação.

3.2. Simulação em computadores paralelos Na simulação em computadores paralelos, o particionamento dos modelos e processos, e

consolidação dos dados, eventualmente em banco de dados, são realizados pelo software de forma transparente para o(s) usuário(s) (Fig. 1b).

A simulação paralela pode ser empregada para simular os sistemas de um consórcio de empresas, trabalhando de forma cooperativa. No entanto, mesmo que diferentes contas de acesso sejam criadas, o responsável pelo equipamento sempre terá acesso às informações das mesmas. 1 www.promodel.com 2 www.informatik.uni-hamburg.de/TGI/PetriNets/tools/db/visualobjectnet.html

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3349

(a) (b)

Figura 1. (a) Simulação seqüencial; e (b) Simulação em computador paralelo, onde apesar de possuir diferentes processadores, o paralelismo é transparente para o usuário.

3.3. Simulação distribuída em uma empresa ou departamento No contexto da simulação distribuída, os modelos e os dados gerados podem estar

disponíveis para os membros da empresa envolvidos no projeto e na simulação. Como visto anteriormente (seção 2), normalmente um equipamento é utilizado para coordenar a simulação e/ou servir de repositório de dados (Fig. 2a). Para facilitar a análise dos dados, convém que até o final da simulação todos os dados gerados tenham sido transferidos para este equipamento, permitindo sua consolidação.

(a) (b)

Figura 2. (a) Arquitetura distribuída com um computador responsável por coordenar e consolidar os dados da simulação; (b) Transferência dos dados para o coordenador antes de migrar o processo de um computador para

outro.

Assim, deve-se determinar quando é seguro e/ou conveniente realizar a transferência dos

dados: (1) ao final da simulação; ou (2) durante a simulação. Neste caso, dois fatores podem ser levados em consideração:

• Existem experimentos de simulação que podem durar horas, ou mesmo dias, e gerar uma grande quantidade de dados. Neste caso, deixar a transferência destes para o final da simulação pode gerar (a) uma sobrecarga na rede de comunicação, (b) no equipamento onde o processo está sendo executado, pois o sistema operacional terá que gerenciar todos os dados em disco, e (c) no equipamento responsável por consolidar os dados (por exemplo, servidor de banco de dados), pois receberá uma grande quantidade de dados de uma única vez;

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3350

• Alguns simuladores podem adotar o balanceamento dinâmico de carga ao longo da simulação. Desta forma, se a transferência dos dados ocorrer apenas no final da simulação, ao se realizar o balanceamento de carga, os dados gerados até aquele momento deverão ser migrados de um equipamento para outro junto com o processo. Por outro lado, se a transferência ocorrer durante a simulação, os dados parciais gerados podem ser transferidos para o equipamento responsável pela consolidação, e o processo migrado para outro equipamento (Fig. 2b). Com base no exposto, recomenda-se realizar a transferência dos dados ao longo da

simulação, de forma que o tráfego de dados seja distribuído no tempo, evitando as sobrecargas anteriormente apontadas. No entanto, ainda é necessário determinar quando é seguro transferir os dados, uma vez que podem ser utilizados algoritmos conservadores ou otimistas para sincronizar os simuladores.

Neste sentido, observa-se que os métodos otimistas são mais complexos por permitirem o rollback das operações quando a relação de causalidade é violada. Os métodos otimistas utilizam um relógio virtual global (RVG) para sinalizar para o sistema que a simulação transcorrida até o momento é segura e não será desfeita. Assim, o RVG pode ser adotar como “ponto de controle” para a transferência dos dados.

3.4. Simulação distribuída em um consórcio de empresas Quando uma empresa participa de um consórcio, nem todas as suas informações são

compartilhadas. Este caso difere do anterior por pressupor/considerar a necessidade de sigilo de parte dos dados gerados (Junqueira, 2006). Assim, apesar de poder haver uma alta interação entre os modelos de diferentes empresas, tanto a migração de processos entre equipamentos quanto os dados deve se restringir à empresa responsável pelos modelos.

No entanto, uma vez que se estabelece um consórcio de empresas com um objetivo comum, é de se esperar o compartilhamento de alguns dados. Isso geralmente se dá com dados consolidados (Fig. 3), que ao contrário do item anterior, só podem ser trabalhados ao final da simulação. Neste caso, a consolidação dos dados pode ser feita (a) manualmente por uma pessoa (ou equipe), ou de forma automática, ao término da simulação, (b) por script externo chamado pelo coordenador da simulação, ou (c) por script no próprio coordenador.

Das três opções apresentadas, é desejável que as empresas, ao proporem simuladores voltados à simulação distribuída, permitam a criação, armazenagem e execução dos scripts junto com os modelos. 4. Comentários finais

Este trabalho abordou aspectos das simulações não seqüenciais, comumente classificadas como paralelas ou distribuídas, devido a sua destacada importância no cenário competitivo moderno, onde as empresas necessitam cooperar para, em um curto espaço de tempo, e de forma competitiva, suprir o mercado com novos produtos.

Com base no material que tem sido publicado, observou-se uma maior preocupação com aspectos de simulação como a escolha da arquitetura a ser utilizada, a forma de particionar os modelos entre os processadores/equipamentos, o balanceamento de carga entre os processadores e a rede de comunicação, e a sincronização dos relógios dos simuladores.

No entanto, raros são os trabalhos que apresentam uma forma de coletar, consolidar e apresentar os dados estatísticos coletados, de forma a munir o consórcio de empresas com informações para a tomada de decisões.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3351

Figura 3. As setas roxas sinalizam a livre interação entre os computadores, e as setas vermelhas a consolidação

dos dados ao final da simulação.

Desta forma, neste trabalho foram apresentadas algumas arquiteturas e considerações a este respeito, partindo-se da simulação seqüencial (item 3.1), como referência, e abordando-se ao final o caso mais complexo, onde se têm membros de um consórcio interagindo por simulação (item 3.4). Acredita-se ainda que os centros de pesquisa e as empresas deveriam focar esforços para atender os casos mais complexos, uma vez que os demais casos podem ser considerados casos particulares do apresentado no item 3.4. 5. Agradecimentos

Os autores agradecem as agencias governamentais de fomento CNPq, CAPES e FAPESP, especialmente o comitê TIDIA/KyaTera. 6. Lista de Referências Ajaltouni, E.E., Boukerche. A. and Zhang, M., An efficient dynamic load balancing scheme for distributed simulations on a grid infrastructure, 12th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications (DS-RT 2008), pp.61–68, 2008. Banks, J., Simulation in the future. 2000 Winter Simulation Conference, pp. 1568–1576, 2000. Beraldi, R. and Nigro, L., Distributed simulation of timed Petri nets: a modular approach using actors and time warp, IEEE Concurrency, Vol. 7, pp.52–62, 1999. Bourhis, M., Desmeulles, G., Bonneaud, S., Guerrero, F. and Rodin, V., Data consistency in distributed virtual reality simulations applied to biology, 5th International Conference on Autonomic and Autonomous Systems (ICAS 2009), pp.154–161, 2009. Chandy, K.M. and Misra, J., Distributed simulation: A case study in design and verification of distributed programs, IEEE Transactions Software Engineering, Vol. 5, No 5, pp.440–452, 1999. Cheng, J. and Cheng, L., Dispersed networked manufacturing mode and its application in China. IEEE International Conference on Industrial Informatics, pp. 1291–1294, 2006. Chiola, G. and Ferscha, A., A distributed discrete event simulation framework for timed Petri net models, Technical Report Series of the Austrian Center for Parallel Computation, ACPC/TR, pp.93–21, 1993.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3352

Chrost, L., Brachman, A. and Chydzinski, A., A program suite for distributed simulation of networks in multi-core environments, 8th International Conference on Networks (ICN 2009), pp. 6–11, 2009. Djemame, K., Gilles, D.C., Mackenzie, L.M. and Bettaz M., Performance comparison of high-level algebraic nets distributed simulation protocols, Journal of Systems Architecture, Vol. 44, pp.457–472, 1998. Fan, L.Q., Kumar, A.S., Jagdish, B.N. and Bok, S.H., Development of a distributed collaborative design framework within peer-to-peer environment, Computer-Aided Design, Vol. 40, pp.891–904, 2008. Fujimoto, R., Parallel discrete event simulation. Communications of the ACM, Vol. 33, pp.30–53, 2003. Fujimoto, R.M., Parallel and Distributed Simulation Systems, New York, John Wiley & Sons Inc., 2000. Fujimoto, R.M., Parallel and distributed simulation. Winter Simulation Conference 1999, pp. 122–131, 1999. Jefferson, D., Virtual time, ACM Transactions on Programming Languages and Systems, Vol. 7, No 3, pp.404–425, 1985. Junqueira F. and Miyagi, P.E., A new method for the hierarchical modeling of productive systems, In: BASYS´06 7th IFIP Intern. Conf. on Information Technology for Balanced Automation Systems in Manufacturing and Services, 2006, Niagara Falls. Information Technology for Balanced Manufacturing Systems. Boston : Springer, Vol. 220. pp. 479-488, 2006. Junqueira, F., Modelagem e simulação distribuída de sistemas produtivos. Tese (Doutorado). Escola Politécnica da Universidade de São Paulo, São Paulo, 2006. Junqueira, F., Villani, E. and Miyagi, P.E., A platform for distributed modeling and simulation of productive systems based on Petri nets and object-oriented paradigm, IEEE Intern. Conf. on Emerging Technologies and Factory Automation (ETFA 2005), Catania, pp.907–914, 2005. Kasch, W.T., Ward. J.R. and Andrusenko, J., Wireless network modeling and simulation tools for designers and developers, IEEE Communications Magazine, Vol. 47, pp. 120–127, 2009. Kumar, D. and Kohli, A., Faster simulation of timed Petri nets via distributed simulation. 21st International Computer Software and Applications Conference (COMPSAC 1997), pp.149–152, 1997. Misra, J., Distributed discret-event simulation, Computer Surveys, Vol. 18, No. 1, pp.39–65, 1986. Moradi, F. and Ayani, R., An agent-based environment for simulation model composition, 22nd IEEE Workshop on Principles of Advanced and Distributed Simulation (PADS 2008), pp.175–184, 2008. Nevison, C., Parallel simulation of manufacturing systems: structural factors, 22nd SCS Multiconference on Distributed Simulation, Vol. 1, pp.17–19, 1990. Nicol, D.M. and Roy, S., Parallel simulation of timed Petri-nets, 1991 Winter Simulation Conference, pp. 574–583, 1991. Panetto, H. and Molina, A., Enterprise integration and interoperability in manufacturing systems: trends and issues, Computers in Industry, Vol. 59, pp. 641–646, 2008. Perumalla, K.S., Fujimoto, R.M., Thakare, P.J., Pande, S., Karimabadi, H., Omelchenko, Y. and Driscoll, J., Performance prediction of large-scale parallel discrete event models of physical systems, 2005 Winter Simulation Conference, pp. 356-364, 2005. Poplawski, A.L. and Nicol, D.M., An investigation o out-of-core parallel discrete event simulation, 1999 Winter Simulation Conference, pp. 524–530, 1999. Sampson, A.T., Bjørndalen, J.M. and Andrews, P.S., Birds on the wall: distributing a process-oriented simulation, IEEE Congress on Evolutionary Computation (CEC 2009), pp.225–231, 2009. Shi, Y. and Gregory, M., International manufacturing networks – to develop global competitive capabilities, Journal of Operations Management, Vol. 16, pp.195–214, 1998.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3353

Shi, Y., Fleet, D. and Gregory, M., Understanding and conceptualising the global manufacturing virtual network, IEEE Intern. Conf. on Engineering Management (IEMC 2002), Vol. 1, pp.119–124, 2002. Venkateswaran, J., Jafferali, M.Y.K. and Son, Y-J., Distributed simulation: an enabling technology for the evaluation of virtual enterprises, 2001 Winter Simulation Conference, pp.856–862, 2001. Yan, W., Chen, C-H, Huang, Y. and Mi, W., A data-mining approach for product conceptualization in a web-based architecture, Computers in Industry, Vol. 60, pp.21–34, 2009. Yuan, C., Xianlong, J. and Zhi, L., A distributed simulation system and its application, Simulation Modelling Practice and Theory, Vol. 15, pp.21–31, 2007. Zhan, H.F. et al., A web-based collaborative product design platform for dispersed network manufacturing, Journal of Materials Processing Technology, Vol. 138, pp.600–604, 2003. Zhang, Y., Gregory, M. and Shi Y., Foundations of global engineering networks: essential characteristics of effective engineering networks, IEEE International Conference. on Management of Innovation and Technology, Vol. 2, pp.1113–1117, 2006.

XLI SBPO 2009 - Pesquisa Operacional na Gestão do Conhecimento Pág. 3354