Tendências Futuras em Arquitetura de Computadores

Introdução


O modelo computacional de Von Neumann já é sexagenário e se fosse uma pessoa já estaria bem próximo da aposentadoria por idade, É bem verdade que houve algumas recauchutagens notáveis como a RISC, mas não mudou muita coisa. Além disso é iminente o esgotamento da Lei de Moore em virtude do limite físico do Silício empregado hoje nos semicondutores, o que deve ocorrer no começo da década de 2020.

Assim, intensificam-se os esforços em se desenvolver tanto novas arquiteturas, como novos materiais e processos de fabricação para os sistemas computacionais, o que tem sido chamado de "More than Moore".
Tendências de evolução de arquiteturas
As melhores perspectivas ainda são para médio e longo prazo. A curto e médio prazo parece mais prudente esperarmos por arquiteturas "super heterogêneas", com a presença de múltiplos aceleradores para aplicações específicas. Alguns acreditam que mesmo a longo prazo, mesmo as novas arquiteturas quânticas serão híbridas com a computação tradicional atual.


More than Moore (Materiais e Processos)


Envolve novos materiais e processos de fabricação, química e física.

Substituição, ou extensão, do CMOS:
  • Ampliação da eletrônica para a spintrônica(?);
  • Grafeno;
  • CNT (Carbon Nano Tube);
  • Dark silicon.
Chips 2.5D e 3D (multistack):
  • Uso de fotônica para conexão intrachip (e eventualmente interchip).
Novos componentes como memristores podem ser colocados nesta lista, mas geralmente requerem novas arquiteturas de processamento também.

A ITRS (International Technology Roadmap for Semiconductors) cunhou a expressão “More-than-Moore” e é o "ponto central" das iniciativas nessa direção.

Alguns dos principais grupos de pesquisa trabalhando com aplicações computacionais com grafeno e CNT podem ser encontrados nas universidades de Stanford, Harvard (Química) e na parceria da IBM TJ Watson Research Center com a Duke University.


Tendências em Arquitetura


Talvez "novas" arquiteturas não seja o termo mais apropriado temporalmente, já que são pesquisas relativamente antigas, mas há um conjunto de arquiteturas não Von Neumann (nem Harvard), ou seja, que realmente rompem com o modelo computacional atual sendo pesquisadas. A figura abaixo sintetiza isso.



A computação neuromórfica (neuromorphic computing) se consiste basicamente em computadores inspirados em sistemas biológicos, mais especificamente, no cérebro. É comum se encontrar o termo "brain inspired" na literatura dessa área. A ideia é simular o funcionamento dos neurônios e sinapses e, assim, como no cérebro humano, o processamento e a memória ficam integrados. Esses circuitos são conhecidos como Redes Neurais e o tipo mais empregado nos computadores neuromórficos atuais são as SNNs, — Spiking Neural Network. Os spikes correspondem aos impulsos gerados pelos neurônios. 

Circuitos neuromórficos são excelentes para tarefas como reconhecimento de padrões e recuperação de memória. Reconhecimento de padrões pode parecer inicialmente uma aplicação despretensiosa, mas isso inclui reconhecimento de voz, vídeo e imagem, da biometria à multimídia, passando por medicina diagnóstica e diversas outras aplicações. Eles podem ser construídos com transistores convencionais em implementações analógicas ou digitais, bem como através de novos dispositivos como memristores e junções de Josephson.

Algumas implementações digitais de computadores neuromórficos incluem o IBM Neurosynaptic (TrueNorth), o projeto SpiNNaker de um consórcio de universidades e empresas britânicas, liderado pela Universidade de Manchester, e o Zeroth da Qualcomm Zeroth. Soluções analógicas ou mistas tem sido testadas na universidade de Stanford, no MIT e nas universidades alemãs de Heidelberg e Dresden .
Normalmente o termo computação cognitiva (cognitive computing) aparece como o principal termo associado à computação neuromórfica, mas há também a menção à computação aproximada (approximate computing). A computação aproximada tem sido exposta principalmente pela Universidade de Washington e pela Microsoft Research. O pano de fundo é o fenômeno conhecido como "Dark Silicon", onde boa parte da área do silício, isto é, dos circuitos que compõem os microprocessadores multicore, passa parte do tempo desligada para atender às restrições de consumo de energia. A computação aproximada é feita utilizando-se uma combinação de níveis de tensão mais baixos, unidades de processamento neural, extensões à arquitetura do conjunto de instruções (ISA) e ferramentas de software (compiladores, etc.). De modo simplificado a ideia é essencialmente o que está no nome, permitir que os resultados de algumas operações não sejam precisos. Por mais estranho que possa parecer, há algumas aplicações que podem se beneficiar disso como realidade aumentada, sensoriamento, multimídia, pesquisa na web, aprendizado de máquina (machine learning), analítica de dados e otimização.

