Você está na página 1de 29

Sistemas Distribudos Captulo 5 - Aula 8

Aula passada Prova Aula de hoje Comentrios Prova Nomes, Identificadores, Endereos Nomeao Simples Nomeao Estruturada
1

Nomeao

Nomes: Compartilhar recursos Identificar entidades de maneira nica Fazer referncia a localizaes Nome deve ser resolvido para a entidade qual se refere Sistema de Nomeao (ex. DNS) Em um SD, a implementao de um sistema de nomeao costuma ser distribuda por vrias mquinas Modo como feita a distribuio desempenha papel fundamental na eficincia e escalabilidade do sistema

Nomes, Identificadores e Endereos


Entidades: Mquinas, impressoras, discos, processos, usurios, pginas Web, janelas grficas, mensagens, etc. So acessadas atravs de um ponto de acesso , ou simplesmente, endereo Ex: Servidor e seu nmero IP Portanto, um endereo pode ser utilizado como uma maneira de nomear, identicar uma entidade Problema: Entidade pode mudar facilmente de ponto de acesso! Ex: Servidor Web alocado em outra rede

Nomes, Identificadores e Endereos


Como nomear entidades, sem utilizar especificamente seu endereo, ou seja, nome-las independentemente da sua posio fsica (localizao)? Identificadores ou Nomes amigveis a seres humanos

Identificadores
Em muitos casos, so cadeias aleatrias de bits, com as seguintes propriedades: Um identificador referencia, no mximo, UMA entidade Cada entidade referenciada por, no mximo, um identificador Um identificador sempre referencia a mesma entidade, isto , nunca reutilizado Ex: Identificadores de entidades em sistemas P2P baseados no sistema Chord

Nomes amigveis

Nomes representados por uma cadeia de caracteres Pathnames, domnios na Internet, nmeros de processos Ex: /etc/passwd; http://www.ufjf.br

Como resolvemos nomes e identificadores para endereos?

Sistemas de Nomeao
Mantm uma vinculao nome-endereo Na forma mais simples Tabela de pares (nome,endereo) Contudo, sistemas que abrangem redes de grande porte, uma tabela centralizada no vai funcionar

Em SDs, usualmente o nome decomposto em vrias partes, e a resoluo realizada por meio de consultas recursivas

Sistemas de Nomeao

Trs Classes Nomeao Simples Nomeao Estruturada Nomeao Baseada em Atributo

Nomeao Simples

Aplicada a identificadores Cadeias aleatrias de bits nomes simples No contm sequer uma informao sobre como localizar o ponto de acesso de uma entidade associada

Nomeao Simples

Problema: Dado um identificador, como localizar o ponto de acesso (endereo)?

- Solues Simples (broadcasting) Tabelas de Hash Distribudas (DHT)

Nomeao Simples Broadcasting e Multicasting

Consideradas solues simples Aplicveis somente a redes locais

Nomeao Simples Broadcasting


Recursos oferecidos por redes locais nas quais todas as mquinas esto conectadas a um nico cabo ou seu equivalente lgico Como funciona? Mensagem que contm o identificador da entidade enviada a todos as mquinas da rede Cada uma das mquinas verifica se tem esta entidade Mquinas com ponto de acesso para a entidade, enviam uma msg que contm o endereo

Nomeao Simples Broadcasting

Se torna ineficiente quando a rede cresce Largura de banda da rede desperdiada, com grande nmero de mensagens de requisio Aumento da probabilidade de colises de mensagens, diminuindo o throughput do sistema Grande nmero de mquinas pode ser interrompido por requisies que no podem responder

Nomeao Simples Multicasting


Somente um grupo restrito de mquinas recebe a requisio Banco de Dados Replicado Endereo multicast associado a uma entidade replicada Multicasting usado para localizar a rplica mais prxima Requisio para o endereo multicast, cada rplica responde com seu endereo IP Rplica mais prxima aquela cuja resposta chega antes

Tabelas de Hash Distribudas (DHT)

Exemplo: Ns so organizados logicamente em um anel (Chord) Usa um espao de identificadores de m bits para designar ns e entidades especficas (arquivos, processos) Nmero m bits usualmente 128 ou 160 Entidade com chave k cai sob a jurisdio do n que tenha o menor identificador id >= k succ(k)

