O aparecimento de redes de computadores permitiu o surgimento de um novo paradigma de computação que se mostrou extremamente poderoso. Falo da possibilidade de distribuição do processamento de informação entre diferentes computadores e ao mesmo tempo.
Segundo Andrew Tanenbaum, é uma “coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente”.
O princípio deste paradigma consiste em executar um único programa em vários computadores ao mesmo tempo. Melhor dizendo, diferentes objetos ou elementos de um programa são executados em processadores diferentes com o objetivo de solucionar o mesmo problema.
A computação distribuída é um pouco semelhante à computação paralela que executa o mesmo programa em processadores diferentes, embora estes processadores estejam no mesmo computador.
Basicamente, na computação distribuída, o programa é executado como se estivesse em um único computador, com a diferença de que todo o custo de processamento não é suportado apenas por um processador, mas sim por vários, tornando as tarefas muito mais rápidas, poupando recursos de sistema e, por isso mesmo, mais eficientes. Na verdade, esta é a grande vantagem da computação distribuída. Um conjunto de computadores que trabalham para o mesmo problema, formando assim um “super computador” mais rápido e eficiente.
A arquitetura da computação distribuída é normalmente designada de P2P (peer-to-peer), embora esta designação não seja a mais correta, uma vez que os computadores não se comunicam diretamente uns com os outros. Existe sempre um servidor dedicado (administrador) que faz a gestão e coordena toda a rede, distribuindo de forma similar o custo dos recursos disponíveis, tornando assim o esforço coletivo muito mais rentável.
Com o emergir desta arquitetura e o aparecimento de cada vez mais sistemas distribuídos, surgiu o conceito de Cloud Computing, um conjunto de aplicações (ou serviços) acessíveis pela internet que visam fornecer as mesmas facilidades um sistema operacional, serviços estes distribuídos por vários servidores em diversos pontos.
Onde é utilizada a computação distribuída?
Embora o paradigma também seja utilizado no meio acadêmico para investigação ou cálculo científico, é no meio empresarial que revela maior ênfase, sendo utilizado em plataformas de serviços e aprovisionamento, produção e distribuição de conteúdos multimídia, alojamento de servidores aplicacionais e em plataformas de processamento de grandes fluxos de dados.
Um projeto bastante conhecido de computação distribuída é o SETI@Home (Search of ExtraTerrestrial Inteligence) que procura sinais de vida extraterrestre inteligente nos cantos mais obscuros e longínquos do universo.
Outro projeto interessante é o GIMPS (Great Internet Mersenne Prime Search), um projeto que se dedica a encontrar números primos gigantes, importantes na segurança, criptografia e outros setores das ciências matemáticas.