Skip to main content

O que é computação paralela?

A computação paralela ocorre quando um computador executa mais de uma tarefa simultaneamente. Essa técnica pode permitir que os computadores trabalhem mais rápido do que fazer uma coisa ao mesmo tempo, assim como uma pessoa com duas mãos livres pode carregar mais do que uma pessoa com uma mão livre. Tradicionalmente, os programas de computador são projetados de maneiras que não permitem necessariamente a computação paralela, mas precisam ser executadas uma etapa de cada vez. Para que um programa seja computado dessa maneira, ele deve ser projetado para poder ser dividido em tarefas menores que podem ser realizadas individualmente. Como um exemplo de como a computação paralela se relaciona com a pessoa comum, muitos computadores pessoais têm vários núcleos de processamento que permitem processar várias tarefas ao mesmo tempo, em vez de uma tarefa após a outra, como em um único processador.

Escrever um programa de computador para que ele possa ser dividido em tarefas separadas para serem executadas separadamente geralmente é mais difícil do que escrever um de cada vez, usando execução linear. Nos programas de computador que serão executados sequencialmente, a primeira tarefa geralmente determina as informações que são parte integrante da segunda tarefa na sequência. Sem o primeiro pedaço de informação resultante da realização da primeira tarefa, a segunda tarefa poderia ser inútil. Ao escrever um programa para que ele possa ser dividido em partes diferentes, cronometrar coisas para que partes diferentes do programa tenham as informações de que precisam quando precisam e não tomem decisões com base em informações desatualizadas pode ser um desafio único. Essa preocupação geralmente está associada aos tipos mais comuns de bugs de computador que os programas de computação paralelos enfrentam.

A principal vantagem da computação paralela é que os programas podem executar mais rapidamente. Se o hardware do computador que está executando um programa usando a computação paralela tiver a arquitetura, como mais de uma unidade de processamento central (CPU), a computação paralela pode ser uma técnica eficiente. Como analogia, se um homem pode carregar uma caixa de cada vez e que uma CPU é um homem, um programa em execução sequencial pode ser capaz de transportar uma caixa de cada vez. Ao executar em paralelo, o mesmo programa pode ser capaz de se dividir em duas tarefas separadas e, se houver duas CPUs para tirar vantagem, leve as duas caixas ao mesmo tempo. Ao fazer isso, o homem carrega as duas caixas e completa sua tarefa mais rapidamente.