Tabelas de Hash Distribudas (DHT)


Como resolver com eficincia uma chave k para o endereo de succ(k)?
Abordagem linear Tabela de Derivao

Tabelas de Hash Distribudas (DHT)

Abordagem linear Cada n p monitora o sucessor succ(p+1) e o predecessor pred(p) Ao receber uma requisio para a chave k, p repassa a requisio para os seus vizinhos, a menos que pred(p) < k <= p p retorna o prprio endereo No escalvel!

Tabelas de Hash Distribudas (DHT)

Tabela de derivao (finger table) Possui, no mximo, m entradas Denotando a tabela de derivao de p por Ftp Ftp[i]=succ(p+2 i -1) i-sima entrada aponta para o primeiro n que sucede p por no mnimo 2 i -1

Tabelas de Hash Distribudas (DHT)


a) Suponhamos que p = 4 receba uma requisio para k = 7 succ(p+1) repassa a requisio ao n = 9 b) Suponhamos que p = 4 receba uma requisio para k = 3 como pred(4) = 1< 3<=4 retorna o prprio endereo.

Tabelas de Hash Distribudas (DHT)

Como encontrar uma entidade k? Referncias na tabela de derivao so atalhos para ns existentes no espao de identificadores Distncia do atalho em relao ao n p aumenta exponencialmente medida que o ndice na tabela de derivao cresce Para consultar uma chave k, o n p repassar a requisio ao n q com ndice j na tabela de derivao de p q = Ftp[ j ] <= k <= FTp[j+1]

Tabelas de Hash Distribudas (DHT)


1) Considere a resoluo de k=12, a partir do n 28 2) N 28 consultar k=12 verifica que FT[4] < k<= FT[5] 3) Requisico ser repassada para o n 4 4) O n 4 selecionar o n 9, porque FT[3] < k<= FT[4] 5) O n 9 selecionar o n 11 6) O n 11 repassar o pedido ao n 14

Consulta O(log(N)) passos

Nomeao Estruturada
Nomes simples so bons para mquinas, mas no so convenientes para a utilizao de seres humanos Sistemas de nomeao comumente suportam nomes estruturados Exemplo: Nomeao de arquivos, hosts na Internet

Nomeao Estruturada Espao de nomes


Nomes so organizados em um espao de nomes Espaos de nomes podem ser representados como um grafo dirigido, com dois tipos de ns: N-folha: entidade N de diretrio: entidade que se refere a outros ns N de diretrio possui uma tabela de diretrio <nome aresta, nome n>

Nomeao Estruturada Espao de nomes

Sistemas de nomeao possuem, na maioria, um n raiz Cada caminho no grafo de nomeao pode ser referenciado pela sequncia dos labels nas arestas N:<label1, label2, ..., labeln> Nome de caminho absoluto: primeiro n no caminho a raiz Nome de caminho relativo: primeiro n pode ser qualquer n

Nomeao Estruturada Resoluo de nomes


Espaos de nomes oferecem um mecanismo para armazenar e recuperar informaes sobre entidades por meio de nomes Dado um nome de caminho, deve ser possvel consultar qualquer informao armazenada no n referenciado por aquele nome Problema: Para resolver um nome, precisamos de um n de diretrio. Como escolher este n inicial?

Nomeao Estruturada Resoluo de nomes


Mecanismo de fechamento: Trata da seleo do n inicial em um espao de nomes a partir do qual a resoluo de nomes deve comear. So implcitos ao contexto em que a resoluo de nomes est se aplicando www.cs.vu.nl: incio da resoluo feito atravs do servidor de nome DNS (raiz) /home/steen/mbox:incio da resoluo ocorre no servidor local NFS

Nomeao Estruturada Resoluo de nomes Alias


Outro nome para a mesma entidade Vrios nomes absolutos para o mesmo n

Nomeao Estruturada Resoluo de nomes Diversos Espaos de Nomes

Como fundir diferentes espaos de nomes de maneira transparente? Dado dois espaos de nomes A e B, como A acessa B e B acessa A? Possvel Soluo: Montagem (Mouting)

Nomeao Estruturada Resoluo de nomes Diversos Espaos de Nomes

Você também pode gostar