O Ubuntu suporta o Core Parking?

13

O estacionamento do núcleo é um novo recurso introduzido no Windows 7 para melhorar o desempenho da bateria .

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

Então, minha pergunta é que existe alguma maneira de fazer isso no Ubuntu 12.04 "Core Parking" ?

    
por Qasim 09.09.2012 / 16:23

2 respostas

9

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

No entanto, fazendo algumas pesquisas rápidas, rapidamente percebi que os kernels Linux mais recentes usam um recurso chamado ACPI que é um acrônimo para Advanced Configuration e Power Interface .

O que a ACPI está fazendo:

  

a especificação Advanced Configuration and Power Interface (ACPI)   fornece um padrão aberto para configuração de dispositivos e energia   gerenciamento 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:

C-states da CPU (gerenciamento de energia)

  

Basicamente, provavelmente não há nada que você precise se preocupar   sobre a CPU "estados C". Estes são automaticamente controlados por   o 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   sua CPU para dormir quando há tempo ocioso (nota: isso não muda   a freqüência da CPU. Isso é controlado por "estados P" - veja abaixo.

     

A única coisa a perceber é que o seu sistema está completamente   "consciente" quando a CPU é momentaneamente interrompida - você não vai notar muito   de uma diferença. No entanto, a economia de energia pode ser considerável. Somente   pense nisso como tendo seu processador levando milhares de "micro-naps"   sempre que estiver ocioso.

Estados da CPU-T (limitação)

  

Estes são muito parecidos com os "estados C" (a mesma instrução HLT é   usado), no entanto a diferença é que o afogamento é "forçado por você"   (como todo ciclo 4 é forçado a ser um ciclo de sono, ao contrário do   "Estados C" acima do qual são determinados automaticamente pelo sistema   carga). Note que a frequência NÃO foi alterada ... veja o "P   estados "abaixo.

Estados da CPU-P (desempenho)

  

Muitos processadores atualmente (especialmente laptops) podem ter o relógio   freqüência realmente diminuiu "on the fly". Isso resulta em enorme poder   poupanç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 terá que entrar no BIOS e habilitar isso   recurso para o seu CPU PRIMEIRO!

** Alguns benchmarks de consumo: **

  

Quais são as economias de energia dos estados da CPU acima? Os seguintes   os 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 eu estiver aqui, vamos   me queixam da convenção de nomenclatura da AMD. O número 3400+ não   agachamento médio do jaque. Esta é apenas a maneira da AMD dizer que este processador   "parece" um Intel Pentium-4 rodando a 3400MHz. Eu acho que isso é   sua maneira de não perder o marketshare. Aqui está o poder do estado P e T   valores de consumo (o estado C é a mesma instrução HLT que o T   estado):

  • Estado de Desempenho 0 (Totalmente Ativo) (2200 MHz): 89 Watts
  • Performance State 1 (2000MHz): 70 Watts
  • Performance State 2 (800MHz): 35 Watts
  • Regulado (instrução HLT): 2,2 Watts

Algumas referências para leitura adicional

EDITOS

[EDIT # 1]: pesquisando, encontrei algumas outras postagens em alguns fóruns também (o fórum do OpenSuse parece ser relevante para o que você procura) e descobriu que isso não é tanto um problema para o Linux quanto para o Windows e especialmente para jogos. Eu também desenterrei algumas informações em dois e-mails ( primeiro e < a href="http://www.redhat.com/archives/redhat-sysadmin-list/2011-June/msg00004.html"> segundo [follow-up] ) nas listas de discussão RedHat que parecem estar relacionado, atualmente estou pesquisando as informações nele contidas.

[EDIT # 2]: Eu pesquisei o problema um pouco e estou ficando cada vez mais certo de que não há um mecanismo central de estacionamento no Linux, a menos que haja um o ACPI que eu não conheço. Algumas descobertas interessantes são alguns softwares 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.

    
por NlightNFotis 09.09.2012 / 17:17
2

Há um artigo aqui mencionando que o estacionamento central está relacionado à configuração de núcleos para avançar c-estados para economizar energia. c-states são definidos com a instrução halt. Como 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 pelo linux com o programa de código aberto powertop ( sudo apt-get install powertop ) escrito pela Intel. Se seu hardware suportar vários c-states, ele deve ser capaz de informar a porcentagem de tempo em que seus núcleos são colocados nesses estados de energia reduzida pelo Ubuntu Linux. Ver abaixo. Quanto maior o número do estado c, mais energia é economizada.

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

Além disso, como o Windows, quando há trabalho para fazer, o Linux pode ajustar a freqüência na qual os núcleos operam, dependendo da quantidade de demanda, desejo de economizar energia, etc.

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

    
por John S Gruber 09.09.2012 / 20:08