Capitulo I
     Conceitos básicos de sistemas distribuídos


1.      Introdução

     Um sistema distribuído é constituído por um conjunto de processadores autónomos
     conectados através de um subsistema de comunicação, que cooperam através da troca
     de mensagens. Esse tipo de sistema deve apresentar duas características inerentes:
        1. A transparência na sua utilização, ou seja, a capacidade de se apresentar aos
            seus usuários como uma entidade única, e
        2. O alto grau de tolerância a faltas (falhas).


     Actualmente, os sistemas distribuídos estão sendo pesquisados, desenvolvidos e
     apresentados como alternativa aos grandes sistemas centralizados. Alguns dos factores
     que justificam a tendência actual para sistemas distribuídos são:
         1. Baixo custo dos processadores;
         2. Custo por instrução em um processador de menor porte é inferior ao custo em
             um computador de grande porte;
         3. Desejo de maior participação por parte dos usuários finais; necessidade de
             maior disponibilidade do sistema;
         4. Alto custo das linhas telefónicas de comunicação utilizadas para conectar
             usuários remotos a sistemas centralizados;
         5. Baixo desempenho das linhas telefónicas de comunicação, inadequado para
             transmissão de dados em alta velocidade;
         6. Facilidade para interligar sistemas aplicativos distintos;
         7. Tecnologia de rede disponível;
         8. Necessidade de compartilhamento de recursos caros;
         9. Segurança e confiabilidade, devido à distribuição do sistema;
         10. Possibilidade de balanceamento de carga entre os processadores; e
         11. Possibilidade de crescimento incremental de poder de processamento




     Página 1 de 5
2.      Definição
     Um Sistema Distribuído definido por Tanenbaum é uma colecção de computadores
     independentes que se apresenta ao usuário como um sistema único e consistente; outra
     definição, de Coulouris, seria uma colecção de computadores autónomos interligados
     através de uma rede de computadores e equipados com software que permita o
     compartilhamento dos recursos do sistema: hardware, software e dados.




3.      Vantagens
     As vantagens de Sistemas Distribuídos incluem a possibilidade de:
        1. Crescimento incremental (extensibilidade), ou seja, novos computadores e linhas
            de comunicação serem acrescidos ao sistema;
               a. A capacidade de evolução de um sistema central é limitada. Numa

                     aproximação distribuída, a capacidade de processamento pode ser
                     aumentada facilmente, basta considerar que os computadores pessoais
                     têm várias dezenas de Mips e capacidades de disco de centenas de
                     Mbytes.
               b. Para além deste aspecto os sistemas distribuídos podem expandir-se com
                     máquinas de diferentes gerações tecnológicas
        2. Implementação de aplicações inerentemente distribuídas (modularidade)
            exemplo:     CSCW     (Computer    Supported    Collaborative   Work),   correio
            electrónico, etc.; CSCW é a abreviatura de "Computer Supported Cooperative
            Work", traduzido em Português como Trabalho Cooperativo Suportado por
            Computador. De uma forma genérica, o CSCW é uma área científica
            interdisciplinar que estuda a forma como o trabalho em grupo pode ser
            suportado por tecnologias de informação e comunicação, de forma a melhorar o
            desempenho do grupo na execução das suas tarefas. As pesquisas em CSCW são
            normalmente caracterizadas em um quadro de duas dimensões: a distância das
            pessoas cooperando (remota ou localmente), e a forma de comunicação
            (síncrona ou assíncrona). O CSCW enquadra-se num domínio científico
            interdisciplinar, envolvendo diversas áreas científicas, tanto técnicas, como
            sistemas distribuídos, comunicação multimédia, telecomunicações, ciências da
            informação, quanto humanas e sociais, como psicologia, percepção e teoria


     Página 2 de 5
