O aspecto fundamental das tecnologias em escala tera — e o centro da pesquisa da Intel — está efetuando esses cálculos complexos em tempo real, basicamente através da execução de múltiplas tarefas em paralelo. Este é o requisito básico para as aplicações complexas e surpreendentes que veremos no futuro.
Novas arquiteturas oferecem novas oportunidades Evidentemente, as arquiteturas em escala tera trazem vários desafios. Elas também oferecem muitas oportunidades únicas em seus projetos multi-core altamente integrados. Por exemplo, pense nas latências e a largura de banda das comunicações núcleo a núcleo, em chip. Essas serão ordens de grandeza melhores do que os sistemas de multiprocessamento chip a chip utilizados atualmente na computação paralela.
 |
| Há pessoas que ainda questionam um futuro multi-core, em escala tera, e o motivo pelo qual os aplicativos de amanhã necessitarão de tantos processos. A resposta reside no fato de que esses aplicativos inteligentes e avançados exigem capacidades de supercomputação e o respectivo paralelismo que permite o processamento desses aplicativos em tempo real. |
 |
O número de núcleos em um chip também pode alcançar níveis muito além daqueles dos servidores sofisticados tradicionais. Isso pode trazer benefícios importantes, tanto no desempenho, quanto em reduções de custo, em relação aos sistemas tradicionais de processador único ou duplo. Por último, o altíssimo poder computacional de um processador em escala tera, combinado à modularidade de muitos núcleos, permite que os designers dediquem recursos do hardware (como um ou mais núcleos) para funções específicas. Poderiam ser dispositivos de gerenciamento de sistema ou de uso exclusivo, como um utilitário de voz sobre IP (para telefonia na Internet), criptografia ou codificação / decodificação de mídia.
Áreas de pesquisa da computação em escala tera A Intel identificou vários atributos chave, necessários nas futuras plataformas em escala tera:
- Programabilidade Sem software otimizado, as plataformas em escala tera não exercerão todo o seu potencial. As plataformas devem atender efetivamente às necessidades dos modelos de programação novos e já existentes. Isso também abrange ferramentas de desenvolvimento e depuração de software, assim como novos benchmarks de desempenho, consistentes com a execução altamente paralela.
- Adaptabilidade A plataforma deve ser capaz de alterar a configuração para acompanhar a diversificação de uso e workloads, assim como se adaptar às mudanças implementadas no ambiente do hardware, como as relacionadas aos fatores energéticos e térmicos.
- Confiabilidade A plataforma deve manter os níveis atuais de confiabilidade ou aumentar sua confiabilidade, a despeito do aumento da complexidade inerente nessas plataformas.
- Confiança A plataforma deve propiciar um ambiente de confiança, a despeito de sua flexibilidade e da complexidade de seu projeto.
- Escalabilidade A plataforma deve proporcionar um desempenho que aumente de acordo com o número de núcleos, com o hardware e software efetivamente dimensionado.
Para ajudar a desenvolver plataformas que atendem a esses requisitos, o Programa Intel de Pesquisas Tecnológicas em Escala Tera abrange projetos no mundo inteiro e supera desafios em três áreas críticas: microprocessadores, plataformas e desenvolvimento de software. Entre outros, esses desafios englobam otimizar projetos para workloads de vários processos e altamente paralelas, desenvolver interconexões on-die escaláveis, reconstruir cache e hierarquias de memória, melhorar a E/S e identificar e explorar o paralelismo através do desenvolvimento de software.
Pesquisa de microprocessador Uma das metas da Intel é fornecer uma arquitetura de processador em escala tera, escalável e altamente modular, que possa se encarregar da grande variedade de plataformas Intel® dentro das futuras limitações de energia. Há quatro aspectos primordiais para o fornecimento dessa arquitetura: projetos de núcleo otimizados, unidades de funções fixas, interconexões on-die escaláveis e gerenciamento eficiente de energia.
Projetos de núcleo Um dos aspectos diferenciais das arquiteturas em escala tera é o uso de uma microarquitetura de núcleo, otimizada para workloads de vários processos e altamente paralelas. O multi-threading simultâneo pode ajudar a lidar com as latências de memória e a reduzir ou eliminar uma complexidade imprópria.
Na Intel, os pesquisadores estão trabalhando para determinar o projeto (ou projetos) de núcleo ideal, necessário(s) para as arquiteturas em escala tera. Os pesquisadores também se esforçam para identificar o número de núcleos que podem ser efetivamente explorados em determinada geração de processos de fabricação (como 45nm, 32nm ou 22nm). A pesquisa voltada para incluir em cada núcleo recursos e mecanismos especiais, que facilitem a exploração do paralelismo no nível de processos, é de especial importância.
O software do legado e os algoritmo inerentemente de processos únicos impõem outro desafio às arquiteturas em escala tera. Para solucionar esse problema, os pesquisadores da Intel estão explorando meios de incorporar núcleos heterogêneos, de propósito geral (núcleos otimizados de processo único e de múltiplos processos) às arquiteturas em escala tera. Além disso, os pesquisadores estão investigando o uso de conjuntos de núcleos simples para agilizar os processos únicos, através de especulação no nível de processos e de outras técnicas avançadas.
Ao variar o mix de elementos funcionais, a arquitetura pode permitir que os designers criem diversas implementações que atendam a necessidades específicas do mercado. Se o processador usa os ladrilhos (quadriculados) comuns, que consistem em um ou mais núcleos, cache, um roteador e outros itens de hardware de apoio, seria possível reutilizar aspectos diferentes de um layout de um processador para o outro.

