A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Protocolo CMB em simulação distribuída

Apresentações semelhantes


Apresentação em tema: "Protocolo CMB em simulação distribuída"— Transcrição da apresentação:

1 Protocolo CMB em simulação distribuída
Davi N. Sousa Edgar T. Hirama Henrique T. P. Jayme Rodrigo P. R. e Silva Vitor Jordão

2 Roteiro da Apresentação
Introdução Simulação Simulação distribuída Protocolo conservativo CMB Deadlock Resolução Detecção Recuperação Lookahead Pacotes e linguagens para simulação

3 Introdução Avaliação de desempenho Técnicas de aferição
Complexidade de modelos Protocolo CMB

4 Simulação Realizar experimentos Avaliar mudanças
Reduzir custos e riscos Utilização abrangente Métodos para sincronização Otimistas Conservadores Simulação Distribuída

5 Simulação Distribuída
Aumento da complexidade das simulações sequenciais – solução inviável Particionar algoritmos Ambientes paralelos Capacidade de comunicação Reduzir o tempo de execução

6 Protocolo CMB Para simular um sistema físico, constrói-se um sistema lógico que simule ações do sistema físico Problema da simulação distribuída: garantir coerência temporal

7 Protocolo CMB Uma abordagem: único clock em todo sistema
Gera gargalo no sistema Outra abordagem: um clock por processo Sem sincronismo global Comunicação via troca de mensagens

8 Protocolo CMB Primeiros algoritmos para simulação distribuída desenvolvidos por Chandy, Misra e Bryant Protocolo CMB CMB: protocolo conservativo Só trata eventos se puder garantir que não chegará outro com marca de tempo menor

9 Protocolo CMB Problema básico: determinar quando é seguro processar um evento Problema de causa e efeito Deadlock Idéia do Protocolo: incluir o tempo de envio na mensagem Mensagem do tipo (T, m)

10 Protocolo CMB Valor do clock do canal (vcc):
Simula seguramente até o tempo 7

11 Deadlock Conjunto de processos em Deadlock: cada um deles espera a execução de um evento por outro Principal enfoque de protocolos conservativos

12 Resolução de Deadlock Mensagens Nulas: indica que o processo físico não envia mensagem no instante t Mensagem do tipo (T, nula) Garante que qualquer mensagem futura terá marca de tempo maior que t Tratamento: atualiza valor do clock do canal

13 Resolução de Deadlock Objetivo: sistema todo com clock igual a T mesmo que nem todos os processos enviem mensagem até o tempo T Problema: sobrecarga devido ao envio de mensagens nulas

14 Detecção de Deadlock Baixa Ocorrência de Deadlocks
Técnica das Mensagens Nulas -> Sobrecarga Abordagem Alternativa Técnica do Marcador (Chandy e Misra)

15 Detecção de Deadlock Técnica do Marcador Mensagem especial “Marcador”
Circula por todos os canais Rede deve ser fortemente conectada Enviado sozinho e em tempo finito Contém informações para detecção Flag (Branco ou Preto) Deadlock -> últimos N processos são brancos Sucesso garantido com ordem correta

16 Recuperação de Deadlock
Técnica do Marcador Recuperação de Deadlocks Armazena tempo do próximo evento Deadlock Tempo do próximo evento Processo Lógico responsável pelo evento Mensagens Nula (p/ PL responsável) Avanço de Clock (todos os PLs) Outra opção: Marcador arbitrário Diminuição de Overhead

17 Lookahead Intervalo em que processos não podem agendar novos eventos (Chandy e Misra) Redução do Tempo de Execução do CMB Duas definições: Inferir o futuro com certeza Prever o que [não] acontecerá na simulação Processo prevê o que pode gerar em T + L “Lookahead L” L pequeno -> Sincronizações e baixo desempenho L grande -> Erros e incoerência

18 Desvantagem do Protocolo Conservativo
Não explora totalmente o paralelismo Pessimista -> Exige execução sequencial Desempenho ligado à capacidade de “olhar à frente”

19 Pacotes e Linguagens para Simulação
Ambiente de Simulação Representação de tempo Emissão de Relatórios Coleta de dados estatísticos . . . Transcrição em programa de simulação Programas de simulação automática Ambiente de simulação fornecido Usuário livre da transcrição

20 Pacotes e Linguagens para Simulação
Linguagens de Programação Convencionais Programador utiliza conhecimento próprio da linguagem de preferência Flexibilidade Ferramentas do ambiente de simulação não são fornecidas, devem ser implementadas

21 Pacotes e Linguagens para Simulação
Linguagens de Simulação Projetadas para diversos tipos de modelos Não é necessária implementação das ferramentas do ambiente de simulação Classificadas em: ( de acordo com modelo ) Orientadas a Evento Orientadas a Atividade Orientadas a Processo

22 Pacotes e Linguagens para Simulação
Pacotes de Uso Específico Voltados a aplicações particulares Pouca flexibilidade Ex.: ARENA Ambiente gráfico para simulação Não necessita código ( programação ) Simulações de transporte de gás natural, manufatura

23 Pacotes e Linguagens para Simulação
Extensões Funcionais Inserção de bibliotecas a linguagens convencionais Fornecimento das ferramentas de um ambiente de simulação Ex.: SMPL

24 SMPL (Simulation Language Program)
Extensão funcional da linguagem C Simulação discreta orientada a eventos Enfoque a eventos fica invisível ao programador

25 SMPL entidades básicas: Recursos Tokens Eventos barramento(rede local)
CPU(sistema computacional) requisição, liberação e preempção de eventos Tokens Eventos

26 SMPL entidades básicas: Recursos Tokens Eventos
Representa uma entidade ativa do sistema pacote em uma rede de comunicação tarefa em sistema computacional Eventos

27 SMPL entidades básicas: Recursos Tokens Eventos
Qualquer mudança de estado em qualquer entidade do sistema CPU ocupada -> disponível Processo terminou de ser executado SMPL escalona e seleciona pela ordem dos tempos de ocorrência

28 SMPL Programa de simulação com este recurso: Rotinas:
Uma de iniciação Uma de controle Indica o número do próximo evento Uma ou mais de eventos Escalona um ou mais eventos Ações para coleta de dados estatísticos

29 SMPL Primitivas: smpl: facility: request: inicia o sistema
cria um descritor para cada recurso do modelo request: requisita atendimento a um dos servidores do recurso

30 SMPL Primitivas: release: schedule: cause:
libera um servidor de um dado recurso schedule: faz o escalonamento dos eventos cause: remove o primeiro elemento da lista de eventos futuros

31 SMPL Primitivas para a fila de eventos para a lista de eventos futuros
para análise estatística

32 Conclusão A construção de modelos para a simulação de sistemas reais é uma ferramenta aplicável em diversas áreas simulação em sistemas distribuídos (complexidade) simulação na engenharia, ciência da computação, economia e aplicações militares

33 Conclusão Protocolo CMB
O grande problema da simulação em um sistema distribuído é garantir a coerência temporal uma vez que cada parte do sistema estará executando em uma unidade diferente promover a troca de mensagens utilizando uma marca de tempo garantia que apenas o evento com menor marca de tempo pode ser executado em todo o ambiente de simulação.

34 Fim


Carregar ppt "Protocolo CMB em simulação distribuída"

Apresentações semelhantes


Anúncios Google