Tentando reduzir a pilha de leitura, terminei hoje o
The Connection Machine de
Daniel Hillis. A connection machine é um misto de computador maciçamente paralelo e "memória ativa", no sentido que apesar da máquina ter poder de processamento, ela não é um sistema computacional completo; é preciso um computador
host para comandar a máquina, que fica funcionando praticamente como uma memória. De qualquer forma, é uma arquitetura completamente diferente das máquinas de von Neumann que usamos até hoje.
O livro é baseado na tese de doutorado de Hillis no MIT; não sei o quanto mudou da tese para o livro, porque o texto em geral entra em poucos detalhes para uma tese (na minha opinião). O mais interessante é o primeiro capítulo, onde ele explica as motivações para fazer uma máquina dessa forma, a idéia principal sendo replicar o modelo de processamento do cérebro humano: ao invés de ter um grande processador central, ter milhares, ou talvez milhões, de pequenos processadores simples. Além disso, se aproveitar do fato de que processadores e memória hoje em dia são feitos do mesmo material para "esquecer" a barreira que os separa na arquitetura tradicional de von Neumann. Assim, o componente principal da máquina é uma célula processador/memória, que é agrupada pelo programador em "estruturas de dados ativos", ou seja, estruturas que possuem o próprio poder de processamento. O processamento não está apenas nas células em si, mas também na comunicação (ou conexão) entre elas; daí o nome "máquina de conexões".
Os capítulos seguintes tratam de como programar a máquina (usando um dialeto Lisp), considerações sobre o projeto de uma máquina real seguindo esses princípios arquitetonicos, alocação de memória e uma visão geral sobre o protótipo da máquina que estava sendo construída na época. Acho que faltaram mais detalhes nesses capítulos, exceto o sobre programação. O último capítulo é um sermão confuso sobre como as ciências da computação deveriam se parecer mais com a física; não entendi muito bem onde o autor queria chegar, mas não concordo com a maioria do que entendi. Esse capítulo provavelmente foi resultado da influência de
Richard Feynman sobre o pessoal da
Thinking Machines (a empresa criada por Hillis para construir e vender a Connection Machine).
Enfim, o mercado dos supercomputadores afundou, a Thinking Machines foi pro saco, e a Connection Machine não existe mais. Fico pensando se essa arquitetura era realmente vantajosa em relação ao que ainda usamos hoje em dia; se sim, porque ninguém mais tentou algo do tipo. Parece que vivemos condenados à arquitetura de von Neumann, criada quando os computadores eram feitos com válvulas e memórias de núcleos magnéticos. Uma arquitetura que, por sinal, favorece as linguagens imperativas... as pessoas acham que a computação, como um campo do conhecimento humano, avança muito rápido; eu já acho, às vezes, que ela avança devagar demais.