A computação quântica aplica princípios da física quântica em computadores. Ao invés de bits temos os "qubits", que graças ao efeito quântico, podem assumir 2 valores ao mesmo tempo. Esse fenômeno acelera drasticamente a solução de diversos tipos de problemas e foram desenvolvidos uma série de técnicas matemáticas para explorar essa nova forma de computação, mesmo que há época, fossem sistemas estritamente teóricos. O NIST (National Institute of Standards and Technology) agrupa os diversos algoritmos quânticos conhecidos em uma página com o curioso nome de "Quantum Algorithm Zoo" (http://math.nist.gov/quantum/zoo/), dividida nas seções "álgebra e teoria dos números", "oracular" e "aproximação e simulação". Na metade de 2017 havia 60 deles na página. As áreas de aplicação desses algoritmos são as mais diversas possíveis e incluem cibersegurança, pesquisa de novos medicamentos, simulações de sistemas extremamente complexos, etc.

Os computadores quânticos ditos universais ainda são uma incógnita. Por explorar fenômenos da mecânica quântica, o hardware de um computador quântico trabalho a temperaturas extremamente baixas como -273ºC, próximas do zero absoluto. Os maiores desafios são a estabilidade dos qubits, pois medir o estado quântico altera seu valor, ou seja, os dados, e também a escalabilidade do sistema. IBM, Google, Intel e Microsoft estão entre as empresas que têm investido pesadamente nessa área e já demonstraram protótipos de sistemas entre 10 e 20 qubits. Estima-se que um computador quântico precisará pelo menos uma centena de qubits para computação universal, isto é, o emprego de qualquer dos algoritmos quânticos, obtendo uma performance muito superior a de um computador de alto desempenho atual. A D-Wave já possui sistemas comerciais com 2000 qubits, mas utilizam um fenômeno quântico particular chamado "quantum annealing", cujo leque de aplicações é bastante reduzido em relação aos ditos computadores quânticos universais.

Na arquitetura de Von Neumann o armazenamento de dados (memória) e o processamento (CPU) estão separados. Uma expectativa é uma arquitetura que leve o processamento à memória. Essas arquiteturas de "computação em memória" são chamadas geralmente de PIM (Processor in Memory), mas ainda não há um modelo funcional muito promissor. A maioria das simulações consideram componentes novos, mas ainda não disponíveis comercialmente, tais como os memristors, meminductors e memcapacitors.

Por outro lado, mesmo que esse novo modelo computacional não se prove viável, uma tendência que deve se concretizar em menor tempo é a eliminação da hierarquia de memória (em especial da memória secundária), com a adoção de uma memória principal muito mais rápida e não-volátil. Assim os programas, bem como os arquivos estarão sempre disponíveis para acesso pela CPU e sempre carregados na memória, eliminando as escritas entre memória principal e secundária, bem como a memória virtual, além de virtualmente eliminar a barreira do tamanho da memória principal. Alguns grupos defendem a permanência da memória cache, enquanto outros grupos apregoam que até mesmo esse nível poderia ser eliminado resultando e uma única memória universal para o sistema. Mesmo que isso não altere a arquitetura computacional de Von Neumann, já irá requerer  Sistemas Operacionais completamente redesenhados. Uma empresa que tem pesquisado fortemente este modelo é a HPE (Hewlett Packard Enterprise) e grupos nas universidades de South Carolina e San Diego - California.

Outras tendências em arquitetura abordadas pela indústria e academia contemplam:
  • emprego da fotônica para processamento e não apenas comunicação;
  • "velhas e boas" soluções analógicas;
  • sistemas microeletromecânicos;
  • computadores biológicos (orgânicos).


Considerações Finais


As arquiteturas que romperiam de forma mais radical com o modelo de Von Neumann seriam o processamento em memória e a computação quântica, sendo que ambas dependem também de avanços em materiais e processos.

Por outro lado, avanços em materiais e processos em si não implicam na mudança do paradigma computacional, embora possam vir a representar grandes saltos de desempenho.

Parece haver um certo consenso em que a computação neuromórfica e a computação quântica, bem como outros modelos com menores perspectivas atualmente, venham a conviver de forma integrada e complementar com o modelo computacional de Von Neumann, ao menos até o médio prazo. Ou seja, a expectativa hoje é que não haveria uma substituição total do paradigma computacional vigente, mas uma extrema aceleração ao se integrar novas arquiteturas com um desempenho realmente muito superior, porém apenas para determinados tipos de problemas computacionais. Esses modelos híbridos seriam espécies de arquiteturas “super heterogêneas”. É importante ressaltar também que há um grande esforço na integração do sistema, criando todo um framework para programação e sistemas operacionais.


Referências e Notas Adicionais


Uma fonte essencial de informação sobre esse tema é o IEEE Rebooting Computing, uma iniciativa do IEEE para reunir esforços multidisciplinares nos temas aqui mencionados. 

O IEEE CS 2022 Report é um relatório lançado em Fevereiro de 2014 que faz previsões tecnológicas para toda a área de computação para o horizonte de 2022 e pode ser obtido em http://www.computer.org/portal/web/computingnow/2022-Report.

Algumas das referências utilizadas:
  • ITRS (International Technology Roadmap for Semiconductors) - “More-than-Moore” White Paper.
  • An Chen, "Emerging research device roadmap and perspectives," IC Design & Technology (ICICDT), 2014 IEEE International Conference on , vol., no., pp.1,4, 28-30 May 2014.
  • Shulaker, M. M., Hills, G., Patil, N., Wei, H., Chen, H.-Y., Wong, H.-S. P., & Mitra, S. (2013). Carbon nanotube computer. Nature, 501(7468), 526-30. Nature Publishing Group. Retrieved from http://www.ncbi.nlm.nih.gov/pubmed/24067711.
  • Merolla, P. A., Arthur, J. V., Alvarez-Icaza, R., Cassidy, A. S., Sawada, J., Akopyan, F., Jackson, B. L., et al. (2014). A million spiking-neuron integrated circuit with a scalable communication network and interface. Science, 345(6197), 668-673. Retrieved from http://www.sciencemag.org/cgi/doi/10.1126/science.1254642 .
    • More papers at International Joint Conference on Neural Networks (IJCNN), Communications of the ACM, IEEE Custom Integrated Circuits Conference (CICC), International Conference for High Performance Computing, Networking, Storage and Analysis (SC), Int. Conf. on Integration of Design, Engineering & Management for Innovation.
  • MODHA, D. Introducing a brain-inspired computer: TrueNorth’s neurons to revolutionize system architecture. IBM Research, 2014. Retrieved from http://www.research.ibm.com/articles/brain-chip.shtml.
  • FURBER, Steve B. et al. The spinnaker project. Proceedings of the IEEE, v. 102, n. 5, p. 652-665, 2014.
    • More papers at IEEE Proceedings , IEEE Transactions on Computers , IEEE Journal of Solid-State Circuits , ACM Trans. Archit. Code Optim , IEEE Spectrum , Journal of Parallel and Distributed Computing , IEEE Transactions on very Large Scale Integration (VLSI) Systems and IEEE Transactions on Neural Networks.
  • ESMAEILZADEH, Hadi et al. Architecture support for disciplined approximate programming. In: ACM SIGPLAN Notices. ACM, 2012. p. 301-312.
  • ESMAEILZADEH, Hadi et al. Power challenges may end the multicore era. Communications of the ACM, v. 56, n. 2, p. 93-102, 2013.
  • ESMAEILZADEH, Hadi et al. Neural acceleration for general-purpose approximate programs. In: Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. IEEE Computer Society, 2012. p. 449-460.
  • Pershin, Y.V.; Di Ventra, M., "Neuromorphic, Digital, and Quantum Computation With Memory Circuit Elements," Proceedings of the IEEE , vol.100, no.6, pp.2071,2080, June 2012.

Links sobre Computação Neuromórfica:

Links sobre Computação Quântica:

Outros links: