12.05.2013 Views

Placas-Mãe (.pdf)

Placas-Mãe (.pdf)

Placas-Mãe (.pdf)

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

computador é muito mais rápido que o cérebro humano para operações<br />

numéricas, comparação ou classificação, mas para as outras atividades, o cérebro<br />

humano continua imbatível. O que o nosso cérebro faz que os computadores<br />

ainda não fazem? Basicamente temos bilhões de neurônios operando em paralelo.<br />

Dessa linha de raciocínio surgiu o princípio da computação em paralelo. Por quê,<br />

ao invés de construirmos CPUs mais velozes e complexas, não utilizamos várias<br />

CPUs simples e confiáveis, operando em paralelo?<br />

Abre-se, portanto, o horizonte para duas soluções para o mesmo problema.<br />

Como aumentar o poder de processamento dos computadores? Aumentando a<br />

complexidade de soluções tecnológicas dentro de uma já “arcaica” arquitetura ou<br />

quebrando o paradigma com uma nova proposta de arquitetura? Essa é a reposta<br />

que o mercado nos dará em breve. Contornar os problemas tecnológicos ou partir<br />

de uma base nova de pensamento. Como a primeira solução vem sendo discutida<br />

já faz algum tempo, lançaremos nossa viagem futurística para essa nova<br />

abordagem que propõe ganhos de “escala” em termos de processamento muito<br />

maiores, o processamento em paralelo. O que é o processamento paralelo? É o<br />

que veremos a seguir.<br />

PROCESSAMENTO PARALELO<br />

Consiste em dividir uma tarefa em suas partes independentes e na execução de<br />

cada uma destas partes em diferentes processadores. Parece simples, mas não é.<br />

Como usar vários processadores e controlá-los de forma a que cheguem a<br />

determinado resultado?<br />

Façamos analogia com a construção de uma casa. Se um pedreiro constrói<br />

uma casa em um ano, então dois pedreiros constróem a mesma casa em meio<br />

ano. Esse é o princípio do processamento em paralelo: a divisão de tarefas. Mas,<br />

e se tivéssemos 100 pedreiros? Será que teríamos uma casa em 3,6 dias?<br />

Temos então outro ponto importante, o balanceamento de carga. Ou cada<br />

um faz 1/100 da casa ou usamos a especialização, alguns pedreiros preparam o<br />

concreto, outros assentam tijolos, etc. Já pensou o que seria termos 100 pedreiros<br />

para assentar uma porta?<br />

Desse exemplo simples podemos distinguir alguns problemas. Até quanto<br />

podemos paralelizar uma tarefa e quantos processadores devem ser alocados?<br />

Como sincronizar esses processadores de forma a que um não repita o trabalho<br />

do outro e como promover o balanceamento de carga? Não é difícil construir um<br />

hardware para funcionar em paralelo, porém o software terá, necessariamente,<br />

uma programação muito mais complicada. Tanto que alguns autores vêem nesse<br />

mercado a oportunidade para programadores que conseguem paralelizar<br />

algorítmos.<br />

ARQUITETURA DE FLYNN<br />

Classificação de computadores paralelos<br />

16

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!