Negocio

O que é computação distribuída? – Princípios, ambientes e aplicações

Poder de processamento do computador

Os computadores se tornaram mais poderosos com o passar dos anos. Mais memória, processadores mais rápidos e maior capacidade de armazenamento tornam cada nova geração de computadores melhor do que a anterior. Um computador comum para o consumidor que você pode comprar em uma loja de eletrônicos local tem um poder de computação que excede em muito o dos computadores especializados para pesquisa de duas décadas atrás.

Mesmo assim, os computadores ainda não são rápidos o suficiente. Nossa sociedade moderna coleta grandes quantidades de informações digitais, que exigem muito mais processamento. Os tipos de problemas para os quais usamos computadores também se tornaram mais complexos. Não estamos mais usando apenas computadores para somar números e digitar relatórios.

Então, digamos que você tenha uma tarefa muito exigente para executar em um computador. Você desenvolveu um software para simular a eficácia de um novo medicamento na limitação do crescimento de células cancerosas em nível molecular. Coisas complicadas, mas você tem uma equipe inteligente de pesquisadores e seu modelo parece muito sólido. Você decide fazer um teste. Você carrega o software e os dados no computador mais rápido do laboratório de pesquisa e, na tarde de sexta-feira, clica em ‘Executar’.

Você passa o fim de semana pensando em como será emocionante ver seus resultados. Você volta ao escritório na segunda-feira de manhã e corre para o computador. A barra de progresso informa que seu cálculo está 0,001% concluído. Sua primeira corrida de modelo será concluída na época de sua festa de aposentadoria. E você realmente deseja testar seu modelo milhares de vezes diferentes para examinar diferentes tipos de drogas!

Então, como você aumenta a capacidade de processamento de um computador? Os fabricantes de computadores estão continuamente desenvolvendo chips de computador mais rápidos, mas há limites técnicos sobre o quão mais rápido um chip de computador pode ser. Outra abordagem é – e você provavelmente adivinhou – usar mais de um computador ao mesmo tempo. Você pode comprar mais computadores, mas isso apresenta um problema. Como você vai usar vários computadores para executar seu software?

O que é computação distribuída?

O que você precisa é de um sistema de computação distribuído . Um sistema distribuído usa software para coordenar tarefas que são executadas em vários computadores simultaneamente. Os computadores interagem para atingir um objetivo comum e interagem enviando mensagens uns aos outros.

No caso do software que você desenvolveu, os cálculos reais precisam ser divididos em elementos separados que podem ser executados em computadores diferentes. Alguns cálculos podem ser inteiramente sequenciais, o que significa que você só pode ir para a etapa dois após a conclusão da etapa um. No entanto, alguns cálculos podem ser executados em paralelo, o que significa que você pode dividi-los em elementos, executá-los separadamente, mas ao mesmo tempo, e então combinar os resultados.

A computação distribuída é usada para resolver problemas computacionais complexos que não podem ser concluídos em um período de tempo razoável em um único computador. O tempo necessário para completar todos os cálculos é reduzido aproveitando o poder de vários computadores.

O exemplo do software que você desenvolveu ilustra o maior desafio da computação distribuída. Você não só precisa fazer cálculos para resolver a tarefa específica em questão, mas também ser capaz de dividi-los em elementos que podem ser executados separadamente. Depois de conseguir fazer isso, você também precisará de um software controlador especial que gerencie os recursos dos vários computadores.

A unidade de computador que executa este software também é chamada de ‘computador mestre’, enquanto as outras unidades são chamadas de ‘trabalhadores’. O software do controlador aloca tarefas para computadores individuais e combina seus resultados quando as tarefas são concluídas. Mensagens entre computadores são usadas para enviar e receber solicitações e resultados e para verificar o andamento da conclusão da tarefa.

Um dos principais benefícios da computação distribuída é que os computadores individuais não precisam estar todos no mesmo lugar. Na verdade, você pode nem mesmo ter que possuir todos os computadores. Muitos computadores ficam parados a maior parte do dia sem fazer nada.

E se os usuários de computador individuais disponibilizassem seu poder de processamento de computador na Internet quando não estiverem usando o computador? Isso é conhecido como ‘computação distribuída voluntária’. O projeto SETI @ home é um dos exemplos mais famosos dessa abordagem. Com mais de cinco milhões de usuários e mais de dois milhões de anos de tempo de computação agregado, é reconhecida como a maior computação da história. Vá para a computação distribuída!

Outras aplicações

A computação distribuída é amplamente usada para cálculos científicos complexos. No entanto, também é usado para aplicativos em que o objetivo geral não é necessariamente fazer cálculos, mas coletar dados em locais diferentes. Por exemplo, uma rede de sensores sem fio usa dispositivos de computação em vários locais para coletar dados que são processados ​​centralmente. Isso é amplamente usado para coisas como monitoramento ambiental e previsão do tempo.

Outro exemplo de computação distribuída é o uso de jogos online em que vários usuários podem interagir, conhecidos como jogos online para múltiplos jogadores, ou MMOGs. Normalmente, um mundo virtual é mantido por um sistema central, mas o poder de processamento de computadores individuais ou consoles de jogos é usado ao mesmo tempo.

Computação Paralela

Em um sistema distribuído típico, cada computador possui seu próprio processador e sua própria memória. Eles operam como computadores independentes que compartilham informações para atingir um objetivo comum. Um sistema relacionado, mas semelhante, é conhecido como ‘computação paralela’. Um sistema de computação paralela usa vários processadores, mas compartilha recursos de memória.

O que isso significa em termos práticos é que a computação paralela é uma maneira de tornar um único computador muito mais poderoso usando vários processadores. Essa abordagem foi adotada em computadores comuns. Quando se diz que um computador tem um processador duo-core ou quad-core, isso significa que ele usa dois ou quatro processadores, respectivamente, em paralelo.

A computação paralela torna os sistemas de computador individuais mais poderosos, mas é um tanto limitada. Você pode adicionar muito mais poder de processamento antes que outros fatores, como a memória, se tornem um fator limitante. A computação distribuída não tem essas limitações e pode, em teoria, usar milhares de computadores diferentes combinados.

Resumo da lição

Algumas tarefas de computação requerem a potência de vários computadores. Isso pode ser feito usando computação distribuída . Isso usa software para coordenar tarefas executadas em vários computadores ao mesmo tempo. Cada computador possui seu próprio processador e memória. Os computadores individuais podem estar em locais distantes, desde que tenham uma conexão de rede para coordenar tarefas usando mensagens. A computação paralela é uma técnica relacionada que usa vários processadores, mas apenas uma única unidade de memória.

Resultado de aprendizagem

Depois de assistir a esta lição, você será capaz de definir e explicar o processo de computação distribuída.