Академический Документы
Профессиональный Документы
Культура Документы
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
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
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 2: Transparncia
Ocultar o fato de que seus processos e recursos esto fisicamente distribudos por vrios computadores
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?
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
Escalabilidade - Tamanho
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
Escalabilidade Geogrfica Evitar esperar por respostas a requisies remotas Comunicao Assncrona
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
Escalabilidade de Tamanho Dividir um componente em partes menos e espalhar as sub-partes pelo sistema
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
Sistemas de Computao
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
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
Requer primitivas especiais que devem ser fornecidas pelo sistema distribudo ou pelo sistema de linguagem
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
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
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
Chamadas de Procedimento Remoto (RPC) Componente de aplicao pode enviar a um outro componente de aplicao Requisio e Resposta so empacotadas em mensagens
Invocaes de Mtodo Remoto (RMI) Popularidade da Tecnologia de Objetos RMI semelhante a RPC, exceto que funciona com objetos em vez de com aplicaes
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
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)