Multicore e energia

Potência, energia, temperatura, Amdahl e desequilíbrio de trabalho.

TLDR

Perguntar sobre esta página

ChatGPTClaudePerplexityGrokGeminiCopiar e abrirDeepSeekCopiar e abrir

Quatro núcleos recebem 10, 10, 10 e 30 unidades de trabalho. Mesmo que três acabem cedo, a tarefa só termina quando o quarto concluir as suas 30 unidades. Acrescentar núcleos exige distribuir trabalho e conservar capacidade nos recursos partilhados.

Um CPU multicore reúne vários núcleos no mesmo circuito integrado; um multiprocessador pode reunir vários CPUs e um cluster liga computadores separados. O tempo, a potência e a energia precisam de contas distintas.

Potência, energia e temperatura

Potência PP mede energia por segundo, em watts. Energia E=PΔtE=P\Delta t, em joules, se P for constante. Um CPU de 40 W durante 3 s consome 120 J; outro de 60 W durante 1,5 s consome 90 J. Ou seja, menor potência não garante menor energia.

Densidade de potência é potência/área. Para 20 W em 50 mm², são 0,4 W/mm². Um modelo térmico estacionário usa:

Tj=Ta+PRθJA.T_j=T_a+P R_{\theta JA}.

Com ambiente 25°C, resistência térmica 0,8°C/W e potência 60 W, a junção chega a 73 °C. Para limite 85°C, a potência máxima do modelo é (85−25)/0,8=75(85−25)/0,8=75 W. Resistência térmica depende do caminho de dissipação e da montagem; não é a condutividade do material. Densidades acima de cerca de 1,5 W/mm² atingem o limite do arrefecimento a ar, o que trava a frequência antes de travar a contagem de transístores.

Potência dinâmica

O modelo de comutação é Pdin∝αCV2fP_{\rm din}\propto\alpha C V^2f, com atividade α\alpha, capacitância C, tensão V e frequência f. Há também potência estática; esta expressão não a inclui.

Com V fixa, P cresce proporcionalmente a f. Sob a aproximação adicional V∝fV\propto f, cresce como f3f^3:

Aumentar f em 20% com V fixa multiplica P por 1,2. Se V também aumenta 20%, o fator é 1,23=1,7281,2^3=1,728. Não apliques a lei cúbica quando o enunciado fornece outra relação entre tensão e frequência.

Dois núcleos a metade da frequência, cada um com metade da tensão, dissipam juntos 2×(1/2)3=1/42\times(1/2)^3=1/4 da potência dinâmica original. Com duas vezes a área, a densidade torna-se 1/8. Só mantêm o throughput original se a carga se dividir perfeitamente e os recursos partilhados suportarem essa execução.

Rapidez com vários núcleos

Se a fração serial do tempo original é ss, com n núcleos ideais:

Sn=1s+(1−s)/n.S_n=\frac{1}{s+(1-s)/n}.

Com s=0,10 e n=8, S=4,706S=4,706, não 8. A eficiência é S/n=58,82%S/n=58,82\%. Comunicação, sincronização e desequilíbrio aumentam o tempo além deste modelo ideal.

Se os núcleos também mudam de frequência, compara a rapidez de cada um. Para uma parte perfeitamente paralela, com CPI e trabalho iguais, o débito é proporcional a nfnf: dez núcleos a 2,4 GHz contra oito a 2,5 GHz dão razão de tempos 24/20=1,224/20=1{,}2. O segundo conjunto demora 20% mais.

A energia conta potência vezes tempo. Com potência por núcleo proporcional a f3f^3, a configuração alternativa tem 8(2,5/2,4)3=9,0428(2,5/2,4)^3=9,042 unidades de potência, face às 10 originais: menos potência instantânea, mas durante mais tempo. A energia relativa é 9,042×1,2/10=1,0859,042\times1,2/10=1,085, maior 8,5% neste modelo.

O núcleo mais lento determina o fim

No exemplo inicial, transferir 5 unidades do núcleo carregado para um dos que tem 10 deixa cargas 10, 10, 15 e 25. O total continua a ser 60 e a média continua a ser 15, mas o tempo baixa de 30 para 25 porque diminui o maior quinhão.

Se cada núcleo recebe fração wiw_i do trabalho e a rapidez é igual, o tempo paralelo é proporcional a max⁡iwi\max_i w_i, não à média. A soma das frações continua 1, mas a última tarefa só acaba no núcleo mais carregado.

Com 10 núcleos, um recebe 9%; os outros dividem 91%, ou 10,111% cada. A razão face à divisão ideal 10% é 1,01111: aumento de tempo 1,111%. Se o primeiro recebe 20%, a razão é 2.

Em geral:

T(x)Tequilibrado=10max⁡(x,1−x9).\frac{T(x)}{T_{\rm equilibrado}}=10\max\left(x,\frac{1-x}{9}\right).

