Carregar apresentação
A apresentação está carregando. Por favor, espere
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
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.