Computação Distribuída



 Definição

Um sistema distribuído segundo a definição de Andrew Tanenbaum é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente"[1]; outra definição, de George Coulouris, diz: "coleçã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".

Assim, a computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores ou mais de um processador trabalhando em conjunto no mesmo computador, para processar colaborativamente determinada tarefa de forma coerente e transparente, ou seja, como se apenas um único e centralizado computador estivesse executando a tarefa. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como sistema distribuído.

Organização

Organizar a interação entre cada computador é primordial. Visando poder usar o maior número possível de máquinas e tipos de computadores, o protocolo ou canal de comunicação não pode conter ou usar nenhuma informação que possa não ser entendida por certas máquinas. Cuidados especiais também devem ser tomados para que as mensagens sejam entregues corretamente e que as mensagens inválidas sejam rejeitadas, caso contrário, levaria o sistema a cair ou até o resto da rede.

Outro fator de importância é a habilidade de mandar softwares para outros computadores de uma maneira portável de tal forma que ele possa executar e interagir com a rede existente. Isso pode não ser possível ou prático quando usando hardware e recursos diferentes, onde cada caso deve ser tratado separadamente com cross-compiling ou reescrevendo software.

Modelos de computação distribuída

Cliente/Servidor

Cliente-servidor é um modelo computacional que separa clientes e servidores, sendo interligados entre si geralmente utilizando-se uma rede de computadores. Cada instância de um cliente pode enviar requisições de dado para algum dos servidores conectados e esperar pela resposta. Por sua vez, algum dos servidores disponíveis pode aceitar tais requisições, processá-las e retornar o resultado para o cliente. Apesar do conceito ser aplicado em diversos usos e aplicações, a arquitetura é praticamente a mesma.

Peer-to-peer (P2P)

O P2P ou Peer-to-Peer(Par-a-Par) é uma tecnologia para estabelecer uma espécie de rede de computadores virtual, onde cada estação possui capacidades e responsabilidades equivalentes. Difere da arquitetura cliente/servidor, no qual alguns computadores são dedicados a servirem dados a outros. Esta definição, porém, ainda é demasiado sucinta para representar todos os significados do termo Peer-to-Peer.

Objetos Distribuídos

Semelhante ao peer-to-peer, mas com um Middleware intermediando o processo de comunicação.

Hardware

A organização do hardware em sistemas com várias UCPs se dá por:

Sistemas paralelos

  • É constituído de vários processadores tipicamente homogêneos e localizados em um mesmo computador.

  • Multicomputadores - Cada processador possui sua própria memória local.

  • Multiprocessadores - Os processadores compartilham memória.

Arquiteturas

  • Multiprocessadores em barramento.

  • Multiprocessador.

  • Multiprocessador homogêneo.

  • Multiprocessador heterogêneo.

Software

  • Fracamente acoplados - permitem que máquinas e usuários de um sistema distribuído sejam fundamentalmente independentes e ainda interagir de forma limitada quando isto for necessário, compartilhando discos, impressoras e outros recursos.

  • Fortemente acoplados - provê um nível de integração e compartilhamento de recursos mais intenso e transparente ao usuário caracterizando sistemas operacionais distribuídos.

Exemplos


Autor: Bruno Martins Duarte dos Santos


Artigos Relacionados


CoraÇÃo Machucado

Fugidia

Pleno Amor

Fidelidade Feminina

Severa Certeza

Peregrinação

EssÊncia