Núcleo 1: 9%. Cada um dos outros nove: 10,111%. Tempo relativo: 1,0111; aumento: 1,11%.

A linha tracejada marca os 10% da divisão equilibrada. A barra mais longa determina o fim da tarefa.

Quando o primeiro núcleo tem menos de 10%, os outros nove determinam o fim; acima de 10%, passa a ser ele. O mesmo desvio absoluto não tem o mesmo efeito: retirar trabalho de um distribui-o por nove, acrescentar trabalho concentra-o num só.

Para obter aumento percentual, calcula 100×(razão −1). Multiplicar só a razão por 100 dá percentagem do tempo original.

Escalabilidade e recursos partilhados

Strong scaling fixa o tamanho do problema e acrescenta núcleos. Weak scaling aumenta o problema com o número de núcleos. Não compares os tempos como se medisse a mesma tarefa.

Memória, barramento e capacidade de cache podem limitar o conjunto. Núcleos idênticos de um multiprocessador simétrico não implicam, por si só, acesso uniforme à memória: UMA e NUMA descrevem o custo de acesso. O algoritmo deve considerar onde estão os dados e como comunica.

Exercícios

Separar tensão e frequência

Capacitância/atividade fixas. Frequência e tensão aumentam 20%. Qual é o fator da potência dinâmica?

Pista
P é proporcional a V²f.
Solução

Fator 1,728, ou aumento 72,8%. Com tensão fixa, o fator seria apenas 1,2.

Erros frequentes

Elevar sempre frequência ao cubo sem condição sobre tensão.

Voltar à explicação
Determinar potência admissível

Temperatura de junção máxima 85°C, ambiente 25°C, RθJA=0,8°C/W. Qual potência máxima no modelo estacionário?

Pista
A margem térmica é 60°C.
Solução

75 W, porque o modelo considera resistência térmica fixa e regime estacionário.

Erros frequentes

Multiplicar pela resistência em vez de dividir ou confundir W com J.

Voltar à explicação
Usar o maior quinhão

Dez núcleos iguais. Um recebe 9% do trabalho; os outros dividem 91%. Quanto aumenta o tempo face à divisão 10% por núcleo?

Pista
Os nove núcleos restantes determinam o fim.
Solução

Razão 1,011111; aumento 100×(razão −1)=1,111111%. O núcleo de 9% termina antes.

Erros frequentes

Responder 101,111% como aumento ou usar a média 10%.

Voltar à explicação
Menor potência pode gastar mais energia

Carga perfeitamente paralela, mesmo CPI. Base 10 núcleos 2,4 GHz; alternativa 8 núcleos 2,5 GHz; potência por núcleo proporcional a f³. Calcula energia alternativa/base.

Pista
Tempo inversamente proporcional a nf.
Solução

Energia relativa≈0,9042245×1,2=1,0850694. A energia sobe 8,51%, apesar da potência menor.

Erros frequentes

Comparar só watts sem considerar a duração.
Voltar à explicação
Equilibrar trabalho conservando a tarefa

Quatro núcleos executam uma unidade por ms e recebem 10,10,10,30 unidades independentes. Move cinco unidades do quarto para o terceiro. Calcula o novo tempo e a média de cargas. Sem custo de redistribuição e permitindo dividir livremente o trabalho, qual é o menor tempo possível e que distribuição o atinge?

Solução

As cargas passam a 10,10,15,25, logo a tarefa termina aos 25 ms. A soma mantém-se em 60 e a média em 15. O máximo não pode ser menor do que a média; distribuir 15 por núcleo atinge esse limite, dando 15 ms. A média nunca diminuiu, ao contrário do máximo.

Confere a tua resposta:

  • Conservei 60 unidades e média 15.
  • Obtive tempo 25 após mover cinco unidades.
  • Justifiquei o mínimo ideal 15 com quatro parcelas iguais.
Voltar à explicação

À tua maneira

Aparência

Modo de cor
Tema
Cor de destaque

Leitura

Fonte de leitura

Álgebra, lógica e uma ideia de cada vez.

Código

Fonte do código

Navegação

Cursor de leitura, sem edição. h, j, k, l movem; / pesquisa nesta página. v seleciona caracteres; V seleciona linhas; y copia. Tab permite destacar ou comentar. Espaço ou Enter abre blocos recolhíveis. Nos cartões, h, j, k, l mudam o foco.

CSS personalizado

Ativa uma sugestão ou guarda o teu CSS. Só muda este navegador.

Usa --page, --text e --accent para acompanhar o tema.

Seletores e recuperação

.site-header, .prose, .course-card, [data-reading-history], [data-playground] e .page-actions.

Abre a aparência com a tecla vírgula ou no rodapé. Se o CSS esconder os controlos, abre esta página sem CSS personalizado.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Copiar fórmula

A cópia automática não está disponível. Copia o LaTeX abaixo.

Pesquisar nesta página

Enter procura · n / N repetem · Esc cancela. Ctrl / Cmd K pesquisa todo o site.

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.