O Ubuntu suporta Core Parking?

13

O estacionamento principal é um novo recurso introduzido no Windows 7 para obter melhor desempenho da bateria .

Dependendo do uso de recursos do sistema operacional, ele pode estacionar um ou vários núcleos de uma CPU com vários núcleos para reduzir o consumo de energia e as emissões térmicas do computador. Uma vez que as operações exigem mais poder de processamento, os núcleos estacionados são ativados novamente para ajudar nas tarefas

Então, minha pergunta é que existe alguma maneira de fazê-lo no Ubuntu 12.04 "Core Parking" ?

Qasim
fonte
3
Ótima pergunta!
NlightNFotis 9/09/12

Respostas:

9

Por enquanto, não tenho uma resposta clara para isso, no entanto, é óbvio que o Linux Kernel está usando alguns mecanismos de economia de energia .

No entanto, ao fazer algumas pesquisas rápidas, percebi rapidamente que os kernels Linux mais recentes usam um recurso chamado ACPI, que é um acrônimo para Configuração avançada e Interface de energia .

O que a ACPI está fazendo:

a especificação Advanced Configuration and Power Interface (ACPI) fornece um padrão aberto para configuração do dispositivo e gerenciamento de energia pelo sistema operacional.

via Wikipedia .

Basicamente, o ACPI permite o controle de diferentes estados da CPU, para permitir um melhor gerenciamento de energia.

Diferentes estados da CPU da ACPI:

Estados C da CPU (gerenciamento de energia)

Basicamente, provavelmente não há nada com que você precise se preocupar com relação aos "estados C" da CPU. Eles são controlados automaticamente pelo sistema kernel + ACPI, levando em consideração a carga atual do sistema. (CAVEAT: confira a nota sobre os processadores AMD Athlon e Duron abaixo). O código ACPI nos kernels mais recentes (2.6+) coloca automaticamente a CPU no modo de espera quando há tempo ocioso (nota: isso não altera a frequência da CPU. Isso é controlado pelos "estados P" - veja abaixo).

A única coisa a perceber é que seu sistema fica completamente "consciente" quando a CPU é momentaneamente interrompida - você não notará muita diferença. No entanto, a economia de energia pode ser considerável. Pense nisso como tendo sua CPU fazendo milhares de "micro-cochilos" sempre que estiver ociosa.

Estados da CPU-T (limitação)

Eles são muito parecidos com os "estados C" (a mesma instrução HLT é usada), mas a diferença é que a limitação é "forçada por você" (como todo quarto ciclo é forçado a ser um ciclo de sono, em oposição aos "estados C "acima dos quais são determinados automaticamente pela carga do sistema). Observe que a frequência NÃO foi alterada ... veja os "estados P" abaixo.

Estados da CPU-P (desempenho)

Atualmente, muitos processadores (principalmente laptops) podem ter a freqüência do relógio diminuída "on the fly". Isso resulta em uma enorme economia de energia. A Intel chama isso de "SpeedStep" e a AMD chama de "Cool'n'Quiet" ou "PowerNow". Mais genericamente, esses estados são chamados de "estados P". Você quase certamente precisará acessar o BIOS e ativar esse recurso para sua CPU PRIMEIRO!

** Alguns parâmetros de consumo: **

Quais são as economias de energia dos estados da CPU acima? Os seguintes dados são extraídos do site da AMD. Considere um AMD 64 3400 + / 2200MHz com 1 MB de cache L2. A propósito, enquanto estou aqui, deixe-me reclamar da convenção de nomes da AMD. O número 3400+ não significa jack squat. Esta é apenas a maneira de a AMD dizer que esse processador "se parece" com um Intel Pentium-4 rodando a 3400MHz. Eu acho que essa é a maneira deles de não perder participação no mercado. Aqui estão os valores de consumo de energia dos estados P e T (o estado C é a mesma instrução HLT que o estado T):

  • Estado de desempenho 0 (totalmente ativo) (2200MHz): 89 watts
  • Estado de desempenho 1 (2000MHz): 70 Watts
  • Estado de desempenho 2 (800 MHz): 35 Watts
  • Regulador de pressão (instrução HLT): 2,2 Watts

Algumas referências para leitura adicional

EDITAR% S

[EDIT # 1]: Pesquisando no Google, encontrei outras postagens em alguns fóruns também (o fórum OpenSuse parece ser relevante para o que você procura) e descobri que isso não é um problema tão grande para o Linux quanto para o Windows e especialmente em jogos. Eu também desenterrei algumas informações em dois e-mails ( primeiro e segundo [acompanhamento] ) nas listas de discussão do RedHat que parecem estar relacionadas. Atualmente, estou pesquisando as informações contidas nele.

[EDIÇÃO # 2]: pesquisei um pouco sobre o assunto e estou cada vez mais certo de que não existe um mecanismo de estacionamento básico no Linux, a menos que exista um da ACPI que eu desconheça. Algumas descobertas interessantes são algumas peças de software que permitem a manipulação direta da CPU e os processos executados nela, como cpuset , numactl e, por último mas não menos importante, CPUfreq . Continuarei com minha pesquisa.

NlightNFotis
fonte
Eu acho que alguns dispositivos Android podem desativar um ou mais núcleos. Não tenho certeza se isso é gerenciado diretamente pelo hardware ou pelo kernel.
Leo
2

Há um artigo aqui mencionando que o estacionamento do núcleo se refere à configuração de núcleos para avançar os estados c para economizar energia. Os estados c são definidos com a instrução de parada. Como o NlightNFotis menciona, isso é feito usando o suporte do Linux para ACPI.

Você pode obter mais informações sobre os estados nos quais seus núcleos são colocados no linux com o programa de código aberto powertop( sudo apt-get install powertop) escrito pela Intel. Se o seu hardware suportar vários estados-c, ele poderá informar qual porcentagem de tempo seus núcleos são colocados nesses estados de energia reduzida pelo Ubuntu Linux. Ver abaixo. Quanto maior o número c-state, mais energia é economizada.

Ele fornece muito mais informações também.

Além disso, como o Windows, quando há trabalho a ser feito, o Linux pode ajustar a frequência com que os núcleos são executados, dependendo da quantidade de demanda, do desejo de economizar energia etc.

Meu laptop não suporta estados-c, embora possa ser suspenso. Um pouco de Acer que temos com um processador Atom os suporta, como você pode ver abaixo.

insira a descrição da imagem aqui

John S Gruber
fonte