Intel desenvolve tecnologia para acelerar aplicações mono-thread em CPU´s multinucleares

Os dois principais fabricantes de processadores x86 vêm, ao longo dos últimos anos, introduzindo cada vez mais núcleos de processamento em suas CPUs. 

A constante ampliação de performance das CPUs modernas apresenta a tendência de seguir o caminho de ampliação da capacidade de processamento paralelo, em decorrência de problemas com dissipação de energia quando se sobe a frequencia de operação.

Entretanto, a contínua evolução dos processadores em direção a quantidades cada vez maiores de núcleos encontra alguma dificuldade em traduzir essa evolução em termos de performance em aplicações que não estão otimizadas para operar paralelismo no nível das threads.
Esse problema é particularmente agravado pelo fato de que o processo de desenvolvimento de aplicações otimizadas para processamento em múltiplos núcleos é mais complexo do ponto de vista técnico. Esse aspecto torna a capacidade de processamento em uma única thread um parâmetro de performance importante.

Além disso, é importante ressaltar que quanto mais núcleos de processamento disponíveis, mais complexa fica a tarefa do desenvolvedor de aplicações para gerenciar a distribuição dessas threads no sistema operacional.

A solução ideal para o problema seria um compilador, ou mesmo um driver de CPU, que "transformasse" uma aplicação desenvolvida para rodar em um único núcleo em uma otimizada para processamento paralelo, permitindo que os desenvolvedores não se preocupassem com esse tipo de coisa.

É exatamente essa tecnologia que está sendo desenvolvida pela Intel. Basicamente, a Intel pretende quebrar uma aplicação mono-thread em várias instâncias, colocando cada uma delas para rodar em um núcleo da CPU, e, ao final do processo juntá-las novamente.

Essa nova tecnologia será implementada tanto em tempo de compilação e também através de hardware, e, segundo a Intel, os ganhos de performance observados podem chegar a até 260% em aplicações não otimizadas para rodar processadores multinucleares.

Além disso, a tecnologia irá permitir que uma aplicação otimizada para rodar em um processador bi-nuclear rode muito mais rápido em processadores com mais de 2 núcleos.

Fonte

Comentários