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

Post on 18-Apr-2015

104 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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