Metas de Um Sistema Distribuído

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 40

Metas de um Sistema Distribudo

Sistemas Distribudos

Mauro Lopes Carvalho Silva

Professor EBTT
DAI Departamento de Informtica
Campus Monte Castelo

Instituto Federal de Educao Cincia e Tecnologia do Maranho

Sistemas Distribudos 8 Perodo


Objetivos

Nesta aula iremos apresentar as metas de um


Sistema Distribudo. De forma simples, a meta
bsica prover acesso a recursos de forma
transparente, no entanto vamos aprofundar de que
forma isto pode ser realizado. Sero abordados
aqui as metas: Abertura, Transparncia e
Escalabilidade em Sistemas Distribudos.

Sistemas Distribudos 8 Perodo


Plano de Aula

Metas de um Sistema Distribudo


Introduo
Abertura
Transparncia
Escalabilidade

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Introduo
Um Sistema Distribudo tem como meta
principal facilitar o acesso do usurio a recursos
remotos e compartilhar estes recursos com
outros usurios de forma controlada;
Meta importante de um SD esconder o fato de que seus
processos e recursos esto fisicamente distribudos
atravs de vrios computadores (Transparncia);
Outra meta importante a Abertura. Um SD aberto um
sistema que oferece servios de acordo com regras
padres;
Outra meta importante a capacidade de crescimento do
sistema (Escalabilidade).

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos


Diz-se que um sistema computacional aberto
se ele pode ser estendido e reimplementado de
vrias maneiras;
Um Sistemas Distribudo aberto esta relacionado
ao grau com que novos servios podem ser
adicionados e disponibilizados para uso por
uma variedade de programas clientes;
Importante: A especificao e a documentao
das principais interfaces de software dos
componentes de um sistema esto disponveis
para os desenvolvedores de softwares.
Sistemas Distribudos 8 Perodo
Metas de um Sist. Distribudo
Abertura em Sistemas Distribudos
Voc j ouviu falar em RFC?
http://pt.kioskea.net/contents/279-os-rfc
http://wiki.locaweb.com/pt-br/RFC_-_822
Voc j ouviu falar em OMG?
http://pt.wikipedia.org/wiki/Object_Management_Group
Os Sistemas Distribudos projetados a partir de
padres pblicos so chamados de sistemas
distribudos abertos, para reforar o fato de que
eles so extensveis;
Eles podem ser ampliados em nvel de:
hardware (adio de computadores a rede, p.ex);
software (adio de novos servios ou reimplementao dos
antigos).
Sistemas Distribudos 8 Perodo
Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos


De forma resumida: A Abertura uma caracterstica
que determina se um sistema pode ser estendido de
diferentes maneiras;
Hardware:
Incluso de dispositivos de fabricantes distintos;
Software
Mdulos de SO
Protocolos de Comunicao
Recursos compartilhados
Imaginem ento os vrios componentes de hardware
e software de variados fabricantes. Como na prtica
todos estes componentes trabalham?
Sistemas Distribudos 8 Perodo
Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos


Interoperabilidade :
Define at que ponto duas implementaes de
sistemas ou componentes de fornecedores diferentes
devem coexistir e trabalhar em conjunto, com base na
confiana mtua nos servios de cada um,
especificados por um padro comum;

Capacidade de um sistema (informatizado ou no) de


se comunicar de forma transparente (ou o mais prximo
disso) com outro sistema (semelhante ou no).

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos


Portabilidade:
Caracteriza at que ponto uma aplicao desenvolvida
para um sistema distribudo A pode ser executada, SEM
MODIFICAO, em um sistema distribudo B que
implementa as mesmas interfaces que A;

Habilidade de reusar um cdigo existente ao invs de


refaz-lo quando este movido de um ambiente para
outro.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos


De forma resumida:
Os sistemas abertos so caracterizados pelo fato de
suas principais interfaces serem publicadas;
Os sistemas distribudos abertos so baseados na
estipulao de um mecanismo de comunicao
uniforme e em interfaces publicadas para acesso aos
recursos compartilhados;
Os sistemas distribudos abertos podem ser constitudos
a partir de hardware e software heterogneo,
possivelmente de diferentes fornecedores. Para que
um sistema funcione corretamente, a compatibilidade
deve ser cuidadosamente testada e verificada.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Abertura em Sistemas Distribudos

IMPORTANTE: PADRONIZAO!!!!!

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos


Uma das principais necessidades dos Sistemas
Distribudos tornar o ambiente de rede invisvel
provendo a viso de um ambiente nico para o
usurio;
A transparncia definida como sendo a
ocultao, para um usurio final ou para um
programador de aplicativos, da separao dos
componentes em um sistema distribudo de modo
que o sistema seja percebido como um todo, em
vez de uma coleo de componentes
independentes.
Sistemas Distribudos 8 Perodo
Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos


