protocolo cmb em simulação distribuída davi n. sousa6445400 edgar t. hirama6445518 henrique t. p....
Post on 18-Apr-2015
104 Views
Preview:
TRANSCRIPT
Protocolo CMB em simulação distribuída
Davi N. Sousa 6445400Edgar T. Hirama 6445518Henrique T. P. Jayme 6443547Rodrigo P. R. e Silva 6445331Vitor Jordão 6445373
• 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
Roteiro da Apresentação
Introdução
•Avaliação de desempenho•Técnicas de aferição•Complexidade de modelos•Protocolo CMB
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
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
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
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
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
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)
Protocolo CMB
•Valor do clock do canal (vcc): ▫Simula seguramente até o tempo 7
Deadlock
•Conjunto de processos em Deadlock: cada um deles espera a execução de um evento por outro▫Principal enfoque de protocolos
conservativos
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
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
Detecção de Deadlock
• Baixa Ocorrência de Deadlocks
▫Técnica das Mensagens Nulas -> Sobrecarga
▫Abordagem Alternativa Técnica do Marcador (Chandy e Misra)
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
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
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
Desvantagem do Protocolo Conservativo
• Não explora totalmente o paralelismo•Pessimista -> Exige execução sequencial•Desempenho ligado à capacidade de
“olhar à frente”
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
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
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
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
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
SMPL (Simulation Language Program)
•Extensão funcional da linguagem C
•Simulação discreta orientada a eventos
•Enfoque a eventos fica invisível ao programador
SMPL
•entidades básicas:▫Recursos
barramento(rede local) CPU(sistema computacional)
requisição, liberação e preempção de eventos
▫Tokens▫Eventos
SMPL
•entidades básicas:▫Recursos
▫Tokens Representa uma entidade ativa do sistema
pacote em uma rede de comunicação tarefa em sistema computacional
▫Eventos
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
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
SMPL•Primitivas:
▫smpl: inicia o sistema
▫facility: cria um descritor para cada recurso do
modelo▫request:
requisita atendimento a um dos servidores do recurso
SMPL
•Primitivas:▫release:
libera um servidor de um dado recurso ▫schedule:
faz o escalonamento dos eventos ▫cause:
remove o primeiro elemento da lista de eventos futuros
SMPL
•Primitivas
para a fila de eventos
para a lista de eventos futuros
para análise estatística
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
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.
Fim
top related