Protocolo CMB em simulação distribuída

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto Orientado a Objetos
Advertisements

Sistemas Operacionais
Simulação de Sistemas Antonio J. Netto AULA1.
Sistemas Operacionais Sincronismo e Comunicação entre processos
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sistemas Operacionais Gerência de Processador
A Interface entre Processadores e Periféricos
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Barramentos Introdução.
Bruno Rafael de Oliveira Rodrigues
Engenharia de Software
Coerência de Memórias Cache e Modelos de Consistência de Memória
Capítulo 2: Modelo de Computação distribuída
Capítulo 4: Estado Global
Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Marcos José
Avaliação de Desempenho
PROTOCOLO CMB EM SISTEMAS DISTRIBUIDOS
Sistemas Distribuídos
Sistemas Distribuídos
Sistemas Distribuídos Walfredo Cirne & Fubica Brasileiro Aula 5: Modelos de Sistemas Distribuídos.
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Modelos Fundamentais -> Interação Falhas Segurança.
Questões Resolvidas - A.C.-10/08/05
Prof.Sofia Mara de Souza AULA 4
Prof. MSc Sofia Mara de Souza AULA3
Prof. MSc Sofia Mara de Souza AULA6
COMO FUNCIONA A SIMULAÇÃO
ESTRUTURA DE COMUNICAÇÃO DE DADOS
REDUNDÂNCIA POR SOFTWARE
Unidade 1-1 Processos e Threads
COMO FUNCIONA A SIMULAÇÃO
COMO FUNCIONA A SIMULAÇÃO
Avaliação de Desempenho
Algoritmos paralelos eficientes para alguns problemas de processamento de Cadeia de Caracteres Alunos: Diego Alencar dos Santos Melo Felipe Formagini Brant.
Linguagem de Programação IV
Tópicos em redes e sistemas distribuídos B Carlos Oberdan Rolim Ciência da Computação.
Sistemas Distribuídos
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Tópicos em redes e sistemas distribuídos Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Carlos Oberdan Rolim Ciência da Computação
ÍNDICES DE CARGA E DE DESEMPENHO SSC-642 SISTEMAS COMPUTACIONAIS DISTRIBUÍDOS.
Protocolos de Recuperação
Prof. Alexandre Monteiro Recife
Sistemas Distribuídos Introdução. Conceito Coleção de múltiplos processos que executam sobre uma coleção de processadores autônomos interligados em uma.
INPE / CAP-315 Airam J. Preto, Celso L. Mendes Aula 26 (1) Troca de Mensagens Troca de Mensagens Tópicos: Características de Mensagens Implementação.
SISTEMAS OPERACIONAIS I
Avaliação de Desempenho Simulação
Concorrência e thread Petrônio Júnior(pglj) Márcio Neves(mmn2)
Sistemas Operacionais
SGBD Distribuído Lílian Simão Oliveira.
PROGRAMAÇÃO DISTRIBUÍDA Aula 01 Prof. Henrique Mongelli
Simulação distribuída e paralela Gabriel Baracuhy Thiago Martins.
OMNeT++.
Troca de Mensagens Programação concorrente
Conceitos de thread Faculdade PITÁGORAS – Outubro de 2012
Integração de Ferramentas CASE
Engenharia de Sistemas Embarcados Aula 9: Salvo RTOS.
Prof. André Luis Meneses Silva
Gerenciamento de Processos
Roteiro Introdução Arquitetura Características Algoritmos de Escalonamento Tipos de Grades Projetos Aplicações Conclusão Perguntas Thiago Soares de Carvalho.
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Implementação Distribuída Escalonamento de Tempo-Real Prof. Dr. Norian Marranghello Grupo 8 Daniela Gonçalves Strozi – Sayuri Watanabe
Deadlocks Impasses Vinícius Pádua.
Arquitetura de computadores
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Programação Concorrente
Simple Network Management Protocol
Sincronização Lip Sync Sincronização cursor-voz Entre outras mídias.
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
Bruna Cavallero Martins Universidade Católica de Pelotas.
Transcrição da apresentação:

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

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

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 Tokens Eventos barramento(rede local) CPU(sistema computacional) requisição, liberação e preempção de eventos Tokens Eventos

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

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: facility: request: inicia o sistema cria um descritor para cada recurso do modelo request: requisita atendimento a um dos servidores do recurso

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

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