A ANSA e o RM-ODP definem 8 formas de transparncia.

Falta uma, Escalabilidade veremos ela de forma individual, no somente a transparncia!!!

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos - Acesso


Permite que recursos locais e remotos sejam
acessados com uso de operaes idnticas;
Ocultar diferenas entre arquiteturas de
mquinas;
Mais importante:
Acordo sobre como os dados devem ser representados;
Exemplo:
Imaginamos diferentes mquinas com diferentes SOs, como
seria a nomeao de arquivos.
Como estas mquinas entendem os tipos de dados em uma
aplicao?

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos - Localizao


Permite que recursos sejam acessados sem
conhecimento de sua localizao fsica ou na rede;
Usurios no so capazes de dizer a localizao
fsica do recurso;
Nomeao:
www.google.com nome no d pistas da
localizao fsica de um dos servidores google?

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos - Migrao


Permite a movimentao de recursos e clientes
dentro de um sistema sem afetar a operao de
usurios e programas;
Recursos podem migrar de uma localidade para
outra, por questes de desempenho, segurana, etc;
Esta ao deve ser feita de forma automtica pelo
sistema;
O objeto deve manter o mesmo nome;
Deve garantir a continuidade de comunicao.
O objeto no sabe que mudou de lugar !!!

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos - Relocao


Oculta do cliente que um recurso possa ser movido
para outra localizao durante o uso;
Exemplos:
Celular se movimentando dentro da mesma
rea de cobertura;
Um automvel passando por vrias redes de
acesso sem fio, com conexo ininterrupta;

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos - Replicao


Permite que vrias instncias de recursos sejam
usadas para aumentar a confiabilidade e o
desempenho, sem conhecimento das rplicas por
parte dos usurios ou dos programadores de
aplicativos;
O conhecimento das rplicas por parte dos
usurios deve ser mascarado;
Relao com a transparncia de localizao;
Perigoso: Problemas de consistncia

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos -


Concorrncia
Permite que vrios processos operem
concorrentemente, usando recursos
compartilhados sem interferncia entre eles;
Compartilhamento competitivo de recursos:
Deve-se garantir a consistncia;
Criar travas de acesso;
Tratamento mais refinado: uso de transaes;

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos - Falhas


Permite a ocultao de falhas, possibilitando que
usurios e programas aplicativos concluam suas
tarefas, a despeito da falha de componentes de
hardware ou software;
Usurio no pode perceber que um recurso deixou
de funcionar bem;
Mascarar falhas uma das questes mais difceis!!
Recurso morto ou incrivelmente lento? Como
saber?

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos


Almejar transparncia completa pode ser
excessivo:
Usurios podem estar em continentes diferentes;
Esconder falhas de rede e de ns (na teoria e na prtica)
extremamente difcil;
No possvel distinguir entre um computador lento e um
falho;
No possvel ter certeza de que um servidor executou uma
operao antes de falhar;
Transparncia total tem custo no desempenho - Exemplos:
Mantendo caches Web exatamente atualizados com a cpia
principal;
Forando escrita de disco (flush) para tolerncia a falhas;
Sistemas Distribudos 8 Perodo
Metas de um Sist. Distribudo

Transparncia em Sistemas Distribudos


Como funciona o YouTube?
http://www.tecmundo.com.br/youtube/48298-como-funciona-o-
youtube-ilustracao-.htm
Como funciona o DropBox?
http://www.techtudo.com.br/dicas-e-
tutoriais/noticia/2012/02/como-usar-o-dropbox.html
https://www.dropbox.com/pt_BR/help/90
Falhas do Servio da Google e DropBox
http://canaltech.com.br/noticia/google/Servico-de-busca-do-Google-
ficou-fora-do-ar-nesta-sexta-feira-4/
http://www.correiodoestado.com.br/noticias/fora-do-ar-ha-dias-
dropbox-afirma-que-todos-os-arquivos-estao-seguros/205037/

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Escalabilidade em Sistemas Distribudos


Um sistema descrito escalvel se permanece
eficiente quando h um aumento significativo
no nmero de recursos e no nmero de
usurios.
Controlar o custo dos recursos fsicos;
Controlar a perda de desempenho;
Impedir que os recursos de software se esgotem;
Evitar gargalos de desempenho.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Escalabilidade em Sistemas Distribudos


