protocolo cmb em simulação distribuída davi n. sousa6445400 edgar t. hirama6445518 henrique t. p....

34
Protocolo CMB em simulação distribuída Davi N. Sousa 6445400 Edgar T. Hirama 6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva 6445331 Vitor Jordão 6445373

Upload: internet

Post on 18-Apr-2015

104 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 2: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

• 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

Page 3: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

Introdução

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

Page 4: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 5: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 6: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 7: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 8: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 9: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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)

Page 10: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

Protocolo CMB

•Valor do clock do canal (vcc): ▫Simula seguramente até o tempo 7

Page 11: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

Deadlock

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

conservativos

Page 12: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 13: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 14: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

Detecção de Deadlock

• Baixa Ocorrência de Deadlocks

▫Técnica das Mensagens Nulas -> Sobrecarga

▫Abordagem Alternativa Técnica do Marcador (Chandy e Misra)

Page 15: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 16: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 17: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 18: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

Desvantagem do Protocolo Conservativo

• Não explora totalmente o paralelismo•Pessimista -> Exige execução sequencial•Desempenho ligado à capacidade de

“olhar à frente”

Page 19: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 20: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 21: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 22: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 23: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 24: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

SMPL (Simulation Language Program)

•Extensão funcional da linguagem C

•Simulação discreta orientada a eventos

•Enfoque a eventos fica invisível ao programador

Page 25: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

SMPL

•entidades básicas:▫Recursos

barramento(rede local) CPU(sistema computacional)

requisição, liberação e preempção de eventos

▫Tokens▫Eventos

Page 26: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

SMPL

•entidades básicas:▫Recursos

▫Tokens Representa uma entidade ativa do sistema

pacote em uma rede de comunicação tarefa em sistema computacional

▫Eventos

Page 27: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 28: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 29: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

SMPL•Primitivas:

▫smpl: inicia o sistema

▫facility: cria um descritor para cada recurso do

modelo▫request:

requisita atendimento a um dos servidores do recurso

Page 30: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 31: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

SMPL

•Primitivas

para a fila de eventos

para a lista de eventos futuros

para análise estatística

Page 32: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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

Page 33: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

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.

Page 34: Protocolo CMB em simulação distribuída Davi N. Sousa6445400 Edgar T. Hirama6445518 Henrique T. P. Jayme 6443547 Rodrigo P. R. e Silva6445331 Vitor Jordão6445373

Fim