Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P....

Post on 18-Apr-2015

106 views 0 download

Transcript of Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P....

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