SISTEMAS DISTRIBUIDOS
Aula 3
Eduardo Silvestri
[email protected]
www.eduardosilvestri.com.br
Prof. Silvestri – todos os direitos reservados
Desempenho de um S.D.
Os elementos estação de trabalho, servidor e
rede de comunicação são considerados
os mais relevantes para análise de
desempenho de um Sistema Distribuído.
O desempenho individual de cada elemento é
diretamente influenciado pelos demais, como
pode ser observado nas seguintes situações:
Prof. Silvestri – todos os direitos reservados
Desempenho de um S.D.
• Servidores com grande capacidade de
processamento, meio de comunicação de alta
velocidade de estações de trabalho com baixa
capacidade de processamento: as estações de
trabalho não conseguem processar as informações
na mesma velocidade em que estas chegam e,
com isso, o tempo de resposta observado pelos
usuários não é satisfatório, considerando-se as
características dos servidores e do meio de
comunicação.
Prof. Silvestri – todos os direitos reservados
Desempenho de um S.D.
• Estações de trabalho com grande capacidade de
processamento, meio de comunicação de alta
velocidade e servidores com baixa capacidade de
Processamento em relação à carga de trabalho: as
estações de trabalho precisam esperar as
informações requisitadas aos servidores para
continuar o processamento do job e, com isso, o
tempo de resposta observado pelo usuário também
não é satisfatório, considerando-se as
características das estações de trabalho e do meio
de comunicação.
Prof. Silvestri – todos os direitos reservados
Desempenho de um S.D.
• Servidores e estações de trabalho com grande
capacidade de processamento e meio de
comunicação de baixa velocidade: o tempo gasto
na transmissão das informações degrada o tempo
de resposta, tornando-o pouco satisfatório
considerando-se as características dos servidores
e das estações de trabalho
Prof. Silvestri – todos os direitos reservados
Processamento Distribuído
É um tipo de processamento descentralizado em
que os computadores comunicam-se uns com os
outros através de vários meios de comunicação
tais como barramentos de alta velocidade ou linhas
telefônicas. Eles não compartilham nem a memória
principal e nem o processamento das informações.
Prof. Silvestri – todos os direitos reservados
Processamento Distribuído
Os processadores em um sistema distribuído
podem variar em tamanho e função. Podem incluir
pequenos microcomputadores, estações de
trabalho, minicomputadores e sistemas de
computadores de uso geral.
Esses processadores são chamados por diversos
nomes tais como: nós, locais(sites) e
computadores.
Prof. Silvestri – todos os direitos reservados
Software Distribuído
Dos quatro elementos de um sistema que podem
estar distribuído - hardware, dados, programas e
controle -, os três últimos referem-se ao software.
A distribuição de dados levou ao desenvolvimento
de uma área bastante extensa, envolvendo
sistemas de arquivos distribuídos, e sistemas de
banco de dados distribuídos. A seguir,
consideramos os aspectos de distribuição de
controle, cuja influência no desenvolvimento de
sistemas operacionais tem sido determinante.
Prof. Silvestri – todos os direitos reservados
Software Distribuído
Para iniciarmos o estudo da distribuição de
programas (algoritmos), é necessário que sejam
abordados os seguintes tópicos:
• um programa é dito distribuído se estiver
espalhado por vários ambientes, ou seja, se
alguns processadores (ambientes) não puderem
executar alguns passos do programa, pelo fato de
eles pertencerem a outros ambientes;
Prof. Silvestri – todos os direitos reservados
Software Distribuído
• qualquer programa seqüencial ou paralelo pode
ser um programa distribuído.Diante disso, um
programa será distribuído se puder ser estruturado
em partes, formadas por grupos de instrução e
conhecidas como componentes do programa,
colocadas de forma que cada parte só possa ser
executada pelo processador a ela associado. Os
componentes do programa separados pelo
subsistema de comunicação são conhecidos como
remotos uns aos outros.
Prof. Silvestri – todos os direitos reservados
Software Distribuído
A troca de informações entre componentes
remotos do sistema deverá ocorrer por
transferência de mensagens,através do meio de
comunicação. Como exemplo de programa
distribuído pode-se citar o programa seqüencial
formado por um programa principal e sua sub
rotina, localizados de forma a serem remotos um
ao outro.
Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Física
Dentre os vários modelos baseados da distribuição
física, encontram-se o modelo hierárquico, o do
cache de CPU, o usuário servidor e o modelo de
conjunto de processadores.
No modelo hierárquico, os computadores são
dispostos em uma rede sob a forma de árvore, de
maneira que quanto mais próximos estiverem da
raiz, mais potentes deverão ser. O computador da
raiz tratará, de forma geral, do sistema como um
todo, enquanto que os computadores distantes da
raiz tratarão de tarefas específicas e
especializadas. Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Física
O modelo de cachê de CPU consiste na utilização
de computadores de menor porte como elementos
que interligam terminais com uma grande CPU.
Nesse caso, uma parte do processamento será
executada no computador ligado ao terminal, e a
outra parte no computador central.
Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Física
O modelo usuário-servidor surgiu na medida em
que os computadores pequenos, crescendo em
potência e tendo seus preços reduzidos,
diminuíram gradativamente a importância do
computador central do modelo cache de CPU.
Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Lógica – Modelo de Processos
Esses processos podem encapsular tanto
elementos ativos com natureza, consistindo dos
programas referentes às atividades do sistema e
do usuário quanto elementos naturalmente
passivos correspondendo aos recursos e suas
respectivas operações,confinados em
gerenciadores de recursos. A comunicação entre
os processos, implementada pelo sistema
operacional, pode ocorrer de duas formas:
Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Lógica – Modelo de Processos
• Chamada remota de procedimento: este tipo de
comunicação entre processos é bastante
dependente da linguagem usada para
implementação do sistema, devendo satisfazer
suas restrições com relação a chamada de
procedimento e a passagem de parâmetros.
Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Lógica – Modelo de Processos
• Troca explícita de mensagem: este já é mais
flexível do que o anterior, suas restrições estão
relacionadas com a existência de ligações
implícitas ou explícitas entre os processos e com a
interpretação da mensagem.
Prof. Silvestri – todos os direitos reservados
Estruturação de S.D.
Distribuição Lógica – Modelo de Objetos
O modelo de objetos baseia-se no encapsulamento
das várias partes de um sistema em elementos
denominados objetos que são estruturados de
forma a apresentarem um conjunto de operações
responsáveis pelo seu comportamento. Para
conseguir acessar um objeto, um processo deve
ter capacidade de fazê-lo, usando o conhecimento
do nome do objeto e a posse da autorização para
cessar algumas ou todas as suas operações.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
Permitir o compartilhamento de informações
armazenadas em um sistema de arquivos
distribuído.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DE REPLICAÇÃO
Vantagens:
- Desempenho
Balanceamento da carga e do tráfego na rede.
- Transparência de localização / replicação
As informações poderão ser acessadas de diversas
localidades.
- Tolerância a falhas (backup’s de dados)
Automaticamente existem backups das informações.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DE REPLICAÇÃO
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DE REPLICAÇÃO
Propagação da atualização
Como manter as diversas cópias replicadas
consistentes quando ocorre uma
atualização dos dados em uma dessas
cópias?
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DE REPLICAÇÃO
Método de replicação da cópia principal:
Determina inicialmente qual das cópias
replicadas irá ser a principal. O acesso de
leitura poderá ser realizado em qualquer
uma das cópias, porém o acesso para
atualização somente será efetuada na cópia
principal.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DE REPLICAÇÃO
Método eletivo da cópia principal:
Todas as cópias estão disponíveis para
leitura. Ao necessitar um acesso para
atualização, será escolhido uma das cópias
para ser o Principal e permitir a gravação.
Após esse acesso, as cópias passaram a
serem todas secundárias.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DO CACHE
Permitindo que acessos repetitivos a uma
mesma informação sejam tratados localmente.
Cache
Área de armazenamento com acesso rápido p/
dados mais recentemente utilizados.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DO CACHE
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DO CACHE
Consistência dos dados localizados no cachê
quando as informações são alteradas no
arquivo original armazenado no servidor,
todas as cópias desses dados armazenadas
nos cachês ficam inconsistentes, isto é, se
tornam uma "cópia suja" (dirty block)
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DO CACHE
Exemplo de geração de dados "sujos":
1ª etapa - cliente 1 processa o arquivo A
deixando-o na sua memória cachê.
2ª etapa - cliente 2 processa o arquivo A
atualizando-o no servidor.
3ª etapa - cliente 1 necessita acessar
novamente o arquivo A.
Prof. Silvestri – todos os direitos reservados
COMPARTILHAMENTO DE DADOS
ATRAVÉS DO CACHE
questão: Como identificar que a versão do cachê
que está no cliente 1 não está atualizada?
solução: sempre que for acessar dados no cachê,
verifica antes se a data/hora de atualização dos
dados que estão no servidor é igual a dos dados
que estão armazenadas no cachê.
Prof. Silvestri – todos os direitos reservados
Dúvidas ?
Prof. Silvestri – todos os direitos reservados
Publicação
1. Mapa Conceitual da Aula.
Prof. Silvestri – todos os direitos reservados
Perguntas ??????????
1. Quais são os elementos que afetam o desempenho
de um sistema distribuído ? Explique.
2. O que é Processamento Distribuído ?
3. O que é um software distribuído ?
4. Quando um programa é dito distribuído ?
5. O que é uma estruturação física de um sistema
distribuído ?
6. O que é uma estruturação lógica de um sistema
distribuído ?
7. O que é uma estruturação lógica pelo modelo de
processos ?
8. O que é uma estruturação lógica pelo modelo de
objetos ?
9. Como pode ser feito o compartilhamento de dados
em sistemas distribuídos ?
Prof. Silvestri – todos os direitos reservados
Download

SD-Aula003 - Professor Eduardo Silvestri