A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos.

Apresentações semelhantes


Apresentação em tema: "Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos."— Transcrição da apresentação:

1 Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos

2 2 Fundamentos Coordenando processos Construíndo sistemas Sistemas construídos

3 3 Fundamentos Coordenando processos –Mensagens (e fluxos): UDP, TCP, MPI, Enfileiramento, Gossiping –RPC e objetos distribuídos: RMI –Mensagens vs. RPC –Nomeação –Sincronização e replicação Construíndo sistemas Sistemas construídos

4 4 Objetivos Compreender o uso de nomes em sistemas distribuídos Entender o processo de descoberta de recursos em diferentes tipos de sistema distribuído Analisar o espaço de soluções para um sistema de nomes distribuído

5 5 Pra que nomes? Como um componente do sistema usa nomes? O que um serviço de descoberta (ou de nomes) precisa ser capaz de fazer? –Nomes úteis a seres humanos são os mais apropriados para o serviço? E se não quero usar um nome, mas atributos da entidade?

6 6 O serviço de nomes ou de descoberta de recursos mapeia nomes ou atributos para pontos de acesso a entidades Um nome referencia uma entidade Ponto de acesso  acesso à entidade Endereço  nome do ponto de acesso

7 7 Endereços na prática Qual o mapeamento ponto de acesso  entidade? Por que não usamos sempre o endereço como nome? –Mobilidade de dispositivos, de código, de serviços –Múltiplos servidores replicados Qual a relação disso com transparência?

8 8 Identificadores Outro tipo de nome 1.Identifica no máximo uma entidade 2.Entidade tem no máximo um identificador 3.Identificadores não são reutilizados Como isso é possível?

9 9 Atributos E se eu quero uma descoberta de recursos menos acoplada? “Quero a máquina menos carregada do sistema” Atributos podem referenciar entidades

10 10 O problema Dado que temos nomes, identificadores, atributos e endereços Como resolver [nome ou identificador ou atributos]  endereço(s)? Essencialmente, usando uma tabela –Centralizada, hierárquica, distribuída,... Para sistemas de nomes distribuídos, resolver é próximo de rotear

11 11 Onde estamos Pra que servem nomes Resolvendo identificadores Nomes estruturados Atributos

12 12 Resolvendo identificadores Nomeadores podem ter referência ao endereço da entidade? Problema 0: –Localizar máquina na rede com endereço MAC XYZW –Localizar máquina que roda o DHCP na rede

13 13 Problema 1: entidades que se movem –Ponteiros repassadores –Localização nativa

14 14 DHTs Tabelas hash distribuídas  escalabilidade Operação central: lookup(chave) Princípios: 1.Mapear chaves para nós de forma balanceada 2.Função de distância entre chave e id de um nó 3.Um nó que recebe uma requisição deve ser capaz de repassá-la a um nó mais perto de key ou respondê-la 4.Tabelas de roteamento devem ser adaptativas As principais diferenças estão na implementação da função de distância e na construição da tabela de roteamento

15 15 Roteamento com skiplists: Chord Espaço mesmo de nomes para nós e objetos –Distância é distância entre identificadores em lista circular Objeto está em succ(k) Tabela de roteamento (finger table) de p: FT p [i] = succ(p + 2 i-1 ) Roteamento: Envie para nó com índice j em FT tal que FT p [j] ≤ k ≤ FT p [j+1] (envia para sucessor, caso não haja nós assim)

16 16

17 17 Detalhes operacionais A topologia precisa ser mantida –Nós monitoram sucessor e predecessor –Periodicamente verifico se eu == predecessor de meu sucessor Se ele falhou, procuro um novo sucessor –Se meu predecessor falha, salvo essa informação e aguardo contato de novo predecessor Redundância nos sucessores aumenta robustez A topologia da overlay pode explorar topologia da rede –IDs podem ser distribuídos de acordo com topologia da rede

18 18 Roteamento com árvores Pastry, Tapestry e Kademlia usam uma árvore para construir tabela de roteamento Em Kademlia a distância entre k e i é k XOR i Para identificadores de 128 bits, cada nó considera 128 distâncias possíveis –Para cada distância, mantem uma lista de nós naquela distância –No momento da busca, envia requisições recursivas para os nós da distância mais próxima do id