A escalabilidade pode ser medida segundo trs
dimenses:
Escalabilidade de tamanho: fcil adicionar
mais usurios e recursos no sistema;
Escalabilidade geogrfica: usurios e recursos
podem estar distantes entre si;
Escalabilidade administrativa: fcil gerenciar,
mesmo que abranja muitas organizaes
administrativas diferentes;
Observao: A maioria dos sistemas leva em conta, e at um
certo ponto, escalabilidade de tamanho. Hoje em dia, os
desafios esto em escalabilidade geogrfica e administrativa.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Escalabilidade em Sistemas Distribudos

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Escalabilidade em Sistemas Distribudos

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Escalabilidade em Sistemas Distribudos


Quando um sistema escalvel contm essas vrias
dimenses, muitas vezes apresenta queda de
desempenho na medida em que ampliado.
Perigoso: Pensar distribudo em um ambiente
centralizado.
Conceito Exemplo

Servios Centralizados nico servidor para todos os


dados

Dados Centralizados Lista telefnica on-line

Algoritmos Centralizados Fazer roteamento com base em


informaes completas

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Escalabilidade em Sistemas Distribudos


Problemas relacionados a Escalabilidade de
tamanho:
Ao inserirmos continuamente mais usurios tendemos a chegar a um
ponto onde o servidor centralizado atinja seu limite operacional,
transformando-se no gargalo do sistema. Mesmo que admitamos que
esse servidor tenha capacidade de processamento e de armazenagem
ilimitadas, ainda assim sofrer restries devido a sua capacidade de
comunicao ser limitada.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Ocultar latncia de comunicao;
Distribuio;
Replicao.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Ocultar latncia de comunicao:
A ideia central simples: evita-se esperar por respostas
a requisies remotas (e lentas). Uma requisio a uma
mquina remota fica pendente, enquanto esta
liberada para continuar executando trabalhos teis ao
lado requisitante.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Ocultar latncia de comunicao:
Evitar esperar por respostas; fazer outra
coisa:
Usar comunicao assncrona;
Ter um tratador separado para
respostas/solicitaes que cheguem;
Problema: nem toda aplicao se encaixa
nesse modelo.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo
Tcnicas para aplicar a Escalabilidade em SD
Distribuio:
A ideia distribuir entre vrios computadores os
servios e dados. Decompondo os componentes em
partes menores, que por sua vez so distribudas por
todo o sistema distribudo.
O espao de nomes do
DNS organizado em
hierarquia em uma rvore
de domnios, dividida em
zonas de superposio em
acordo com a figura.
Assim, nenhum servidor
prestar todos os servios
nem possuir todos os
dados, portanto se um
servidor falhar, nem tudo
est perdido.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Distribuio:
Particionar dados e computaes entre
mltiplas mquinas:
Mover computaes para os clientes (AJAX);
Servios de distribuio de nomes
descentralizados (DNS);
Servios de informao descentralizados
(WWW)

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Replicao/caching:
Aumenta a disponibilidade dos servios e
melhora o balanceamento de carga no
sistema, resultando na melhoria do
desempenho;
Caching uma forma de replicao geralmente
controlada pelo cliente. A existncia de vrias
cpias pode levar a problemas de consistncia;
Se for necessrio ter garantias fortes de
consistncia tem de se atualizar as cpias
imediatamente.
Sistemas Distribudos 8 Perodo
Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Replicao/caching:
Fazer cpias de dados em mquinas distintas:
Servidores de arquivos e bancos de dados
replicados;
Sites Web espelhados;
Caches Web (em navegadores e proxies [HTTP
caching proxy]);
Cache de arquivos (no servidor e no cliente);

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Algoritmos Descentralizados
Caractersticas dos algoritmos descentralizados:
Nenhuma mquina tem informaes completas sobre o estado
do sistema;
As mquinas tomam decises tendo como base somente
informaes locais;
A falha de uma mquina no arruna o algoritmo;
No h nenhuma premissa implcita quanto existncia de um
relgio global.

Sistemas Distribudos 8 Perodo


Metas de um Sist. Distribudo

Tcnicas para aplicar a Escalabilidade em SD


Aplicar tcnicas de escalabilidade
relativamente fcil, exceto por:
A existncia de mltiplas cpias (por exemplo,
caches replicados) pode levar a inconsistncias:
alterao de uma cpia a faz distinta das demais;
Manter cpias sempre consistentes de maneira geral
requer sincronizao global para cada modificao;
Sincronizao global dificulta escalabilidade.
Observao
Se podemos tolerar inconsistncias, podemos reduzir a
necessidade de sincronizao global, mas tolerar
inconsistncias dependente da aplicao.

Sistemas Distribudos 8 Perodo


Dvidas

Pgina do Professor Mauro:


http://www.dai.ifma.edu.br/~mlcsilva
Sistemas Distribudos 8 Perodo
Prxima Aula

Tipos de Sistemas Distribudos (Cluster e Grid)

Sistemas Distribudos 8 Perodo

Você também pode gostar