• No results found

4.2 Analysis Knowledge Management

4.2.4 Knowledge storage

Na Figura 45 é apresentado o modelo RPC para simulação da execução distribuída do problema do Jantar dos Filósofos. Este modelo é baseado no exemplo distribuído junto

Figura 44 – Número de alternância de estados de um filósofo por número de simuladores 10 20 30 40 50 60 70 80 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Número de alternância de estados (Pensan do − Comendo) Identificador do Filósofo

1 Simulator 2 Simulators 3 Simulators

com CPN Tools (CPN Tools, 2016), entretanto, inclui atributos que classificam um filósofo em filósofo de borda ou em filósofo de núcleo.

Fichas de corP❍ são compostas por quatro atributos. O primeiro atributo é do tipo inteiro (■❞P❤✐❧♦s♦♣❤❡r) e representa a identificação única de um filósofo, o segundo (❈♦st) é do tipo real e representa o tempo de comunicação gasto por cada filósofo em operações de “alocação e liberação” de recursos (garfos), o terceiro é do tipo inteiro (❈♦✉♥t) e representa um contador de alternância de estados (incrementado sempre que um filósofo alterna do estado pensandopara o estado comendo) e, por fim, o último atributo também é do tipo inteiro (❚②♣❡) e representa a classificação de um filósofo (0 representa filósofos de núcleo e 1 representa filósofos de borda).

A composição detalhada da cor PH pode ser observada a seguir: ⇒ ❝♦❧s❡t P❍ ❂ ♣r♦❞✉❝t ■❞P❤✐❧♦s♦♣❤❡r ✯ ❈♦st ✯ ❈♦✉♥t ✯ ❚②♣❡❀

Fichas de corP❍ no lugar P❡♥s❛♥❞♦ representam os filósofo que encontram-se no estado pensando, enquanto que fichas de cor PH no lugar❈♦♠❡♥❞♦ representam os filósofo que encontram-se no estado comendo. Fichas de cor● são to tipo inteiro e representam o identificado do garfo mais a esquerda de um filósofo com mesmo id. Assim, o garfo de id igual a 1 está a esquerda do filósofo de id igual a 1. Dessa forma, o filósofo de id 1 precisa dos garfos de id igual a 1 e id igual a 2 para “comer”, o filósofo de id igual a 2 precisa dos garfos de id igual a 2 e id igual a 3, e assim por diante.

Figura 45 – Modelo para simulação distribuída do Jantar dos Filósofos

O disparo da transição P❡❣❛r ●❛r❢♦s faz com que um filósofo saia do estado pensandopara o estado comendo, enquanto que o disparo da transição❉❡✈♦❧✈❡r ●❛r❢♦s faz com que um filósofo saia do estado comendo para o estado pensando.

Os testes realizados nesta etapa buscam medir o desempenho de uma simulação em função do número de processos que a executam, permitindo identificar a influência da comunicação na degradação do desempenho de uma simulação distribuída.

No primeiro caso de testes, cem mil passos de simulação são executados por um único processo, em um cenário contendo 1000 filósofos. Casa simulação é executada trinta e três vezes e tempo de execução médio é extraído.

A seguir variamos o número de processos utilizados em cada simulação (2 ≤ pro- cessos de simulação ≤ 500) e, novamente, extraímos o tempo médio para a execução de cem mil passos. A métrica tempo médio de execução é extraído para situações normais (levando em consideração o tempo de comunicação entre-processos) e ideais (suponto que o tempo de comunicação entre processos é zero). Os resultados obtidos para 1 ≤ processos de simulação ≤ 20 são apresentados na Figura 46.

Figura 46 – Custo por Número de processos de simulação 0 20 40 60 80 100 120 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Tempo de Simulação (UT)

Número de processos de simulação Tempo com comunicação Tempo sem comunicação

Como pode ser observado, à medida que ocorre a inclusão de processos de simulação a uma RPCD, o tempo de simulação diminui. Entretanto, para o cenário especifico, a adição do oitavo processo já não surte os efeitos de um incremento de performance satisfatório. Isso é de- vido ao incremento no número de processos de simulação implicar em overhead de comunicação entre os processos.

