Antes de fazer uma portagem na Computação Paralela, primeiro vamos dar uma olhada no fundo dos cálculos de um software de computador e porque falhou para a era moderna.
Softwares de computador foram escritos convencionalmente para computação em série. Isto significava que para resolver um problema, um algoritmo divide o problema em instruções menores. Estas instruções discretas são então executadas na Unidade Central de Processamento de um computador, uma a uma. Apenas depois de uma instrução ser concluída, a próxima começa.
A vida real exemplo disto seria pessoas em fila à espera de um bilhete de cinema e só há uma caixa. A complexidade desta situação aumenta quando há 2 filas e apenas uma caixa.
Então, em suma, Serial Computing está a seguir:
- Nisto, uma instrução de problema é dividida em instruções discretas.
- Então as instruções são executadas uma a uma.
- Apenas uma instrução é executada a qualquer momento.
- Poupa tempo e dinheiro, uma vez que muitos recursos trabalhando juntos reduzirá o tempo e os custos potenciais.
- Pode ser impraticável resolver problemas maiores na Computação Serial.
- Pode tirar partido de recursos não locais quando os recursos locais são finitos.
- A Computação Serial ‘desperdiça’ o potencial de computação, assim a Computação Paralela faz melhor trabalho de hardware.
- Paralelismo de nível de bits: É a forma de computação paralela que se baseia no aumento do tamanho do processador. Ele reduz o número de instruções que o sistema deve executar para executar uma tarefa em dados de grande tamanho.
Exemplo: Considere um cenário onde um processador de 8 bits deve computar a soma de dois inteiros de 16 bits. Ele deve primeiro somar os 8 bits de ordem inferior, depois adicionar os 8 bits de ordem superior, exigindo assim duas instruções para realizar a operação. Um processador de 16 bits pode executar a operação com apenas uma instrução. - Paralelismo em nível de instrução: Um processador só pode endereçar menos de uma instrução para cada fase do ciclo do relógio. Estas instruções podem ser reordenadas e agrupadas que são posteriormente executadas simultaneamente sem afetar o resultado do programa. Isto é chamado de paralelismo em nível de instrução.
- Paralelismo de tarefas: O paralelismo de tarefas emprega a decomposição de uma tarefa em subtarefas e depois aloca cada uma das subtarefas para execução. Os processadores executam as subtarefas simultaneamente.
Lê no ponto 3. Isto estava causando um enorme problema na indústria da computação, pois apenas uma instrução era executada a qualquer momento. Isto foi um enorme desperdício de recursos de hardware já que apenas uma parte do hardware será executada para uma determinada instrução e de tempo. Como as instruções de problemas estavam ficando mais pesadas e volumosas, o mesmo acontece com a quantidade de tempo na execução dessas instruções. Exemplos de processadores são Pentium 3 e Pentium 4.
Agora vamos voltar ao nosso problema da vida real. Podemos definitivamente dizer que a complexidade vai diminuir quando houver 2 filas e 2 caixas a darem bilhetes a 2 pessoas simultaneamente. Este é um exemplo de Computação Paralela.
Computação Paralela –
É o uso de múltiplos elementos de processamento simultaneamente para a resolução de qualquer problema. Os problemas são divididos em instruções e são resolvidos simultaneamente, uma vez que cada recurso que foi aplicado ao trabalho está funcionando ao mesmo tempo.
Vantagens da Computação Paralela sobre a Computação Serial são as seguintes:
Tipos de Paralelismo:
Por que computação paralela?
- O mundo real inteiro corre em natureza dinâmica, ou seja, muitas coisas acontecem em um determinado momento, mas em lugares diferentes simultaneamente. Estes dados são extensivamente grandes para gerenciar.
- Os dados do mundo real precisam de simulação e modelagem mais dinâmicas, e para alcançar o mesmo, computação paralela é a chave.
- Computação paralela fornece simultaneidade e economiza tempo e dinheiro.
- Complexo, grandes conjuntos de dados, e seu gerenciamento pode ser organizado somente e somente utilizando a abordagem da computação paralela.
- Segura a utilização eficaz dos recursos. O hardware é garantido para ser utilizado eficazmente, enquanto que na computação em série apenas alguma parte do hardware foi utilizada e o resto foi renderizado em modo ocioso.
- Inclui-se a implementação de sistemas em tempo real utilizando computação em série.
Aplicações da computação paralela:
- Bases de dados e mineração de dados.
- Simulação de sistemas em tempo real.
- Ciência e Engenharia.
- Gráficos avançados, realidade aumentada e realidade virtual.
Limitações da Computação Paralela:
- Endereços como comunicação e sincronização entre múltiplas sub-tarefas e processos, o que é difícil de conseguir.
- Os algoritmos devem ser gerenciados de tal forma que possam ser manipulados no mecanismo paralelo.
- Os algoritmos ou programa devem ter baixo acoplamento e alta coesão. Mas é difícil criar tais programas.
- Mais técnicos e programadores experientes podem codificar bem um programa baseado no paralelismo.
Futuro da Computação Paralela: O gráfico computacional sofreu uma grande transição da computação em série para a computação paralela. Um gigante tecnológico como a Intel já deu um passo em direção à computação paralela, empregando processadores de múltiplos núcleos. A computação paralela irá revolucionar a forma como os computadores funcionam no futuro, para o melhor bem. Com todo o mundo se conectando ainda mais do que antes, a Computação Paralela desempenha um papel melhor para nos ajudar a permanecer dessa forma. Com redes mais rápidas, sistemas distribuídos e computadores multi-processadores, torna-se ainda mais necessário.
Leitor de presença! Não pare de aprender agora. Obtenha todos os conceitos importantes da Teoria CS para entrevistas da SDE com o Curso de Teoria CS a um preço amigável para os estudantes e fique pronto para a indústria.