Você está na página 1de 66

Sistemas Distribudos

Professora: Ana Paula Couto DCC 064

Introduo
Captulo 1

Definio
Um sistema distribudo um conjunto de computadores independentes entre si que se apresenta a seus usurios como um sistema nico e coerente Tanenbaum/Van Steen

Definio
Coleo de computadores autnomos interconectados por uma rede, com software projetado para produzir uma aplicao integrada

Definio
Computadores pessoais, estaes de trabalho, servidores, etc

Rede Local (LAN) ou Wide Area (WAN)

Definio
Voc sabe que existe um sistema distribudo quando a falha de um computador que voc nunca ouviu falar impede que voc faa qualquer trabalho - Leslie Lamport

Exemplos

Aplicaes comerciais (reservas de bilhetes, bancos) Aplicaes Internet (WWW) Aplicaes de acesso a informaes multimdia (udio (voz) e vdeo conferncia, P2P-TV) Groupware (trabalho cooperativo)

Middleware

Como suportar computadores e redes heterogneos, oferecendo uma viso de sistema nico? SDs so organizados por meio de uma camada de software

Middleware

Metas

Acesso a recursos Transparncia Abertura Escalabilidade

Meta 1: Acesso a Recursos

Facilitar aos usurios e aplicaes acesso a recursos remotos e o compartilhamento de maneira controlada e eficiente Razo bvia: Economia Impressoras, computadores, dados, pgina Web Conectividade Groupware e comrcio eletrnico

Meta 1: Acesso a Recursos


Problema: Segurana Senhas, autenticao de usurios Rastreamento de comunicaes para montar um perfil de preferncias violao de privacidade Spam

Meta 2: Transparncia

Ocultar o fato de que seus processos e recursos esto fisicamente distribudos por vrios computadores

Meta 2: Tipos de Transparncia

Transparncia - Acesso

Ocultar diferenas entre arquiteturas de mquinas Mais importante: Acordo sobre como os dados devem ser representados Exemplo:Nomeao de arquivos em SOs diferentes

Transparncia - Localizao
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 ( No vale adotar o comando traceroute ! :) )

Transparncia - Migrao

Recursos podem migrar de uma localidade para outra, por questes de desempenho, segurana, etc Deve ser feita de forma automtica pelo sistema Deve manter o nome do objeto Deve garantir a continuidade de comunicao

Transparncia - Relocao
Oculta 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 fiio, com conexo ininterrupta

Transparncia - Replicao

Permite que vrias instncias de recursos sejam usadas para aumentar a confiabilidade e o desempenho Deve mascarar o conhecimento das rplicas por parte dos usurios Implica na transparncia de localizao Problemas de consistncia

Transparncia - Concorrncia

Compartilhamento competitivo de recursos Deve garantir consistncia Travas de acesso Tratamento mais refinado: transaes

Transparncia - Falhas
Usurio no pode perceber que um recurso deixou de funcionar bem Mascarar falhas uma das questes mais difcies Recurso morto ou incrivelmente lento?

Transparncia - Falhas
Usurio no pode perceber que um recurso deixou de funcionar bem Mascarar falhas uma das questes mais difcies Recurso morto ou incrivelmente lento?

Transparncia Sempre requerida?

Compromisso entre um alto grau de transparncia e o desempenho do sistema Exemplo: Aplicaes de Internet tentam contatar um servidor repetidas vezes antes de desistir. Talvez seja melhor desistir mais cedo ou permetir que o usurio cancele as tentativas Sistemas embutidos: laptop e impressora local

Meta 3: Abertura

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

Meta 3: Abertura
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

Meta 3: Abertura
Interoperabilidade Capacidade de um sistema ( informatizado ou no)

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

Meta 3: Abertura
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

Meta 3: Abertura

Portabilidade

Habilidade de reusar um cdigo existente ao invs de refaz-lo quando este movido de um ambiente para outro

IMPORTANTE: PADRONIZAO!!!!!

Meta 4: Escalabilidade

Trs Dimenses [Neuman, 1994] Tamanho Termos Geogrficos Termos Administrativos

Escalabilidade - Tamanho

Aumento do nmero de usurios e/ou processos PROBLEMAS

Escalabilidade - Tamanho

Servios Centralizados Servios que so implementados por meio de apenas um nico servidor que executa em uma mquina especfica no sistemma distribudo Possvel Gargalho no sistema

Escalabilidade - Tamanho

Dados Centralizados Nmeros telefnicos estivessem em um nico banco de dados saturao de todas as linhas de comunicao que o acessam DNS

Escalabilidade - Tamanho
Algoritmos Centralizados Para evitar troca de mensagens colher informaes de todas as mquinas e linhas e executar m algoritmo para computar todas as rotas timas propagar as informaes por todo o sistema Pssima idia!!

Escalabilidade - Geogrfica

Usurios e/ou recursos podem estar longe um dos outros PROBLEMAS Dificuldade de ampliar sistemas distribuidos existentes que foram originalmente projetados para redes locais: COMUNICAO SNCRONA Comunicao em redes de longa distncia inerentemente no confivel, ponto-a-ponto Localizao de servios

Escalabilidade - Administrativa

Sistema pode ser fcil de gerenciar, mesmo que abranja muitas organizaes diferentes PROBLEMAS Polticas conflitantes em relao a utilizao e pagamento de recursos, gerencialmente e segurana

Escalabilidade - Administrativa

Os usurios de um nico domnio podem confiar em componentes de um sistema distribudo que residam dentro desse mesmo domnio Confiana no ultrapassa as fronteiras do domnio: a administrao do sistema deve testar e certificar aplicaes e tomar providncias especiais para garantir que os componentes no sofram nenhuma ao indevida

Tcnicas de Escalabilidade