19 19 Exemplo Kademlia Divisão da rede para nó 0011

20 20 Busca no Kademlia Busca por 1110

21 21 Sistemas de nome hierárquicos Nós-folha têm conhecem endereço do identificador Nós um nível acima, conhecem que nós abaixo resolvem um identificador

22 22

23 23 Onde estamos Pra que servem nomes Resolvendo identificadores Nomes estruturados Atributos

24 24 Nomeação estruturada Identificadores não são bons para seres humanos Nomes estruturados são mais intuitivos: Espaço de nomes é um grafo: –Nós-folha são entidades nomeadas –Demais nós são diretórios à lá sistemas de arquivos –Tipicamente, há uma raiz, geralmente não há ciclos Tudo muito parecido com sistemas de arquivos. Como funciona a resolução de ‘ls nome’?

25 25 Resolução de nomes estruturados distribuída Mecanismo de fechamento Determina por onde começar a resolução –Sistemas de arquivos: / –Variáveis de ambiente unix: espaço de nomes do usuário Montagem –Combinar espaços de nomes distribuídos –FS é um bom exemplo novamente

26 26 Nomes estruturados em grande escala Camadas com diferentes requisitos Replicação horizontal e caching para escalabilidade e disponibilidade

27 27 Resolução iterativa vs. recursiva Vantagens / desvantagens? –Caching –Localidade de tráfego

28 28 Exemplo: DNS Espaço de nomes –www.lsd.ufcg.edu.br na verdade é –Domínios == sub-árvores do espaço de nomes Conteúdo de um nó na árvore –Além do que usamos: servidor de para esse nome, do administrador, IPs alternativos, servidor de nomes desse domínio,...

29 29

30 30 Raiz do DNS

31 31 Onde estamos Pra que servem nomes Resolvendo identificadores Nomes estruturados Atributos

32 32 Atributos Nem sempre nomes são suficientes Atributos referenciam entidades por características –Cada entidade tem conjuntos (atributo, valor) Por vezes há distinção entre serviços que usam nomes e atributos –Nomes  Serviço de nomeação –Atributos  Serviço de diretório

33 33 Atributos: Implementação hierárquica LDAP é um padrão bastante usado Cada recurso é descrito por uma tabela de atributos –dsc.ufcg.edu.br == /C=BR/TO=edu/O=ufcg/OU=DSC/… O espaço de nomes é dividido em uma árvore A árvore é dividida em nós –Parece um DNS, mas com pesquisas mais complexas –Search((C=BR)(TO=edu)(O=ufcg)(OU=*))

34 34 Atributos: implementação decentralizada estruturada Várias abordagens, ainda nenhum consenso SWORD: –Identificadores dos nós não são mais hashes –Identificador = [bits identificando atributo + bits identificando valor + bits aleatórios] –Um nó é responsável pelo atributo k, outro por k > 50, outro por k > 75,... –Consulta na DHT na verdade procura índices de atributos

35 35 Atributos decentralizados e não- estruturados Explorando localidade em redes P2P –Nós procuram outros nós com interesses semelhantes e se aproximam deles –Gossiping é útil aqui IMM: encontrando nó menos carregado em uma árvore de multicast –Um nó que esteve rápido recentemente provavelmente estará rápido agora Há também a descoberta semi-estruturada, com supernós...

36 36 Recapitulando Pra que servem nomes –Endereços, nomes, identificadores e atributos Resolvendo identificadores –Broadcast, hierarquia, DHTs Nomes estruturados –Fechamento, montagem, resolução iterativa vs. Recursiva Atributos –Implementação hierárquica –Implementação decentralizada estruturada –Implementação decentralizada não-estruturada

37 37 Mais sobre esse assunto DHTs: –Visão geral: Looking up data in p2p systemsLooking up data in p2p systems –Artigo do KademliaArtigo do Kademlia DNS: –Livro online explicando e mostrando porque o DNS ainda é suficienteLivro Nomes em geral: –Naming and binding of objects, 1978: artigo filosófico sobre sistemas de nomes (nomenclatura hoje em desuso)Naming and binding of objects


Carregar ppt "Nomeação Nazareno Andrade Universidade Federal de Campina Grande 02/2008 Sistemas Distribuídos."

Apresentações semelhantes


Anúncios Google