BR112014024206B1 - Equipamento, método implementado por computador e sistema para controle de gerenciamento de energia em microsservidores. - Google Patents

Equipamento, método implementado por computador e sistema para controle de gerenciamento de energia em microsservidores. Download PDF

Info

Publication number
BR112014024206B1
BR112014024206B1 BR112014024206-2A BR112014024206A BR112014024206B1 BR 112014024206 B1 BR112014024206 B1 BR 112014024206B1 BR 112014024206 A BR112014024206 A BR 112014024206A BR 112014024206 B1 BR112014024206 B1 BR 112014024206B1
Authority
BR
Brazil
Prior art keywords
cores
power
state
power consumption
peripherals
Prior art date
Application number
BR112014024206-2A
Other languages
English (en)
Other versions
BR112014024206A2 (pt
Inventor
Anil K. Kumar
Original Assignee
Intel Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corporation filed Critical Intel Corporation
Publication of BR112014024206A2 publication Critical patent/BR112014024206A2/pt
Publication of BR112014024206B1 publication Critical patent/BR112014024206B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Small-Scale Networks (AREA)

Abstract

controle de gerenciamento de energia em microsservidores. a presente invenção refere-se a sistemas e métodos de habilitação do gerenciamento de energia em um microsservidor que incluem o fornecimento de múltiplos núcleos, um módulo de gerenciamento de energia acoplado aos núcleos e um ou mais periféricos acoplados ao módulo de gerenciamento de energia. o módulo de gerenciamento de energia pode ser configurado para fazer com que um ou mais periféricos atrasem as operações com base na indicação de que os núcleos estão em um primeiro estado de consumo de energia, e colocar os núcleos em um segundo estado de consumo de energia durante um período de tempo predeterminado. o segundo estado de consumo de energia pode consumir menos energia do que o primeiro estado de consumo de energia. o módulo de gerenciamento de energia pode fazer com que um ou mais periféricos retomem suas operações com base na expiração do período de tempo predeterminado e pode colocar os núcleos em um terceiro estado de consumo de energia com base na expiração do período de tempo.

Description

ANTECEDENTES
[001] As atividades não coordenadas entre muitos componentes associados aos microsservidores podem causar a baixa utilização de recursos. As soluções atuais não se importam muito com a carga de trabalho ou sobrecarregam os fornecedores dos componentes.
BREVE DESCRIÇÃO DOS DESENHOS
[002] As várias vantagens das modalidades da presente invenção serão evidentes para um especialista da área, ao realizar a leitura das especificações e reivindicações anexas a este documento e ao consultar os desenhos a seguir, em que:
[003] a FIG. 1 é um diagrama em blocos que ilustra um exemplo de sistema de computador, em conformidade com algumas modalidades;
[004] a FIG. 2 é um diagrama em blocos que ilustra um exemplo de soquete ou microsservidor, de acordo com algumas modalidades;
[005] a FIG. 3 é um diagrama em blocos que ilustra um exemplo de um micromódulo, em conformidade com algumas modalidades;
[006] a FIG. 4 é um diagrama que ilustra um exemplo de sequência de operações que podem ser executadas por vários componentes de um soquete a fim de reduzir o consumo de energia, de acordo com algumas modalidades;
[007] a FIG. 5 é um diagrama que ilustra um exemplo de método que pode ser executado por uma unidade de gerenciamento de energia de um soquete, de acordo com algumas modalidades.
DESCRIÇÃO DETALHADA
[008] As modalidades podem envolver um aparelho que inclui uma lógica para transmitir uma primeira notificação a um ou mais periféricos usando mensagens de banda lateral para fazer com que um ou mais periféricos atrasem as operações. A primeira notificação pode ser transmitida com base nos núcleos de um microsservidor colocado em um primeiro estado de consumo de energia.
[009] O aparelho pode incluir uma lógica para colocar os núcleos em um segundo estado de consumo de energia, ou seja, para consumir menos energia do que o primeiro estado de consumo de energia. O aparelho também pode incluir uma lógica para iniciar um temporizador durante um período de tempo. Os núcleos podem ser configurados para permanecerem no segundo estado de consumo de energia durante o período de tempo. Pelo menos um dos periféricos é configurado para armazenar os dados em buffer durante o período de tempo. O aparelho pode incluir ainda uma lógica para transmitir uma segunda notificação a um ou mais periféricos usando as mensagens de banda lateral. A segunda notificação pode informar que os núcleos do microsservidor estão sendo colocados em um terceiro estado de consumo após a expiração do período de tempo. O terceiro estado de consumo de energia pode consumir mais energia do que o primeiro e o segundo estados de consumo de energia.
[0010] As modalidades podem envolver um sistema que pode incluir vários núcleos, um módulo de gerenciamento de energia acoplado aos núcleos e um ou mais periféricos acoplados ao módulo de gerenciamento de energia. O módulo de gerenciamento de energia pode ser configurado para fazer com que um ou mais periféricos atrasem as operações com base na indicação de que os núcleos estão em um primeiro estado de consumo de energia. O módulo de gerenciamento de energia pode colocar os núcleos em um segundo estado de consumo de energia durante um período de tempo predeterminado. O segundo estado de consumo de energia pode consumir menos energia do que o primeiro estado de consumo de energia. O módulo de gerenciamento de energia pode fazer com que um ou mais periféricos retomem suas operações com base na expiração do período de tempo predeterminado e pode colocar os núcleos em um terceiro estado de consumo de energia com base na expiração do período de tempo. O terceiro estado de consumo de energia pode consumir mais energia do que o primeiro e o segundo estados de consumo de energia.
[0011] As modalidades podem envolver um método implementado por computador que inclui o uso da comunicação de banda lateral a fim de fazer com que um ou mais periféricos de um servidor com vários núcleos atrasem as operações com base na indicação de que os núcleos estão sendo colocados em um primeiro estado de consumo de energia. O método pode incluir a colocação dos núcleos em um segundo estado de consumo de energia durante um período de tempo. O segundo estado de consumo de energia pode consumir menos energia do que o primeiro estado de consumo de energia.
[0012] Com a comunicação de banda lateral, o método pode fazer com que um ou mais periféricos retomem as operações com base na expiração do período de tempo. O método pode incluir ainda a colocação dos núcleos em um terceiro estado de consumo de energia com base na expiração do período de tempo. O terceiro estado de consumo de energia pode consumir mais energia do que o primeiro e o segundo estados de consumo de energia.
[0013] Com referência à Fig. 1, é um diagrama em blocos que ilustra um exemplo de sistema de computador 100 em conformidade com algumas modalidades. O sistema de computador 100 pode incluir uma unidade central de processamento (CPU) 105, um hub controlador de gráficos e de memória (GMCH) 110 e um hub controlador de entrada/sa- ída (ICH) 125. O GMCH 110 pode ser acoplado à CPU 105 por meio de um barramento 107. O ICH 125 pode ser acoplado ao GMCH 110 por meio de um barramento 122. O GMCH 110 também pode ser acoplado a dispositivos de memória 115 e a dispositivos de visualização 120. O ICH 125 pode ser acoplado a dispositivos de E/S 130. O GMCH 110 pode incluir um sistema de recursos gráficos (não exibido). Embora a CPU 105, o GMCH 110 e o ICH 125 estejam ilustrados como componentes separados, as funções de dois ou mais desses componentes podem ser combinadas. Uma fonte de alimentação 150 pode ser usada para fornecer energia ao sistema de computador 100. A fonte de alimentação 150 pode ser uma bateria ou uma fonte de alimentação externa.
[0014] Para algumas modalidades, a CPU 105 pode ser um proces sador com vários núcleos. O sistema de computador 100 também pode incluir muitos outros componentes; no entanto, para simplificar, eles não são mostrados. Para algumas modalidades, o sistema de computador 100 pode ser um sistema de computador servidor.
[0015] Com referência à Fig. 2, um diagrama em blocos ilustrando um exemplo de soquete com vários núcleos é exibido, de acordo com algumas modalidades. O soquete 200 pode incluir quatro módulos. Cada módulo pode incluir dois núcleos que compartilham o mesmo cache. No exemplo atual, há oito núcleos no soquete 200, nos quais os núcleos 210 e 212 compartilham o cache 215, os núcleos 220 e 222 compartilham o cache 225, os núcleos 230 e 232 compartilham o cache 235 e os núcleos 240 e 242 compartilham o cache 245. Os oito núcleos podem ser chamados coletivamente de núcleos 201.
[0016] O soquete 200 pode ser implementado como um sistema em um chip (SoC) que pode integrar muitos componentes de hardware de um sistema de computador em um único chip. Esses componentes podem incluir o processamento de lógica (por exemplo, núcleos), controlador de memória e memórias associadas, periféricos, interfaces etc. O soquete 200 pode incluir software (por exemplo, drivers, sistema operacional etc.) que pode ser usado para habilitar o soquete 200 a fim de operar com o hardware integrado.
[0017] O soquete 200 pode incluir uma malha coerente 250 e uma malha escalável de entrada/saída (IOSF) 255. A malha coerente 250 pode ser acoplada aos núcleos e ao cache por meio da linha de comunicação 248. A malha coerente 250 também pode ser acoplada ao controlador de memória (MC) 252 por meio da linha de comunicação 254. O soquete 200 também pode incluir um conjunto de periféricos incluindo, por exemplo, o controlador PCIE (Peripheral Component Interconnect Express) 260, o controlador GbE (Gigabit Ethernet) 265, o controlador SATA (Serial Advanced Technology Attachment) 270, o controlador de gerenciamento de energia (PMC) 275 e o barramento de memória do sistema (SMB) 280.
[0018] A malha coerente 250 e a IOSF 255 podem ser configuradas para direcionar o tráfego dentro do soquete 200 entre os núcleos 201 e o conjunto de dispositivos periféricos por meio das linhas de comunicação 248 e 256. O controlador GbE 265 pode ser configurado para lidar com a transmissão e recebimento do tráfego de rede entre uma rede e os núcleos 201. Por exemplo, quando um pacote chega de uma rede, o controlador GbE 265 pode transmitir o pacote à malha coerente 250. A malha coerente 250 pode encaminhar o pacote ao núcleo apropriado dos núcleos 201 para processamento. O controlador SATA 270 pode ser configurado para lidar com as solicitações de dispositivos conectados via SATA (por exemplo, armazenamento em disco rígido). O controlador PCIE 260 pode ser configurado para lidar com solicitações de dispositivos conectados via PCIE. O PMC 275 pode ser configurado para lidar com o gerenciamento de energia para o soquete. O SMB 280 pode ser configurado para lidar com o tráfego entre o soquete 200 e outro soquete (mostrado na FIG. 3).
[0019] Em geral, quando os núcleos 201 não são totalmente usa dos, podem ser colocados em um estado de consumo de energia mais baixo. Para serem eficientes, os núcleos 201 devem permanecer no estado de consumo de energia baixo por, pelo menos, um período de tempo mínimo. Isso ocorre porque pode demorar algum tempo para os núcleos 201 mudarem de um estado de consumo de energia normal para um estado de consumo de energia baixo. Talvez demore algum tempo para os núcleos 201 voltarem do estado de consumo de energia baixo para o estado de consumo de energia normal. Se após os núcleos 201 serem colocados no estado de consumo de energia baixo, e os nú-cleos 201 serem despertados muito cedo, o consumo de energia geral dos núcleos 201 acabar sendo maior do que se os núcleos 201 forem mantidos no estado de consumo de energia normal durante todo o tempo. Por exemplo, enquanto os núcleos 201 estão em um estado de consumo de energia baixo, um pacote pode chegar e ser recebido pelo controlador GbE 265. O controlador GbE 265 pode fazer com que os núcleos 201 despertem a fim de processar o pacote, independente-mente de quanto tempo os núcleos 201 ficaram no estado de consumo de energia baixo. Da mesma maneira, quando o controlador SATA 270 recebe dados de um dispositivo de disco rígido (como resultado de uma solicitação de leitura anterior), o controlador SATA 270 pode fazer com que os núcleos 201 despertem mesmo se os núcleos 201 tiverem acabado de entrar no estado de consumo de energia baixo. Uma vez que os dispositivos periféricos, como o controlador GbE 265 ou o controlador SATA 270, podem despertar os núcleos 201 a qualquer momento, talvez seja difícil prever por quanto tempo os núcleos 201 podem permanecer no estado de consumo de energia baixo. Assim, mesmo quando a utilização dos núcleos 201 for baixa (por exemplo, inferior a 30%), talvez não seja eficiente em termos de energia colocar os núcleos 201 no estado de consumo de energia baixo, pois um ou mais dispositivos periféricos podem despertar os núcleos muito antecipadamente.
[0020] Talvez existam múltiplos estados de consumo de energia di ferentes nos quais os núcleos 201 possam ser colocados. Por exemplo, os núcleos 201 podem ser colocados em um estado "MC0", que pode corresponder a um estado de consumo de energia normal. Os núcleos 201 podem ser colocados em um estado "MC4", que pode corresponder a um estado de consumo de energia baixo. Os núcleos 201 também podem ser colocados em um estado "MC6", que pode corresponder a um estado de consumo de energia ainda mais baixo. O estado MC6 pode ser considerado um estado de repouso relativo aos estados MC0 e MC4. Para algumas modalidades, uma unidade de gerenciamento de energia (PUNIT) 247 pode ser configurada para monitorar a utilização dos núcleos 201. A PUNIT 247 pode ser acoplada aos núcleos 201 e à malha coerente 250. A PUNIT 247 pode ser configurada para fornecer o gerenciamento de energia aos núcleos 201. Por exemplo, a PUNIT 247 pode monitorar a utilização dos núcleos 201 e determinar quando colocar os núcleos 201 no estado de consumo de energia baixo (por exemplo, do estado MC0 para o estado MC4). A PUNIT 247 pode se comunicar com os núcleos 201 e com a malha coerente 250 por meio da linha de comunicação 246. Para algumas modalidades, a PUNIT 247 pode ser configurada para notificar os dispositivos periféricos quando os núcleos 201 puderem ser colocados em um estado de consumo de energia ainda mais baixo (por exemplo, do estado MC4 ao estado MC6) e quando os núcleos 201 puderem ser colocados no estado de consumo de energia normal (por exemplo, do estado MC6 ao estado MC0). Para algumas modalidades, a PUNIT 247 pode usar uma banda lateral 257 para notificar o controlador SATA 270 e uma banda lateral 258 para notificar o controlador GbE 265.
[0021] Na FIG. 3, o diagrama em blocos ilustra um exemplo de um micromódulo, de acordo com algumas modalidades. O micromódulo 300 pode incluir dois soquetes 301 e 351 conectados um ao outro por um controlador de gerenciamento de micromódulo (MMC) 390. O MMC 390 pode ser acoplado ao soquete (ou servidor) 301 por meio de um SMB do soquete 301. O MMC 390 pode ser acoplado ao soquete (ou servidor) 351 por meio de um barramento SMB do soquete 351. O MMC 390 pode ser configurado para gerenciar os soquetes 301 e 351. Internamente, os soquetes 301 e 351 podem ser configurados de forma parecida ao soquete 200 (exibido na FIG. 2). Por exemplo, o soquete 301 pode incluir os núcleos 305, a PUNIT 315 e os periféricos 320. O so- quete 351 pode incluir os núcleos 355, a PUNIT 365 e os periféricos 370.
[0022] É possível observar que quando a utilização dos núcleos 305 ou 355 é alta (por exemplo, acima de 50%), a PUNIT 315 ou 365 cor-respondente pode manter os núcleos no estado de consumo de energia normal (por exemplo, MC0) e não colocar os núcleos no estado de consumo de energia baixo (por exemplo, estado MC4). No entanto, quando a utilização dos núcleos é baixa (por exemplo, inferior a 30%), a PUNIT 315 ou 365 pode colocar os núcleos 305 ou 355 no estado de consumo de energia baixo (por exemplo, estado MC0 para o estado MC4 e, em seguida, mais baixo mudando do estado MC4 para o estado MC6). As PUNITs 315 e 365 podem operar de forma independente. Cada um dos PUNITs 315 e 365 pode incluir um temporizador 316 e 366, respectivamente. Os temporizadores 316 e 366 podem ser usados para determinar por quanto tempo os núcleos 305 e 365 podem permanecer no estado de consumo de energia baixo (por exemplo, o estado MC6). Talvez seja possível colocar os núcleos 305 no estado de consumo de energia mais baixo (por exemplo, no estado MC6), enquanto os núcleos 355 podem permanecer no estado de consumo de energia normal (por exemplo, o estado MC0) ou vice-versa.
[0023] Com relação à FIG. 4, o diagrama mostra um exemplo de sequência de operações que podem ser executadas por vários componentes de um soquete para reduzir o consumo de energia, de acordo com algumas modalidades. Nesse exemplo, os componentes podem corresponder aos componentes do soquete 200 (exibidos na FIG. 2) e cada componente é listado em uma coluna como os núcleos 201, o controlador GbE 265, o controlador SATA 270 e a PUNIT 247. Cada coluna pode incluir operações a serem executadas pelo componente ou o status do componente em um determinado momento. O diagrama 400 pode progredir de cima para baixo de acordo com uma linha do tempo.
[0024] Embora não seja exibido, os núcleos 201 podem operar ini cialmente no estado de consumo de energia normal (por exemplo, no estado MC0). Quando a utilização dos núcleos 201 fica baixa (por exemplo, inferior a 30%), os núcleos 201 podem ser colocados no estado de consumo de energia baixo (por exemplo, MC4) 405 no tempo "t1" aproximadamente. A colocação dos núcleos 201 no estado de consumo de energia baixo pode ser executada pela PUNIT 247, conforme mostra o bloco 410. A PUNIT 247 pode notificar o controlador SATA 270 e o controlador GbE 265, por meio das mensagens 416 e 417, sobre a necessidade do controlador SATA 270 e do controlador GbE 265 de permitir que os núcleos 201 permaneçam no estado de consumo de energia baixo. A notificação pode ocorrer por meio de uma mensagem unicast 415. A PUNIT 247 pode iniciar um temporizador 420. O período de tempo pode ser definido com base em um período de tempo de alinhamento de DMA (acesso direto à memória) máximo. O temporizador pode, portanto, ser chamado de temporizador MDAP. O temporizador MDAP pode ser incluído na PUNIT 247. O período de tempo pode permitir que os núcleos 201 permaneçam em um modo ocioso durante o máximo de tempo possível. O temporizador MDAP pode ser pré-pro- gramado com um valor padrão com base no tempo de latência do estado MC6 (por exemplo, 500 microssegundos ou dez vezes a latência de saída do MC6). A seleção do período de tempo certo pode depender de um equilíbrio entre um fator de latência e um fator de consumo de energia. Por exemplo, se o período de tempo for definido durante algum tempo, os núcleos podem permanecer no estado MC6 durante muito tempo e o processamento das transações podem sofrer um atraso desnecessário.
[0025] Mediante o recebimento da notificação, o controlador GbE 265 e o controlador SATA 270 podem deixar de executar operações que precisem da atenção dos núcleos 201. Isso pode incluir o alinhamento das operações do controlador GbE 265 e do controlador SATA 270 a fim de acomodar a transição dos núcleos 201 para o estado de consumo de energia mais baixo. Por exemplo, pode ocorrer o alinhamento de quaisquer interrupções possíveis 425 pelo controlador GbE 265 (por exemplo, devido ao recebimento do pacote) e de quaisquer atividades de DMA possíveis 435 pelo controlador SATA 270 (por exemplo, devido à leitura de dados do dispositivo de disco rígido). Durante esse período de tempo, o controlador SATA 270 pode ser considerado em um estado de link parcial 430, pois talvez não esteja se comunicando totalmente com o controlador DMA. O armazenamento em buffer pode ser usado para impedir a perda de dados enquanto os núcleos 201 estão em um estado de consumo de energia baixo.
[0026] Em seguida, a PUNIT 247 pode colocar os núcleos 201 no estado de consumo de energia mais baixo (por exemplo, no estado MC6). Isso pode ocorrer no tempo "t2" aproximadamente. Os núcleos 201 podem permanecer no estado de consumo de energia mais baixo durante a execução do temporizador MDAP. Para algumas modalidades, enquanto os núcleos 201 permanecem no estado de consumo de energia mais baixo, outros componentes do soquete 200 também podem ser colocados em um estado de consumo de energia baixo,como mostra o bloco 455. A quantidade de tempo que os núcleos 201 podem permanecer no estado de consumo de energia mais baixo (por exemplo, no estado MC6) pode ser igual ao tempo definido pelo temporizador MDAP e pelo tempo de latência para os núcleos 201 mudarem do estado de consumo de energia mais baixo (por exemplo, o estado MC6) para o estado de consumo de energia normal (por exemplo, MC0), como mostra o bloco 460.
[0027] Quando o período de tempo associado ao temporizador MDAP expira, a PUNIT 247 pode notificar o controlador SATA 270 e o controlador GbE 265 por meio das mensagens de banda lateral 466 e 477. O controlador SATA 270 e o controlador GbE 265 podem retomar o processamento das informações, pois os núcleos 201 podem retornar ao estado de consumo de energia normal. A notificação pode ocorrer por meio de uma mensagem unicast 465, que pode ocorrer no tempo "t3" aproximadamente.
[0028] Para algumas modalidades, o período de tempo definido com o temporizador MDAP pode ser programável. Por exemplo, um usuário pode definir o tempo usando uma interface de software que pode ser associada aos núcleos 201. O período de tempo também pode ser definido pelo fabricante de equipamento original (OEM) do soquete 200. Para algumas modalidades, o período de tempo pode ser ultrapassado quando não for mais possível esperar que os núcleos 201 saiam do estado de consumo de energia mais baixo. Por exemplo, quando o controlador GbE 265 está próximo de esgotar seu espaço de buffer e o risco de perder pacotes recebidos da rede é alto, é possível gerar uma interrupção para despertar os núcleos 201.
[0029] Na FIG. 5, o exemplo de fluxograma ilustra um processo que pode ser executado por uma PUNIT, de acordo com algumas modalidades. O processo pode corresponder ao gerenciamento do consumo de energia pela PUNIT 247 dos núcleos 241. Os núcleos 241 já podem estar em um estado de consumo de energia baixo (por exemplo, estado MC4). No bloco 505, a PUNIT pode notificar os dispositivos periféricos para iniciar o alinhamento, o que pode incluir o atraso das operações. Por exemplo, o atraso pode ser na forma de armazenamento em buffer em vez de processar os dados recebidos da rede pelo controlador GbE ou recebidos de uma unidade de disco rígido pelo controlador SATA. O atraso pode incluir o alinhamento das interrupções, em vez do processamento de cada interrupção à medida que elas ocorrem.
[0030] A PUNIT pode começar um temporizador de alinhamento e enviar as mensagens de banda lateral da IOSF para os controladores GbE e SATA a fim de começar o alinhamento, como mostra o bloco 510. Os controladores GbE e SATA podem coletar o DMA e alinhar as interrupções após o recebimento da mensagem de início de alinhamento da IOSF.
[0031] No bloco 515, é possível executar um teste para determinar se o temporizador expirou. Quando o temporizador não tiver expirado, o processo poderá continuar a aguardar no bloco 515. No entanto, quando o temporizador expira, o processo pode continuar no bloco 520 no qual a PUNIT pode enviar as mensagens de banda lateral da IOSF aos controladores GbE e SATA para interromper o alinhamento das interrupções e/ou o armazenamento em buffer dos dados. No bloco 525, após o recebimento da mensagem de interrupção, os controladores GBE e SATA podem entrar no modo de operação normal. Em casos de baixa utilização, sempre que todos os núcleos entram no estado MC4, mesmo durante um curto período de tempo (por exemplo, 1 microsse- gundo), as técnicas descritas aqui podem forçar o soquete a entrar no estado de energia mais baixo (por exemplo, no estado MC6) e permanecer lá durante um longo período de tempo. Isso pode aprimorar a economia média de energia da plataforma quando a utilização é baixa.
[0032] Várias modalidades podem ser implementadas usando ele mentos de hardware, elementos de software ou uma combinação de ambos. Exemplos de elementos de hardware podem incluir processadores, microprocessadores, circuitos, elementos de circuito (por exemplo, transistores, resistores, capacitores, indutores, e assim por diante), circuitos integrados, circuitos integrados de aplicação específica (ASIC), dispositivos lógicos programáveis(PLD), processadores de sinal digital (DSP), matriz de portas de campo programáveis (FPGA), portas lógicas, registradores, dispositivos semicondutores, chips, microchips, conjuntos de chips, e assim por diante. Exemplos de software podem incluir componentes de software, programas, aplicativos, programas de computador, programas de aplicativos, programas de sistema, programas de máquinas, software de sistema operacional, middleware, firmware, módulos de software, rotinas, sub-rotinas, funções, métodos, procedimen-tos, interfaces de software, interfaces de programa de aplicativo (API), conjuntos de instruções, código de computação, código de computador, segmentos de código, segmentos de código de computador, palavras, valores, símbolos, ou qualquer combinação desses. Determinar se uma modalidade será implementada utilizando elementos de hardware e/ou elementos de software pode variar de acordo com diversos fatores, tais como a taxa computacional desejada, níveis de potência, tolerância ao calor, orçamento do ciclo de processamento, taxas de dados de entrada, taxas de dados de saída, recursos de memória, velocidades de barra- mento de dados e outras restrições de projeto ou de desempenho.
[0033] Um ou mais aspectos de pelo menos uma modalidade po dem ser implementados por instruções representativas armazenadas em uma mídia legível por máquina, que representa várias lógicas dentro do processador, que, quando lidas por um computador, faz com que a máquina fabrique a lógica para executar as técnicas aqui descritas. Tais representações, conhecidas como "núcleos IP" podem ser armazenadas em uma mídia tangível legível por máquina e fornecidas em vários clientes ou instalações de fabricação para carregar nas máquinas de fabricação que efetivamente compõem a lógica ou processador.
[0034] Exemplos de tamanhos/modelos/valores/intervalos podem ser especificados, embora as modalidades da presente invenção não estejam limitadas a esses. Como técnicas de fabricação (por exemplo, fotolitografia) se tornam desatualizadas ao longo do tempo, espera-se que possam ser fabricados dispositivos de tamanho menor. Além disso, conexões de alimentação/terra bem conhecidas para chips de circuito integrado (IC) e outros componentes podem ou não ser mostradas dentro das figuras, em nome da simplicidade de ilustração e discussão, e de modo a não obscurecer certos aspectos das modalidades da invenção. Além disso, as disposições podem ser mostradas na forma de diagrama em blocos a fim de evitar o obscurecimento das modalidades da invenção, e também tendo em conta o fato de especificidades em relação à implementação desse diagrama em blocos serem altamente dependentes da plataforma dentro da qual a modalidade será implementada, ou seja, tais especificidades devem estar dentro da alçada de um especialista da área. Nos momentos em que estão estabelecidos detalhes específicos (por exemplo, circuitos) a fim de descrever exemplos das modalidades da invenção, deve ser evidente para um especialista da área que as modalidades da invenção podem ser praticadas sem ou com uma variação desses detalhes específicos. A descrição deve, portanto, ser considerada como ilustrativa em vez de limitadora.
[0035] O termo "acoplado" pode ser usado neste documento para se referir a qualquer tipo de relação, direta ou indireta, entre os componentes em questão, e pode-se aplicar a conexões elétricas, mecânicas, fluidas, ópticas, eletromagnéticas, eletromecânicas ou outras. Além disso, os termos "primeiro", "segundo" etc. podem ser usados neste documento apenas para facilitar a discussão, sem transmitir qualquer significado particular temporal ou cronológico, salvo indicação em contrário.
[0036] Os versados na técnica irão apreciar, na descrição acima, que as técnicas amplas das modalidades da presente invenção podem ser implementadas de diversas formas. Portanto, ainda que as modalidades da presente invenção estejam descritas com seus exemplos próprios, o verdadeiro escopo das modalidades da invenção não devem ser tão limitados, já que outras modificações se tornarão aparentes para o profissional mediante o estudo dos desenhos, das especificações e das reivindicações a seguir.

Claims (19)

1. Equipamento caracterizado pelo fato de que compreende: lógica (247) para transmitir uma primeira notificação (415) a um ou mais periféricos (265, 270) usando mensagens de banda lateral a fim de fazer com que um ou mais periféricos atrasem as operações, em que a primeira notificação é transmitida com base nos núcleos de um microsservidor que está sendo colocado em um primeiro estado de consumo de energia; lógica (247) para colocar os núcleos em um segundo estado de consumo de energia, ou seja, para consumir menos energia do que o primeiro estado de consumo de energia; lógica (247) para iniciar um temporizador para um período de tempo, em que os núcleos são configurados para permanecer no segundo estado de consumo de energia durante esse período de tempo; e lógica (247) para transmitir uma segunda notificação (465) a um ou mais periféricos usando as mensagens de banda lateral informando que os núcleos do microsservidor estão sendo colocados em um terceiro estado de consumo de energia após a expiração do período de tempo, em que o terceiro estado de consumo de energia deve consumir mais energia do que o primeiro e o segundo estados de consumo de energia.
2. Equipamento, de acordo com a reivindicação 1, caracterizado pelo fato de que pelo menos um dos periféricos deve ser configurado para alinhar as interrupções ou armazenar em buffer os dados durante o período de tempo.
3. Equipamento, de acordo com a reivindicação 2, caracterizado pelo fato de que um ou mais periféricos deve ser configurado para interromper o armazenamento dos dados em buffer ou alinhar as interrupções após o recebimento da segunda notificação.
4. Equipamento, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende: lógica para habilitar a retirada dos núcleos do segundo estado de consumo de energia após o recebimento de uma indicação informando que um ou mais periféricos não conseguem continuar o armazenamento em buffer dos dados ou alinhar as interrupções sem perda de dados.
5. Equipamento, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira e a segunda notificações devem ser transmitidas a um controlador Gigabit Ethernet (GbE).
6. Equipamento, de acordo com a reivindicação 1, caracterizado pelo fato de que a primeira e a segunda notificações devem ser transmitidas a um controlador Serial Advanced Technology Attachment (SATA).
7. Equipamento, de acordo com a reivindicação 1, caracterizado pelo fato de que o período de tempo deve ser programável, em que o segundo estado de consumo de energia deve ser um estado de repouso e em que os núcleos devem ser associados a um soquete.
8. Equipamento, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado pelo fato de que o soquete inclui os núcleos e outros componentes do soquete, e em que o consumo de energia de um ou mais dos outros componentes do soquete deve ser reduzido com base nos núcleos que estão sendo colocados no segundo estado de consumo de energia.
9. Método implementado por computador caracterizado pelo fato de que compreende: usar comunicação de banda lateral fazendo com que (505) um ou mais periféricos de um servidor possuindo múltiplos núcleos atrasem operações com base na determinação de que os núcleos estão sendo colocados (410) em um primeiro estado de consumo de energia; colocar (450) os núcleos em um segundo estado de con sumo de energia durante um período de tempo, o segundo estado de consumo de energia consumindo menos energia do que o primeiro estado de consumo de energia; usar a comunicação de banda lateral, fazendo com que (520) o um ou mais periféricos retomem operações com base em uma expiração do período de tempo em que as comunicações de banda lateral são conduzidas com um controlador Gigabit Ethernet e em que o controlador Gigabit Ethernet é para atrasar operações ao alinhar interrupções; colocar (470) os núcleos em um terceiro estado de consumo de energia com base na expiração do período de tempo, o terceiro estado de consumo de energia consumindo mais energia do que o primeiro estado de consumo de energia e o segundo estado de consumo de energia; e colocar os núcleos no terceiro estado de consumo de energia com base na recepção de uma indicação de que o um ou mais periféricos são incapazes de continuar a atrasar suas operações antes da expiração do período de tempo.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que os núcleos são associados a um primeiro soquete de um módulo de microsservidor possuindo o primeiro e um segundo so- quete.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que o consumo de energia dos núcleos associados com o segundo soquete é configurado de forma independente ao consumo de energia dos núcleos associados com o primeiro soquete.
12. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que as comunicações de banda lateral são conduzidas com um controlador Serial Advanced Technology Attachment (SATA).
13. Método, de acordo com a reivindicação 12, caracterizado pelo fato de que o controlador SATA atrasa as operações armazenando os dados em buffer.
14. Sistema caracterizado pelo fato de que compreende: múltiplos núcleos (201); um módulo de gerenciamento de energia (247) acoplado aos núcleos; e um ou mais periféricos (265, 270) acoplados ao módulo de gerenciamento de energia, em que o módulo de gerenciamento de energia é configurado para: fazer com que o um ou mais periféricos atrasem operações com base na determinação de que os núcleos estão em um primeiro estado de consumo de energia em que o módulo de gerenciamento de energia (247) é configurado para se comunicar com o um ou mais periféricos usando comunicações de banda lateral e em que o um ou mais periféricos incluem um controlador Gigabit Ethernet, e em que o controlador Gigabit Ethernet é para atrasar operações ao alinhar interrupções; colocar os núcleos em um segundo estado de consumo de energia durante um período de tempo, o segundo estado de consumo de energia consumindo menos energia do que o primeiro estado de consumo de energia; fazer com que o um ou mais periféricos retomem suas operações com base na expiração do período de tempo; e colocar os núcleos em um terceiro estado de consumo de energia com base na expiração do período de tempo, o terceiro estado de consumo de energia consumindo mais energia do que o primeiro estado de consumo de energia e o segundo estado de consumo de energia em que o módulo de consumo de energia é configurado para colocar os núcleos no terceiro estado de consumo de energia com base na re- cepção de uma indicação de que o um ou mais periféricos são incapazes de continuar a atrasar suas operações.
15. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que o um ou mais periféricos incluem um controlador Serial Advanced Technology Attachment (SATA), e em que o controlador SATA deve atrasar as operações armazenando os dados em buffer.
16. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que os núcleos são associados com um primeiro soquete de um módulo de microsservidor possuindo o primeiro e um segundo soquete.
17. Sistema, de acordo com a reivindicação 16, caracterizado pelo fato de que o consumo de energia dos núcleos associados com o segundo soquete deve ser configurado de forma independente ao consumo de energia dos núcleos associados com o primeiro so- quete.
18. Sistema, de acordo com a reivindicação 17, caracterizado pelo fato de que o primeiro soquete inclui os núcleos e outros componentes de soquete, e em que o consumo de energia de um ou mais dos outros componentes de soquete do primeiro soquete devem ser reduzidos com base nos núcleos que estão sendo colocados no segundo estado de consumo de energia.
19. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que o período de tempo deve ser programável.
BR112014024206-2A 2012-03-31 2012-03-31 Equipamento, método implementado por computador e sistema para controle de gerenciamento de energia em microsservidores. BR112014024206B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/031760 WO2013147914A1 (en) 2012-03-31 2012-03-31 Controlling power management in micro-servers

Publications (2)

Publication Number Publication Date
BR112014024206A2 BR112014024206A2 (pt) 2017-06-20
BR112014024206B1 true BR112014024206B1 (pt) 2021-08-24

Family

ID=49260967

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014024206-2A BR112014024206B1 (pt) 2012-03-31 2012-03-31 Equipamento, método implementado por computador e sistema para controle de gerenciamento de energia em microsservidores.

Country Status (6)

Country Link
US (2) US9454210B2 (pt)
CN (1) CN104185826B (pt)
BR (1) BR112014024206B1 (pt)
DE (1) DE112012006164B4 (pt)
TW (1) TWI608339B (pt)
WO (1) WO2013147914A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10082858B2 (en) * 2014-06-23 2018-09-25 Mellanox Technologies, Ltd. Peripheral device assistance in reducing CPU power consumption
US10324513B2 (en) * 2014-08-31 2019-06-18 Mellanox Technologies, Ltd. Control of peripheral device data exchange based on CPU power state
CN104950775A (zh) * 2015-06-29 2015-09-30 小米科技有限责任公司 唤醒主mcu微控制单元的电路、方法及装置
US10904161B2 (en) * 2018-12-12 2021-01-26 Intel Corporation Using attribute vector for dynamic content-based attribute QoS for networking and interconnect fabrics

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822967B2 (en) * 2000-09-27 2010-10-26 Huron Ip Llc Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices
US20030070013A1 (en) 2000-10-27 2003-04-10 Daniel Hansson Method and apparatus for reducing power consumption in a digital processor
TW594466B (en) * 2002-06-10 2004-06-21 Micro Star Int Co Ltd Power management method for microprocessor
TWI241801B (en) 2003-08-22 2005-10-11 Acer Labs Inc A low-power function mode switch device and method thereof
US7534169B2 (en) * 2005-07-08 2009-05-19 Cfph, Llc System and method for wireless gaming system with user profiles
US8286018B2 (en) * 2004-06-29 2012-10-09 Seagate Technology Llc Power management in data storage device determining utilization of a control circuit by its rate of command processing
US7451333B2 (en) * 2004-09-03 2008-11-11 Intel Corporation Coordinating idle state transitions in multi-core processors
US20070055852A1 (en) * 2005-09-06 2007-03-08 Alcatel Processing operation management systems and methods
CN101356510B (zh) 2005-11-15 2013-04-03 太阳微系统有限公司 当处理器处于低功率状态时可为后台dma装置提供数据的小型高功效高速缓冲存储器
US7640453B2 (en) * 2006-12-29 2009-12-29 Intel Corporation Methods and apparatus to change a configuration of a processor system
US7991992B2 (en) 2007-03-13 2011-08-02 Intel Corporation Power reduction for system on chip
US7831849B2 (en) * 2007-03-28 2010-11-09 Intel Corporation Platform communication protocol
US20090150696A1 (en) 2007-12-10 2009-06-11 Justin Song Transitioning a processor package to a low power state
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
US8112647B2 (en) * 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
US7861024B2 (en) * 2008-09-30 2010-12-28 Intel Corporation Providing a set aside mechanism for posted interrupt transactions
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US8156275B2 (en) * 2009-05-13 2012-04-10 Apple Inc. Power managed lock optimization
JP5091912B2 (ja) * 2009-05-21 2012-12-05 株式会社東芝 マルチコアプロセッサシステム
US8458499B2 (en) * 2009-08-07 2013-06-04 International Business Machines Corporation Method for reducing power state in a computer system out-of-band when a request for reducing the power state is not immediately serviceable in band according to a priority of the request
US8615671B2 (en) * 2009-10-09 2013-12-24 Intel Corporation Techniques for managing lower power states for data links
US8909962B2 (en) * 2009-12-16 2014-12-09 Qualcomm Incorporated System and method for controlling central processing unit power with guaranteed transient deadlines
US8782456B2 (en) * 2010-06-01 2014-07-15 Intel Corporation Dynamic and idle power reduction sequence using recombinant clock and power gating
US8468383B2 (en) * 2010-12-08 2013-06-18 International Business Machines Corporation Reduced power failover system
US9372526B2 (en) * 2012-12-21 2016-06-21 Intel Corporation Managing a power state of a processor

Also Published As

Publication number Publication date
BR112014024206A2 (pt) 2017-06-20
US20140237278A1 (en) 2014-08-21
DE112012006164T5 (de) 2015-01-15
TWI608339B (zh) 2017-12-11
CN104185826B (zh) 2018-05-15
DE112012006164B4 (de) 2020-03-19
US10198060B2 (en) 2019-02-05
CN104185826A (zh) 2014-12-03
US9454210B2 (en) 2016-09-27
TW201407338A (zh) 2014-02-16
WO2013147914A1 (en) 2013-10-03
US20160306411A1 (en) 2016-10-20

Similar Documents

Publication Publication Date Title
US20200257517A1 (en) Firmware update techniques
TW201740270A (zh) 伺服器機架電力管理
TW201335841A (zh) 協同處理器與系統效能及電力管理技術
US10444813B2 (en) Multi-criteria power management scheme for pooled accelerator architectures
EP2430541A1 (en) Power management in a multi-processor computer system
BR102014008299B1 (pt) Gerenciamento de energia independente de plataforma
US20210034130A1 (en) Priority-based battery allocation for resources during power outage
US10198060B2 (en) Controlling power management in micro-server cores and peripherals
US20210264999A1 (en) Method and apparatus for memory chip row hammer threat backpressure signal and host side response
US20210333860A1 (en) System-wide low power management
US20220091657A1 (en) Mechanism for performing distributed power management of a multi-gpu system
CN103176943A (zh) 用于功率优化的多处理器同步的方法
WO2019070399A1 (en) DYNAMIC CONTROL OF MULTI-REGION MATRIX
TWI582577B (zh) 至少部分接收及/或至少部分發布至少一封包以請求功率消耗狀態之改變的技術
US20200133367A1 (en) Power management for workload offload engines
US20220263770A1 (en) Application-to-application resource reservation schemes for precision networking
US20220043475A1 (en) Access to multiple timing domains
US20140006831A1 (en) Dynamic link scaling based on bandwidth utilization
US20210191490A1 (en) Balancing power between discrete components in a compute node
US20230153121A1 (en) Accelerator usage prediction for improved accelerator readiness
US20230035142A1 (en) Input work item flow metric for computing environment telemetry
US20220158865A1 (en) Asynchronous communication in multiplexed topologies
US20220326962A1 (en) Accelerator capable of executing fast dynamic change in acceleration type
EP4020130A1 (en) Power control of a memory device in connected standby state
US20220374320A1 (en) Reliability availability serviceability (ras) service framework

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 31/03/2012, OBSERVADAS AS CONDICOES LEGAIS.