Instituto de Computação - UFF Detecção de Terminação Algoritmos Distribuídos Professora: Lúcia Drummond.

Slides:



Advertisements
Apresentações semelhantes
Árvores 2010/1 Teoria dos Grafos (INF 5037/INF2781)
Advertisements

Árvores CC/EC/Mestrado Teoria dos Grafos ‏ 1.
Python: Recursão Claudio Esperança.
Geometria Computacional Fecho Convexo II
Programação de Computadores
Inteligência Artificial
Motivação para listas duplamente encadeadas e circulares
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Capítulo 7 Tableaux semânticos e resolução na Lógica Proposicional
Geometria Computacional Galeria de Arte
Algoritmos Distribuídos
Estruturas de Repetição
Circuitos Lógicos e Organização de Computadores Capítulo 8 –Circuitos Seqüenciais Síncronos Ricardo Pannain
II – Análise léxica DEI Conversão de expressões regulares em autómatos finitos determinísticos mínimos Bibliografia aconselhada: Aho, Sethi e Ullman –
O Problema do Passeio mais Curto
Exercícios PAA- Grafos
Solved Exercises 1. Finding the Peak. Let A= a1,…,an be a sequence of n numbers with the following property: there is p in {1,…,n} for which (i) the.
Exercícios PAA- Grafos
Celso C. Ribeiro Caroline T. Rocha
UFES CC/EC/Mestrado Teoria dos Grafos Árvores. UFES CC/EC/Mestrado Teoria dos Grafos Árvores Grafo Acíclico: não possui ciclos.
Pesquisa em profundidade
Tópicos de Lógica Proposicional
9 de Março de 2006Trajectória de um Projéctil1 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006.
Modelos de Troca de Dados em Nível Elétrico
Algoritmos Distribuídos Professora: Lúcia Drummond
Árvore Binária de Busca
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
Algoritmos Distribuídos Professora: Lúcia Drummond
Algoritmos Distribuídos Professora: Lúcia Drummond
Árvores.
Teoremas Teorema 5.1: Para, o número máximo de candi- datos restantes no pulso s=2k no algoritmo S_Elect_Leader_C é. Prova: No pulso s=2k, por (5.3) um.
Arquivos Seqüenciais Inhaúma Neves Ferraz
DIAGRAMA DE ATIVIDADES
Classificação e Pesquisa de Dados
Métodos de Classificação por Seleção: HeapSort
Curso Sistemas de Informação Disciplina: Arquitetura de Software
Recorrências.
Auditoria de Segurança da Informação
Indexação de Arquivos Página de rosto.
Árvore Geradora Mínima
UML - Unified Modeling Language
Aula 07 Comandos de Repetição while e for
Expressão algébrica a partir da representação gráfica da função
UML - Unified Modeling Language
Grafos Árvores Geradoras.
1 - Lafayette B. Melo – Análise e Projeto de Sistemas para a Internet – COINFO – CEFET-PB 12. Estados Objetivo: compreender a notação do diagrama de estados.
Árvores binárias de pesquisa com balanceamento
Caminhamento em Grafos: Busca em Largura e Busca em Profundidade
Exercícios PAA- Grafos
Conversão de um NFA para um DFA com um exemplo
Salas de Matemática.
Tipos Abstratos de Dados
Algorítmos e estrutura de dados III
Busca com informação e exploração
EXERCÍCIOS PARA GUARDA-REDES
Capítulo 11 Programação Lógica
Conjuntos (continuação)
1 2 Observa ilustração. Cria um texto. Observa ilustração.
Campus de Caraguatatuba Aula 8: Noções Básicas sobre Erros (2)
Conceitos básicos em grafos
Controle Distribuído da Concorrência
Linguagem e Ambiente Scratch
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Uma lição de matemática... Já pensou naquelas pessoas que dizem que estão dando mais que 100% delas mesmas?
Máquina de Turing Universal
Inferência Estatística
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
BCC /01 Aula Teórica 09 Funções Material Didático Proposto. 1 BCC701 – Programação de Computadores I Universidade Federal de Ouro Preto Departamento.
POTENCIAÇÃO E RAIZ QUADRADA DE NÚMEROS RACIONAIS
Transcrição da apresentação:

Instituto de Computação - UFF Detecção de Terminação Algoritmos Distribuídos Professora: Lúcia Drummond

Instituto de Computação - UFF 2 Detecção de Terminação Os algoritmos síncronos terminam após um certo número de pulsos. Para alguns algoritmos assíncronos regulares e bem estruturados não há problema na detecção de que não existem mais mensagens esperadas. Por exemplo, o Algoritmo de Propagação de Informação.

Instituto de Computação - UFF 3 Detecção de Terminação Os algoritmos assíncronos que não apresentam a regularidade que permite tal análise simples de terminação, utilizam a detecção de terminação global. Um algoritmo assíncrono terminou globalmente quando todos os nós estão ociosos e todas as arestas estão vazias no estado global.

Instituto de Computação - UFF 4 Algoritmo Detect_Termination Variáveis suspects i ; edge_state i j :={} para todo n j ; recorded i :=false; received i j :=false para todo n j ; max_tag i :=0; terminated i :=false;

Instituto de Computação - UFF 5 Algoritmo Detect_Termination Algoritmo Input: msg i =nil; Ação se n i N 0 : Execute alguma computação; Envie comp_msg em cada aresta de um subconjunto de Out i ;

Instituto de Computação - UFF 6 Algoritmo Detect_Termination Algoritmo if suspects i then begin max_tag i :=max_tag i +1; recorded i :=true; Envie marker(max_tag i ) para todo n j ; end