sócio-organizacional. Os programas informáticos cujo objectivo é serem usados
       por      grupos   cooperativos   designam-se     habitualmente   por   groupware.
       Genericamente, pode-se considerar o groupware como sendo software que
       suporta CSCW. As aplicações groupware mais antigas são o correio electrónico
       (E-mail), os grupos de discussão (newsgroup) e os sistemas de mensagens
       curtas, como o ICQ e o MSN Messenger. (http://pt.wikipedia.org/wiki/CSCW)
             a. Num sistema distribuído, o sistema informático pode evoluir de forma
                 modular, incrementando o número ou capacidade das unidades, de
                 acordo com as necessidades específicas de cada localização geográfica
                 ou aplicação.
             b. Os investimentos podem ser programados da forma mais adequada ao
                 crescimento da organização.
   3. Tolerância a falhas através da replicação de processos em unidades de
       computação distintas;
   4. Maior poder computacional: concorrência
   5. Menor atraso no acesso (disponibilidade), que pode ser feito em um computador
       “próximo”. Por exemplo o site http://www.edubuntu.org/Download tem a opção
       para a escolha do local (África, Ásia Europa, América, …) a partir do qual se
       pretende fazer o download. Este sugere a escolha do servidor mais próximo do
       interessado, com o propósito de tornar o processo de download rápido.
             a. A disponibilidade advém da existência de máquinas independentes que
                 podem continuar a assegurar um serviço quando uma delas falha.
             b. Obviamente, tal não se pode fazer se o serviço não tiver sido programado
                 para funcionar de forma replicada
   6. Separação física possibilita falhas independentes
   7. Adequação geográfica
             a. A maioria das organizações, com alguma dimensão, é intrinsecamente
                 distribuída: à distribuição geográfica adequa-se, naturalmente, uma
                 repartição do sistema de informação.
             b. A centralização baseada em acesso por terminais remotos implica custos
                 de comunicação significativos, porque não tira partido da possibilidade
                 de trabalho local, em particular na interacção com o utilizador final das
                 aplicações.
   8. Desempenho optimizado


Página 3 de 5
a. Possibilidade de atribuir às máquinas mais adequadas as tarefas que elas
                podem optimizar. Por exemplo, os servidores de bases de dados (SGBD)
                podem ser aliviados das tarefas (altamente consumidoras de tempo de
                processamento) relacionadas com a interface com o utilizador
           b. A outra hipótese de optimização advém da utilização de máquinas com
                capacidade de execução paralela para cálculos científicos ou servidores
                de base de dados especializadas para grandes volumes de informação.
   9. Melhor custo
           a. O preço cada vez mais reduzido dos computadores pessoais e servidores
                multiprocessador permite obter, por um custo muito menor, uma
                potência computacional e capacidade de armazenamento comparável à
                das grandes máquinas.
           b. É claro que os sistemas distribuídos implicam custos de comunicações,
                equipamento de rede e de supervisão, mas eliminam outros como os
                grandes centros de cálculo com ambiente controlado e elevados custos de
                exploração.




       Fig. 1: Visualização das vantagens




Embora o hardware desses sistemas estejam num estágio avançado de desenvolvimento,
o mesmo não se pode afirmar em relação ao software devido a complexidade adicional
inerente a sua distribuição.




Página 4 de 5
4.       Desvantagens
        1. Software – até o presente momento não há muita disponibilidade de software
            para os sistemas distribuídos
        2. Comunicação – tratamento e recuperação de mensagens. Melhoria da rede pode
            acarretar em custos altos.
        3. Segurança – Compartilhamento de dados implica em esquemas especiais para
            proteção de dados sigilosos.
        4. Integração de sistemas heterogêneos




5.      Motivação (Porquê?)
        1. Distribuição Geográfica (organizações físicas distribuídas);
        2. Extensibilidade, modularidade;
        3. Partilha de recursos;
        4. Maior disponibilidade (replicação);
        5. Maior desempenho (carga computacional distribuída)




     Página 5 de 5

Conceitos basicos

  • 1.
    Capitulo I Conceitos básicos de sistemas distribuídos 1. Introdução Um sistema distribuído é constituído por um conjunto de processadores autónomos conectados através de um subsistema de comunicação, que cooperam através da troca de mensagens. Esse tipo de sistema deve apresentar duas características inerentes: 1. A transparência na sua utilização, ou seja, a capacidade de se apresentar aos seus usuários como uma entidade única, e 2. O alto grau de tolerância a faltas (falhas). Actualmente, os sistemas distribuídos estão sendo pesquisados, desenvolvidos e apresentados como alternativa aos grandes sistemas centralizados. Alguns dos factores que justificam a tendência actual para sistemas distribuídos são: 1. Baixo custo dos processadores; 2. Custo por instrução em um processador de menor porte é inferior ao custo em um computador de grande porte; 3. Desejo de maior participação por parte dos usuários finais; necessidade de maior disponibilidade do sistema; 4. Alto custo das linhas telefónicas de comunicação utilizadas para conectar usuários remotos a sistemas centralizados; 5. Baixo desempenho das linhas telefónicas de comunicação, inadequado para transmissão de dados em alta velocidade; 6. Facilidade para interligar sistemas aplicativos distintos; 7. Tecnologia de rede disponível; 8. Necessidade de compartilhamento de recursos caros; 9. Segurança e confiabilidade, devido à distribuição do sistema; 10. Possibilidade de balanceamento de carga entre os processadores; e 11. Possibilidade de crescimento incremental de poder de processamento Página 1 de 5
  • 2.
    2. Definição Um Sistema Distribuído definido por Tanenbaum é uma colecção de computadores independentes que se apresenta ao usuário como um sistema único e consistente; outra definição, de Coulouris, seria uma colecção de computadores autónomos interligados através de uma rede de computadores e equipados com software que permita o compartilhamento dos recursos do sistema: hardware, software e dados. 3. Vantagens As vantagens de Sistemas Distribuídos incluem a possibilidade de: 1. Crescimento incremental (extensibilidade), ou seja, novos computadores e linhas de comunicação serem acrescidos ao sistema; a. A capacidade de evolução de um sistema central é limitada. Numa aproximação distribuída, a capacidade de processamento pode ser aumentada facilmente, basta considerar que os computadores pessoais têm várias dezenas de Mips e capacidades de disco de centenas de Mbytes. b. Para além deste aspecto os sistemas distribuídos podem expandir-se com máquinas de diferentes gerações tecnológicas 2. Implementação de aplicações inerentemente distribuídas (modularidade) exemplo: CSCW (Computer Supported Collaborative Work), correio electrónico, etc.; CSCW é a abreviatura de "Computer Supported Cooperative Work", traduzido em Português como Trabalho Cooperativo Suportado por Computador. De uma forma genérica, o CSCW é uma área científica interdisciplinar que estuda a forma como o trabalho em grupo pode ser suportado por tecnologias de informação e comunicação, de forma a melhorar o desempenho do grupo na execução das suas tarefas. As pesquisas em CSCW são normalmente caracterizadas em um quadro de duas dimensões: a distância das pessoas cooperando (remota ou localmente), e a forma de comunicação (síncrona ou assíncrona). O CSCW enquadra-se num domínio científico interdisciplinar, envolvendo diversas áreas científicas, tanto técnicas, como sistemas distribuídos, comunicação multimédia, telecomunicações, ciências da informação, quanto humanas e sociais, como psicologia, percepção e teoria Página 2 de 5
  • 3.
    sócio-organizacional. Os programasinformáticos cujo objectivo é serem usados por grupos cooperativos designam-se habitualmente por groupware. Genericamente, pode-se considerar o groupware como sendo software que suporta CSCW. As aplicações groupware mais antigas são o correio electrónico (E-mail), os grupos de discussão (newsgroup) e os sistemas de mensagens curtas, como o ICQ e o MSN Messenger. (http://pt.wikipedia.org/wiki/CSCW) a. Num sistema distribuído, o sistema informático pode evoluir de forma modular, incrementando o número ou capacidade das unidades, de acordo com as necessidades específicas de cada localização geográfica ou aplicação. b. Os investimentos podem ser programados da forma mais adequada ao crescimento da organização. 3. Tolerância a falhas através da replicação de processos em unidades de computação distintas; 4. Maior poder computacional: concorrência 5. Menor atraso no acesso (disponibilidade), que pode ser feito em um computador “próximo”. Por exemplo o site http://www.edubuntu.org/Download tem a opção para a escolha do local (África, Ásia Europa, América, …) a partir do qual se pretende fazer o download. Este sugere a escolha do servidor mais próximo do interessado, com o propósito de tornar o processo de download rápido. a. A disponibilidade advém da existência de máquinas independentes que podem continuar a assegurar um serviço quando uma delas falha. b. Obviamente, tal não se pode fazer se o serviço não tiver sido programado para funcionar de forma replicada 6. Separação física possibilita falhas independentes 7. Adequação geográfica a. A maioria das organizações, com alguma dimensão, é intrinsecamente distribuída: à distribuição geográfica adequa-se, naturalmente, uma repartição do sistema de informação. b. A centralização baseada em acesso por terminais remotos implica custos de comunicação significativos, porque não tira partido da possibilidade de trabalho local, em particular na interacção com o utilizador final das aplicações. 8. Desempenho optimizado Página 3 de 5
  • 4.
    a. Possibilidade deatribuir às máquinas mais adequadas as tarefas que elas podem optimizar. Por exemplo, os servidores de bases de dados (SGBD) podem ser aliviados das tarefas (altamente consumidoras de tempo de processamento) relacionadas com a interface com o utilizador b. A outra hipótese de optimização advém da utilização de máquinas com capacidade de execução paralela para cálculos científicos ou servidores de base de dados especializadas para grandes volumes de informação. 9. Melhor custo a. O preço cada vez mais reduzido dos computadores pessoais e servidores multiprocessador permite obter, por um custo muito menor, uma potência computacional e capacidade de armazenamento comparável à das grandes máquinas. b. É claro que os sistemas distribuídos implicam custos de comunicações, equipamento de rede e de supervisão, mas eliminam outros como os grandes centros de cálculo com ambiente controlado e elevados custos de exploração. Fig. 1: Visualização das vantagens Embora o hardware desses sistemas estejam num estágio avançado de desenvolvimento, o mesmo não se pode afirmar em relação ao software devido a complexidade adicional inerente a sua distribuição. Página 4 de 5
  • 5.
    4. Desvantagens 1. Software – até o presente momento não há muita disponibilidade de software para os sistemas distribuídos 2. Comunicação – tratamento e recuperação de mensagens. Melhoria da rede pode acarretar em custos altos. 3. Segurança – Compartilhamento de dados implica em esquemas especiais para proteção de dados sigilosos. 4. Integração de sistemas heterogêneos 5. Motivação (Porquê?) 1. Distribuição Geográfica (organizações físicas distribuídas); 2. Extensibilidade, modularidade; 3. Partilha de recursos; 4. Maior disponibilidade (replicação); 5. Maior desempenho (carga computacional distribuída) Página 5 de 5