|
1 |
Sites interessantes
Downloads
Artigos
Computação distribuída
A computação distribuída, ou sistema distribuído, é uma referência à computação paralela e descentralizada, realizada por dois ou mais computadores conectados através de uma rede, cujo objetivo é concluir uma tarefa em comum.
“Uma coleção de computadores independentes que aparecem para o usuário como um único sistema coerente.”
Índice
3.1 Cliente/Servidor
3.2 Peer-to-peer (P2P)
3.3 Objetos Distribuídos
4. Hardware
4.1 Sistemas paralelos
4.1 Arquiteturas
5. Software
6. Sistemas operacionais
7. Exemplos
8. Ver também
9. Referências
1. 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" ; 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" .
O suporte completo de um sistema de banco de dados distribuídos implica que uma única aplicação seja capaz de operar de modo transparente sobre dados dispersos em uma variedade de banco de dados diferentes, gerenciados por vários SGBDs diferentes, em execução em uma variedade de máquinas diferentes que podem estar rodando em diversas plataformas diferentes e uma variedade de sistemas operacionais. Onde o modo transparente diz respeito à aplicação operar sob um ponto de vista lógico como se os dados fossem gerenciados por um único SGBD,
funcionando em uma única máquina com apenas um sistema operacional.
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.
2. 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 rescrevendo software.
3. Modelos de computação distribuída
3.1. Cliente/Servidor
O cliente manda um pedido para o servidor e o servidor o retorna.
Ex: Acesso de clientes à sites de Bancos (BankLines)
3.2. Peer-to-peer (P2P)
É uma arquitetura de sistemas distribuídos caracterizada pela descentralização das funções na rede, onde cada modo realiza tanto funções de servidor quanto de cliente..
Ex: Redes de Compartilhamento de arquivos ( Músicas, vídeos, etc..). Tais como Kazar-lite, E-mule, LimeWire,etc..
3.3. Objetos Distribuídos
Semelhante ao peer-to-peer, mas com um Middleware "mediador" intermediando o processo de comunicação.
Ex:
Entende-se um aplicação de objetos distribuidos, quando se distribui objetos entre os vários nodos (máquinas) em que a aplicação corre. Objetos distribuídos e interações cliente/servidor não são coisas mutuamente exclusivas. Uma aplicação baseada em objetos distribuídos é, em princípio, estruturada de forma conceitualmente semelhante a uma aplicação Orientada a Objeto comum - uma coleção de objetos que se comunicam por meio de interfaces bem-definidas. A diferença é que esses objetos podem ou não residir em espaços de endereçamento distintos. Além disso, para preservar a sintaxe das chamadas locais, a comunicação com objetos remotos é tipicamente feita por meio de chamadas síncronas e bloqueantes. Quando um objeto chama um método em um outro objeto remoto, no entanto, você está essencialmente produzindo uma interação no estilo cliente/servidor.
Alguns exemplos de middleware para objetos distribuídos: implementações de CORBA, Java/RMI, DCOM e o ICE (meu favorito).
4.2. Arquiteturas
6. Sistemas operacionais
Multiplos processadores permitem que vários programas sejam executados ao mesmo tempo e em tempo real.Com isso será possível aumentar a capacidade de computação adicionando apenas processadores
Exemplos:
Os sistemas operacionais mais conhecidos hoje são: Windows XP, GNU/Linux, MacOS(Apple). Um exemplo clássico de computação distribuída é o projeto Seti at home que visa procurar em sinais de rádio interplanetários algum vestígio de vida extraterrestre.
O exemplo mais moderno desse paradigma é o BOINC, que é um framework de grade
computacional no qual diversos projetos podem rodar suas aplicações, como fazem os projetos World Community Grid, SETI@Home, ClimatePrediction.net, Einstein@Home, PrimeGrid e OurGrid.
Referências
1. . Tanenbaum, Andrew S., Distributed Systems: Principles and Paradigms, pg. 2
Obtida de "https://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_distribu%C3%ADda"
Categoria: Computação distribuída