Programação paralela
Desde o surgimento do primeiro computador digital eletrônico, ENIAC
(Electronic Numerical Integrator and Computer), em 1946, a computação passou por um processo evolutivo intenso, em nível de hardware e software, a fim de proporcionar maior desempenho e ampliar o leque de aplicações que podem ser computacionalmente resolvidas de maneira eficiente.
Na primeira geração de computadores estabeleceram-se os conceitos básicos de organização dos computadores eletrônicos, e na década de 50 apareceu o modelo computacional que se tornaria a base de todo o desenvolvimento subseqüente, chamado “modelo de von Neumann”.
O modelo de von Neumann é formado basicamente pelo conjunto: processador, memória e dispositivos de E/S. O processador executa instruções seqüencialmente de acordo com a ordem ditada por uma unidade de controle.
Durante as décadas seguintes, houve um aperfeiçoamento muito grande dos componentes do modelo von Neumann, e este ciclo evolutivo permanece até os dias atuais.
A partir da década de 70, porém, novas tecnologias de organização computacional começaram a ser desenvolvidas, em paralelo à evolução do modelo de von Neumann, buscando maior eficiência e facilidade no processo computacional. Dentre essas novas tecnologias, podemos citar a computação paralela, as redes de computadores e os mecanismos pipeline.
O início da década de 80 foi marcado pelo surgimento da filosofia VLSI de projeto de microcomputadores, que significou um fator estimulante para o desenvolvimento da computação, tanto em nível de arquiteturas paralelas quanto arquiteturas baseadas no modelo de von Neumann. Isto é devido à maior facilidade e ao menor custo no projeto de microprocessadores, cada vez mais complexos e menores.
Na década de 90, as redes de computadores se tornaram mais rápidas e mais confiáveis, o que possibilitou a interligação dos computadores pessoais e estações de trabalho de maneira eficiente formando os sistemas distribuídos.