Instituto de Computação - UFF 7 Algoritmo Detect_Termination Algoritmo Input: msg i =comp_msg tal que origem i (msg i )=(n j n i ); Ação: Execute alguma computação; Envie comp_msg em cada aresta de um subconjunto de Out i ; if recorded i then if not received i j then edge_state i j := edge_state i j {msg i };

Instituto de Computação - UFF 8 Algoritmo Detect_Termination Algoritmo if suspects i then begin edge_state i k :={} para todo n k ; received i k := false para todo n k ; max_tag i := max_tag i + 1; recorded i := true; Envie marker(max_tag i ) para todo n j ; end

Instituto de Computação - UFF 9 Algoritmo Detect_Termination Algoritmo Input: msg i =marker(t) tal que origem i (msg i )=(n j n i ); Ação: if t=max_tag i then received i j := true; if t>max_tag i then begin max_tag i :=t; edge_state i k := {} para todo n k ; recorded i = false; received i k :=false para todo n k ;

Instituto de Computação - UFF 10 Algoritmo Detect_Termination Algoritmo if suspects i then begin received i j := true; recorded i := true; Envie marker(max_tag i ) para todo n j ; end If received i k para todo n k then Envie edge_state i k para todo n k, juntamente com max_tag i para n 1 ;

Instituto de Computação - UFF 11 Algoritmo Detect_Termination Algoritmo Input: msgi=terminate; Ação se n in 1 : terminated i :=true;

Instituto de Computação - UFF 12 Algoritmo Detect_Termination_D Terminação por Difusão Variáveis expected i :=0; parent i :=nil; terminated i :=false;

Instituto de Computação - UFF 13 Algoritmo Input: msg i =nil; Ação se n i N 0 : Execute alguma computação; Envie comp_msg em cada aresta de um subconjunto de Inc i ; Algoritmo Detect_Termination_D

Instituto de Computação - UFF 14 Algoritmo Input: msg i =comp_msg tal que origem(msg i )=n j ; Ação: if expected i > 0 then begin Envie ack para n j ; Execute alguma computação; Envie comp_msg em cada aresta de um subconjunto de Inc i ; end Algoritmo Detect_Termination_D

Instituto de Computação - UFF 15 Algoritmo else begin Execute alguma computação; Envie comp_msg em cada aresta de um subconjunto de Inc i ; if expected i > 0 then parent i :=n j ; Else Envie ack para n j ; end Algoritmo Detect_Termination_D

Instituto de Computação - UFF 16 Algoritmo Input: msg i =ack; Ação: expected i := expected i -1; if expected i = 0 then if parent i nil then Envie ack para parent i ; Algoritmo Detect_Termination_D

Instituto de Computação - UFF 17 Algoritmo Input: msg i =terminate; Ação se n in 1 : terminated i := true; Algoritmo Detect_Termination_D

Instituto de Computação - UFF 18 Teorema: Todo estado global no qual n 1 tem terminado localmente, é um estado global no qual a terminação global ocorre. Teorema Prova: Se n 1 terminou localmente, então todo nó deve ter enviado um número finito de mensagens de computação. Como estas mensagens de computação e os correspondentes acks foram recebidos, o valor de expected i para o nó n i, inicialmente igual a zero, se tornou positivo e zero, diversas vezes.

Instituto de Computação - UFF 19 Prova (cont): Sempre que uma transição ocorresse no valor de expected i de zero para uma valor positivo, parent i seria atualizado para apontar para o nó que enviou a mensagem de computação correspondente. Teorema Considere os estados do sistema nos quais todos os nós n i estão: ou em um estado positivo de expected i, seguindo a última transição de zero para este valor, se já enviou uma mensagem de computação durante a difusão, ou em qualquer outro estado, caso contrário.

Instituto de Computação - UFF 20 Prova (cont): Claramente, no mínimo um destes estados de sistema é um estado global, como por exemplo, aquele no qual todo nó que já enviou mensagens de computação está no seu estado que imediatamente precede a recepção do último ack. Teorema Neste estado global, somente há acks sobres as arestas, nenhum deles enviado como consequência da recepção de um último ack. Consideremos um destes estados globais.

Instituto de Computação - UFF 21 Prova (cont): Neste estado global, as variáveis parent i para n in 1 induzem uma árvore que se espalha por todos os nós em G correspondentes aos nós que enviaram no mínimo uma mensagens de computação durante a computação por difusão. Teorema Esta árvore muda dinamicamente com a execução do algoritmos, e parent i pode apontar para diversos vizinhos n i. A raiz dessa árvore é n 1 e suas folhas correspondem a aqueles nós dos quais nenhum outro nó n i recebeu a mensagem de computação que disparou a última transição de zero para um valor positivo de expected i.

Instituto de Computação - UFF 22 Prova (cont): A prova é por indução na árvore. Teorema Pela indução, a prova a ser feita é de que todo estado global no qual a raiz da sub-árvore tem terminado localmente é um estado global no qual todo outro nó na sub-árvore tem também terminado localmente. A base da indução é dada pelas sub-árvores com raízes nas folhas. Como nenhuma folha n i é tal que n i =parent j para algum nó n j, então a afirmação vale.

Instituto de Computação - UFF 23 Prova (cont): Como hipótese de indução, assuma esta afirmação para todas as sub-árvores com raízes em n j tal que parent j =n 1. Teorema Então, n 1 recebe expected 1 acks, no momento em que terminou localmente, e pela hipótese de indução, também todos os outros nós.