Figura 1. Os futuros chips em escala tera usarão uma matriz de dezenas até centenas de núcleos com caches reconfiguráveis, bem como aceleradores de hardware de propósito especial.
Unidades de funções fixas As demandas por economia de energia sugerem que, em algumas situações, compensaria criar unidades de funções fixas. Unidades de funções fixas são elementos de processamento dedicados a uma determinada workload (carga de trabalho). O desempenho dessas unidades nessa tarefa específica será melhor do que o rendimento de uma unidade de execução de propósito geral (por exemplo, a manipulação de bits de comprimento variável ou a lógica de decodificação de vídeo). Essas funções podem ser mecanismos de lógica fixa ou programável, otimizados para um propósito específico, como mecanismos de gráficos para agilizar o processamento de texturas. Outras possibilidades sendo pesquisadas abrangem vários aceleradores de rede, mecanismos de criptografia e mecanismos de Física.
Com unidades de funções fixas, uma plataforma específica em escala tera pode ter um processador com um mix de tipos de elementos correspondentes às workload significativas no segmento ao qual ele deve atender. Tanto o número de unidades, quanto o número relativo de cada tipo podem variar.
Malha de interconexões on-die escaláveis Um processador em escala tera precisa se conectar, não somente com um grande número de núcleos, como também com caches e hardware de propósito especial, como unidades gráficas. Basicamente, à medida que mais elementos são encapsulados em um chip em escala tera, há uma necessidade proporcionalmente maior da comunicação dessas unidades entre si. Estudos têm demonstrado que o projeto das interconexões e a microarquitetura terão um papel muito importante na determinação do rendimento "líquido" de uma arquitetura em escala tera.
Em particular, a arquitetura em escala tera exigirá uma "malha" de interconexões modulares on-die (ou em chip), dimensionável para suportar um número variável de núcleos. As interconexões também devem ser robustas diante das falhas, e devem ter uma durabilidade arquitetônica que pode abranger várias gerações de projetos de processadores. Por último, as interconexões devem ter um gerenciamento de energia eficiente que reduza o consumo de energia para alcançar o uso mais eficiente dos núcleos. Espera-se de que as redes de interconexões on-chip ofereçam várias vantagens em relação às atuais interconexões do núcleo off-chip:
- Os fios on-chip são baratos e abundantes, em comparação às redes off-chip em placas de circuito impresso.
- As interconexões on-chip geralmente podem ser roteadas na parte superior de alguns tipos de estruturas de circuito (como os caches), para ocuparem menos espaço on-die.
- Considerando-se as distâncias menores que as interconexões on-die devem abarcar, geralmente elas são mais ágeis e economizam mais energia do que as interconexões off-die.
- As larguras do barramento on-die podem ser maiores do que as das placas de circuito impresso, permitindo velocidades de modulação mais baixas, e mais eficientes. Em outras palavras, é possível aumentar as larguras de banda, alargando o barramento e realmente diminuindo a velocidade de modulação para economizar energia.
Como as interconexões on-die podem aceitar um grande número de núcleos, elas podem atender a vários segmentos do mercado, desde dispositivos de servidores grandes até pequenos processadores de mini-notebooks. A arquitetura de interconexões aceitaria projetos modulares (com uma interface padrão para diversos elementos de cálculo) e ofereceriam mais possibilidades de dimensionar o desempenho por uma década, para dar suporte a diversas gerações de processos. Essas características são típicas de interconexões de plataformas, como a PCI, que ressalta mais ainda a natureza básica de um processador em escala tera como uma plataforma/sistema em um chip.
Gerenciamento de energia Uma arquitetura em escala tera ofereceria novas oportunidades de gerenciamento de energia. Por exemplo, a disponibilidade de diversos núcleos modulares permitirá que o sistema migre o trabalho, conforme a necessidade, para equilibrar o uso no processador em escala tera, ou para equiparar a workload com o tipo de núcleo. O gerenciamento eficiente de cargas térmicas nos componentes individuais de um processador em escala tera também vai melhorar a confiabilidade geral, assim como o desempenho geral, dispersando uniformemente a carga térmica.
No nível do circuito, a Intel está pesquisando várias áreas críticas. Essas áreas abrangem projetos de circuitos para caches on-die e memória on-die, que são mais eficientes em termos de uso da energia. Os circuitos de arquivamento de registros de protótipos já estão constando uma melhoria três vezes maior na velocidade dos acessos à memória, e uma redução de até quatro a cinco vezes maior do consumo de energia nos circuitos atuais. O objetivo da Intel é alcançar uma melhoria de 10 vezes mais no desempenho por watt, nos próximos 10 anos.
Os processadores em escala tera também podem contar com a possibilidade de reduzir o consumo de energia em uma tarefa específica de computação. Isso significa que as workloads não críticas ou altamente paralelas poderiam ser executadas a uma freqüência reduzida, diminuindo com isso o consumo de energia. Para o código crítico ou segmentos de código altamente serial, é possível otimizar o desempenho, acelerando temporariamente a freqüência.
Áreas de pesquisa de plataforma Intel Para conhecer mais detalhes sobre essas novas áreas de pesquisa inovadoras, leia a publicação técnica relacionada, intitulada “De alguns para muitos núcleos: uma visão geral da pesquisa tecnológica em escala tera” (PDF 238KB) . Essa publicação examina com mais detalhes as áreas de Pesquisa de plataformas da Intel, a saber:
- Cache e hierarquia de memória
- E/S
- Virtualização e particionamento
- Ambientes de execução
- Áreas de pesquisa de desenvolvimento de software
- Workloads futuras, inclusive reconhecimento, mineração e síntese
- Ambientes de programação
- Programação paralela
Visite também a página Computação em escala tera no site da Intel na web, onde você encontrará um demo e outras informações relacionadas.
Resumo A Intel prevê dispositivos futuros girando ao redor de arquiteturas em escala tera, que usam dezenas a centenas de núcleos para processar quantidades gigantescas de informações simultaneamente. Ao tornar esses dispositivos escaláveis, adaptáveis e programáveis, a Intel pode ajudar a conduzir a indústria para uma nova era onde existe a possibilidade de aplicativos mais imersivos, interativos e úteis.
Em um mundo em escala tera, existirão novos recursos de processamento para minerar e interpretar a montanha crescente de dados do mundo, e fazer isso com mais eficiência. Agentes inteligentes poderiam avisar os usuários em tempo real sobre compra e venda de ações e outras decisões financeiras. Esses agentes poderiam pesquisas coleções imensas de vídeos digitais, para localizar pessoas ou eventos específicos, e até editar um novo vídeo, de acordo com o que o usuário deseja ver. Para os usuários de games, há o benefício óbvio de gráficos fotorealísticos em tempo real. Contudo, até mesmo esses benefícios não se destinam apenas aos usuários de games. Já estão sendo desenvolvidos ambientes virtuais interativos para colaboração e aprendizagem, como aprender um idioma, interagindo com falantes nativos virtuais, ou treinar um médico para uma situação de emergência, em um corpo humano simulado.
Há pessoas que ainda questionam um futuro multi-core, em escala tera, e o motivo pelo qual os aplicativos de amanhã necessitarão de tantos processos. A resposta reside no fato de que esses aplicativos inteligentes e avançados exigem capacidades de supercomputação e o respectivo paralelismo que permite o processamento desses aplicativos em tempo real. Esta é uma grande mudança no que os dispositivos mais importantes — servidores, desktops e portáteis — podem fazer, e exige uma mudança de iguais proporções no hardware e software.
A computação em escala tera não é um objetivo novo, mas o atendimento da Plataforma 2015 — A visão de longa data da Intel sobre a evolução coletiva das tecnologias, interfaces e infra-estruturas tecnológicas, e a inovação da arquitetura e capacidades do núcleo permitirão essa evolução. Através do Programa de Pesquisa Tecnológica em Escala Tera, a Intel tem dedicado muitos esforços no sentido de desenvolver as tecnologias para realizar essa visão. As descobertas e conquistas resultantes não somente moldarão o futuro da microarquitetura Intel, como também guiarão as capacidades das plataformas básicas e permitirão a realização das possibilidades do futuro através de aplicativos revolucionários.
|