Utilidade do multi-core no contexto da computação com eficiência energética

Utilidade do multi-core no contexto da computação com eficiência energética

Estou considerando opções para um novo PC portátil. Gostaria de manter o uso de energia no mínimo e, ao mesmo tempo, executar trabalhos em lote o mais rápido possível. Trabalhos em lote geralmente posso paralelizar usando xargsnos casos em que o próprio programa de processamento não sabe como aproveitar as vantagens do multi-core.

Portanto, um chip multi-core de baixa tensão parece bastante atraente. No entanto, se um chip dual-core tiver o dobro do consumo de energia (mínimo) de um chip single-core, eu poderia optar por um único núcleo com uma velocidade de clock máxima mais alta. As CPUs multi-core são capazes de desligar temporariamente um ou mais núcleos para reduzir o consumo de energia?

Qual é a penalidade típica de consumo de energia para a adição de um núcleo (ou 3 núcleos para chips quad-core)? E, por outro lado, qual é a penalidade típica de consumo mínimo de energia para aumentar a velocidade de processamento por núcleo? Por "mínimo", quero dizer que gostaria que a máquina usasse o mínimo de energia possível quando a(s) CPU(s) for(em) reduzida(s) para a frequência mínima.

Responder1

Hoje em dia a tecnologia dos processadores está realmente avançada. Quando você precisar de um núcleo, basta executá-lo em um núcleo e estacionar os outros (pelo menos em CPUs Intel).

A razão por trás da computação multicore é que para uma determinada arquitetura (por exemplo, Core i7), determinado processo (por exemplo, 45nm), dado rendimento, se você aumentar a frequência, na extremidade superior do espectro a potência aumentará muito mais do que linear.

e.g. i3 processor: (**system** peak power)
i3-530 @ 2.93 GHz = 127 Watt
i3-530 @ 3.3 GHz = 133 Watt
i3-530 @ 4.4 GHz = 171 Watt

Observe que é a potência de pico do sistema, e não a potência de pico da CPU, que é medida. Tomando a energia ociosa do sistema (80 menos a potência ociosa de ~ 5-7 watts que a CPU consome), você obtém cerca de 54-100 Watts de pico de consumo da CPU. passar de 2,9 GHz para 4,4 GHz é um overclock de aproximadamente 50%, mas a potência quase o dobro.

Para a maioria das CPUs de consumo vendidas hoje, a frequência está em um nível bastante baixo (por exemplo, 2,93 GHz acima), de modo que um overclock modesto geralmente não causaria muito aumento na potência de pico, mas na extremidade superior do espectro (mercado de CPU mais entusiasmado) você estão indo para a parte mais íngreme da curva.

CPUs multicore oferecem ganho de desempenho relativamente linear (geralmente 0,6-0,7x por núcleo adicional) com um orçamento de energia geralmente mais baixo.

Resumindo, dimensionar menos frequência e mais núcleo geralmente proporcionará melhor desempenho em uma tarefa bem paralelizada.

ps <rant>se você tivesse um problema, você precisa pensar em paralelizá-lo para fazê-lo funcionar razoavelmente, talvez um PC portátil não seja a resposta. que tal conectar-se a um computador que consome muita energia em casa para fazer processamento remoto de números?</rant>

Responder2

De qualquer forma, quase não existem processadores de núcleo único por aí hoje em dia. Se você olharLocalizador de especificações da Intel, você verá que um Core 2 Solo usa significativamente menos energia (veja o TDP máximo) do que um quad core i7, mas um Core i7 UM dual-core de baixa voltagem usa apenas um pouco mais do que o core 2 Solo, e será significativamente mais rápido. Processadores single-core não valem a pena hoje em dia.

Todos os processadores modernos podem desligar núcleos e entrar em estados de menor consumo de energia. Os processadores Intel chamam isso de SpeedStep, e basicamente o que ele faz é executar o processador em uma velocidade de clock muito mais baixa e só funcionar em uma velocidade de clock mais alta quando a potência do processador for realmente necessária.

informação relacionada