Trs tcnicas [Neuman 1994] Ocultar latncias de comunicao Distribuio Replicao

Tcnicas de Escalabilidade Ocultar Latncias


Escalabilidade Geogrfica Evitar esperar por respostas a requisies remotas Comunicao Assncrona

Tcnicas de Escalabilidade Ocultar Latncias

Aplicaes Interativas devem esperar por uma resposta Soluo: Reduzir comunicao global, passando parte da computao do servidor para o cliente que est requerendo o servio

Tcnicas de Escalabilidade Ocultar Latncias

Exemplo: Acesso a banco de dados por meio de formulrios

Tcnicas de Escalabilidadea Distribuio

Escalabilidade de Tamanho Dividir um componente em partes menos e espalhar as sub-partes pelo sistema

Tcnicas de Escalabilidade Distribuio


Exemplo: DNS: hierarquia em rvore de domnios, dividida em zonas se sobreposio

Tcnicas de Escalabilidade Replicao


Aumenta a disponibilidade dos recursos Equilibra a carga entre os componentes Sistemas com ampla disperso geogrfica ->ocultar os problemas de latncia Cache Forma especial de replicaco Cache uma deciso do cliente do sistema

E a Escalabilidade Administrativa?
Problemas polticos esto envolvidos Progresso na rea: ignorar domnios adminstrativos P2P usurios finais tomam o controle Vrios problemas de direitos autorais, sobrecarga de informao nos Sistemas Autnomos

Ciladas

Premissas falsas adotadas ao se desenvolver pela primeira vez uma aplicao distribuda Rede confivel Rede segura Rede homognea Topologia constante Latncia zero Largura de banda infinita Custo de Transporte zero Existe somente um administrador

Tipos de Sistemas Distribudos

Sistemas de Computaco Sistemas de Informao Sistemas Pervasivos

Sistemas de Computao

Computao de Cluster Computao em Grade

Sistemas de Computao Cluster

Hardware consiste em um conjunto de estaes de trabalho ou Pcs semelhantes Conexo feita atravs de uma rede local Em quase todos os casos, a computao de cluster usada para programao paralela na qual um nico programa executado em paralelo

Sistemas de Computao Cluster

Clusters Beowulf baseados em Linux

Sistemas de Computao Grade


Heterogeneidade Recursos de diferentes organizaes so reunidos para permitir a colaborao de um grupo de pessoas ou instituies PlanetLab: http://www.planet-lab.org

Sistemas de Informao

Sistemas empresariais desenvolvidos para integrar diversas aplicaes individuais, onde a interoperabilidade se mostrou dolorosa Sistemas de processamento de Transaes Integrao de Aplicaes Empresariais

Sistemas de Informao Processamento de Transaes

Requer primitivas especiais que devem ser fornecidas pelo sistema distribudo ou pelo sistema de linguagem

Sistemas de Informao Processamento de Transaes

Caractersticas Atmicas: para o mundo exterior, indivisvel Consistentes: no viola invariantes de sistema Isoladas: transaes concorrentes no interferem umas com as outras Durveis: uma vez comprometida uma transao, as alteraes so permanentes

Sistemas de Informao Processamento de Transaes

Transao Aninhada Transao construda com base em uma quantidade de subtransaes

Sistemas de Informao Processamento de Transaes

No comeo, o componente que manipulava transaes distribudas, ou aninhadas, formava o ncleo para integrao de aplicaes no nvel do servidor ou do banco de dados Monitor de processamento de transao: permitir que uma aplicao acessasse vrios servidores/bancos de dados

Sistemas de Informao Processamento de Transaes

Sistemas de Informao Integrao de Aplicaes Empresariais

Aplicaes querem muito mais em termos de comunicao, no somente modelo de requisio/resposta Middleware de Comunicao Chamadas de Procedimento Remoto Invocaes de Mtodo Remoto Middleware Orientado a Mensagem

Sistemas de Informao Integrao de Aplicaes Empresariais

Sistemas de Informao Middleware de Comunicao

Chamadas de Procedimento Remoto (RPC) Componente de aplicao pode enviar a um outro componente de aplicao Requisio e Resposta so empacotadas em mensagens

Sistemas de Informao Middleware de Comunicao

Invocaes de Mtodo Remoto (RMI) Popularidade da Tecnologia de Objetos RMI semelhante a RPC, exceto que funciona com objetos em vez de com aplicaes

Sistemas de Informao Middleware de Comunicao

Desvantagens do RPC e RMI: Componentes da comunicao devem estar ligados e em funcionamento Precisam saber exatamente como se referir um ao outro Middleware Orientado a Mensagem (MOM) Aplicaes enviam mensagens a pontos lgicos de contato O Middleware se encarrega de entregar todas as mensagens destinadas a uma aplicao

Sistemas Pervasivos

Instabilidade o comportamento esperado destes sistemas Dispositivos de computao mveis e embutidos Pequenos Alimentao por bateria Mobilidade Conexo sem fio

Sistemas Pervasivos

Parte do nosso entorno Ausncia geral de controle administrativo humano Requisitos para as aplicaes pervarsivas: Adotar mudanas contextuais Incentivar composio ad hoc Reconhecer compartilhamento como padro

Tipos de Sistemas Pervasivos

Sistemas Domsticos Sistemas Eletrnicos para Tratamento de Sade Redes de Sensores

Questes

A transparncia de distribuio pode no estar presente em sistemas pervasivos. Essa declarao no vale para todos os tipos de transparncias. Exemplo. Por que nem sempre uma boa idia visar a implementao do mais alto grau de transparncia possvel?

Prxima Aula

Arquitetura Estilos Arquitetnicos (software) Arquiteturas de Sistemas (local fsico das 'peas' de software)