Na Figura 47 é apresentado o total de comunicação por processos utilizados na simulação de uma RPCD. Como pode ser observado, a comunicação cresce linearmente à medida que novos processos de simulação são incluídos. Além do próprio processo ser incluído no SD, outra questão que influi na linearidade crescente na comunicação é a maior probabilidade de um filósofo de borda requisitar o recurso disponível em um MRPC distinto.

4.7 Conclusões

Neste capítulo foi apresentada a definição formal das redes de Petri coloridas dis- tribuídas e discutidos os problemas associados ao compartilhamento e acesso concorrente aos lugares de fusão distribuídos.

Foi proposto o protocolo de acesso simultâneo a múltiplas regiões críticas (MAC- P), algoritmo para acesso mutuamente exclusivo aos lugares compartilhados e que permite a execução concorrente de MRPC distintos e com eventos não conflitantes. Foi demonstrado que o MAC-P atende aos dois requisitos básicos de um algoritmo para exclusão mútua: segurança e longevidade.

Figura 47 – Custo da comunicação por processos de simulação 0 10 20 30 40 50 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Custo da comunicação (UT)

Número de Processos de Simulação Custo da comunicação

Ao contrário das abordagens tradicionais, o MAC-P não soliciona conflitos distri- buídos através da associação de prioridades aos eventos conflitantes. No caso das RPCD, esta prática pode comprometer significativamente o poder analítico associado às tradicionais RPC. Embora o MAC-P tenha sido proposto para RPCD, este pode ser generalizado para os vários tipos de SD que necessitam de manter o paralelismo na presença de conflitos efetivos, sem o estabelecimento de prioridades para os eventos distribuídos.

Embora o MAC-P tenha sido proposto para solução de conflitos em RPCD, este pode ser generalizado para os vários tipos de SD que necessitam de manter o paralelismo na presença de conflitos efetivos, sem o estabelecimento de prioridades para os eventos distribuídos.

Para validação da proposta, dois estudos de caso foram propostos e analisados. Os resultados indicam que a adição de novos processos podem incrementar o desempenho de uma simulação, entretanto, existe um limiar a partir do qual a adição de processos, e consequentemente de comunicação, passa a não ser efetivamente lucrativo.

5 CONCLUSÕES E PERSPECTIVAS

Com os objetivos de descrever um mecanismo para extensão e reuso de modelos RPC sem a reprogramação do modelo e de forma simplificada para o usuário e de permitir a representação e simulação de um modelo RPC como subpartes independentes, neste trabalho apresentamos a Interface de Programação Multilinguagem (IPML) e especificamos formalmente as redes de Petri Coloridas Distribuídas (RPCD).

Para a validação e detalhamento da IPML, dois casos de uso foram apresentados. Em ambos, foram concebidos e especializados modelos em RPC (CacheSim e TransportSim) visando à construção de simuladores extensíveis.

No CacheSim, quinze políticas de substituição e duas de admissão estão nativamente disponíveis. Além disso, para demonstrar a extensibilidade do simulador, duas novas políticas de substituição foram incorporadas sem que fosse preciso realizar qualquer modificação no modelo em RPC. O mesmo foi demonstrado no TransportSim, que modela a linha leste do metrô de Fortaleza, no qual a IPML foi utilizada para definição das lógicas de embarque, desembarque e intervalos entre trens.

Os resultados apresentados nos simuladores implementados demonstram a correta especialização de modelos RPC por meio da IPML. Entretanto, as especializações que podem ser incorporadas a um modelo são pré-determinadas pelo desenvolvedor durante a concepção do modelo. No CacheSim, por exemplo, é possível criar novas políticas de admissão, substituição e criar alguns monitores, visto que o simulador foi concebido com esta finalidade. Outras perspectivas de adaptabilidade e extensibilidade podem ser concebidas para o CacheSIM e, nesse caso, serão necessárias modificações no modelo. Assim, o uso da IPML acontece apenas em domínios de aplicação bastante específicos.

No âmbito das RPCD, além de sua especificação formal, apresentamos como as diversas interações entre processos distribuídos podem ser representadas e os principais pro- blemas associados à simulação distribuída de uma RPC. Propusemos o protocolo de acesso simultâneo a múltiplas regiões críticas como solução para o problema dos conflitos distribuídos sem a atribuição de prioridades aos eventos conflitantes e sem comprometer o paralelismo (que pode conferir melhor desempenho) das simulações distribuídas.

Para validação das RPCD, duas abordagens foram utilizadas para análise de um modelo distribuído do jantar dos filósofos, problema que envolve programação concorrente, sincronização entre processos e compartilhamento de recursos. Na primeira abordagem foi

utilizado o CPN Tools, que recebeu um canal de comunicação (socket) para troca de informações com outros MRPC. Na segunda abordagem, para analisar o desempenho de simulações distri- buídas contornando a limitação imposta pelo uso do CPN Tools, foi desenvolvido um modelo do problema do jantar dos filósofos para simular a execução de uma simulação distribuída com configurações de um a quinhentos MRPC.

Os resultados indicam que a distribuição permite melhorar o desempenho de si- mulações para o modelo avaliado. É preciso observar, entretanto, que o desempenho de uma simulação, depende da qualidade da modelagem, assim como no caso de modelos não distribuí- dos. Em RPCD serão alcançados melhores desempenhos modelando-se o maior número possível de eventos paralelos e com o mínimo de comunicação entre os MRPC. O modelo distribuído do jantar dos filósofos foi concebido de maneira que pelo menos uma transição pudesse disparar em cada MRPC a cada unidade de tempo.

Além disso, é preciso considerar que, nas RPCD, o tempo para convergência do MAC- P é diretamente proporcional ao número de MRPC do modelo distribuído. Assim, a simulação de modelos muito fragmentados pode ter o desempenho comprometido pelo MAC-P. Embora o MAC-P tenha sido proposto para solução de conflitos em RPCD, este pode ser generalizado para os vários tipos de Sistemas Distribuídos que necessitem de manter o paralelismo na presença de conflitos efetivos, sem o estabelecimento de prioridades para os eventos distribuídos.

Como trabalhos futuros, sugerem-se alguns temas:

• conceber técnicas para segmentação automática de RPC visando a concepção de RPCD com maior grau de paralelismo entre eventos e menor comunicação entre MRPC;

• analisar o desempenho do MAC-P quando aplicado a outros SD • conceber ferramentas específicas para simulação distribuída de RPCD.

5.1 Publicações

Os resultados obtidos ao longo do desenvolvimento deste trabalho foram publicados em revista científica especializada, conforme apresentado na Tabela 14.

Os resultados obtidos também foram apresentados e publicados em anais de congres- sos internacionais conforme apresentado na Tabela 15.

Por fim, os resultados obtidos também foram apresentados e publicados em anais de congressos internacionais conforme apresentado na Tabela 16.

Tabela 14 – Publicações em revista.

Título Publicação DOI

CacheSIM: A Web Cache Simulator Tool Based on Coloured Petri Nets and Java Programming

IEEE Latin

America Transactions 10.1109/TLA.2015.7112009 A Petri net-based decision-making

framework for assessing cloudservices adoption: The use of spot instances for cost reduction Journal of Network and Computer Applications http://dx.doi.org/ 10.1016/j.jnca.2015.07.002

Tabela 15 – Artigos publicados e apresentados em congressos internacionais

Título Evento DOI

Distributed simulation of coloured Petri Nets: A case study using distributed caches

Information Systems and Technologies (CISTI), 2016 11th Iberian Conference on

10.1109/CISTI.2016.7521449

Modeling the use of spot instances for cost reduction in cloud

computing adoption using a Petri net framework

Integrated Network Management (IM), 2015 IFIP/IEEE International Symposium on

10.1109/INM.2015.7140507

Tabela 16 – Artigos publicados e apresentados em congressos nacionais

Título Evento Local da Publicação

Representação de Lugares de Fusão em Redes de Petri Coloridas construídas com Componentes Distribuídos SBRC 2016 Anais do WoSiDA 2016 - Workshop de Sistemas Distribuídos Autonômicos TRANSPORTSIM: Modelagem

e análise de um sistema metroviário baseado em Redes de Petri Coloridas

CBA 2016

Anais do Congresso Brasileiro de Automática Ano: 2016