• Nenhum resultado encontrado

A utilização de formulações matemáticas para compreender como a potência elétrica é dissipada nos processadores digitais pode contribuir diretamente para a criação de estratégias de controle dessa potência, numa área de pesquisa denominada por muitos de Gerenciamento Dinâmico de Potência (DPM, do inglês Dynamic Power Management) (BENINI; BOGLIOLO; MICHELI, 2000)(LU; MICHELI, 2001).

As técnicas de DPM foram inicialmente empregadas em circuitos digitais síncronos distintos dos processadores, mas em seguida foram largamente difundidas como parte do funcionamento dos computadores4, sobretudo quando essas máquinas passaram a dispor de suporte ao ACPI (do inglês Advanced Configuration and Power Interface)5 (GERARDS; KUPER, 2013).

O termo “dinâmico” está relacionado à ideia de que o controle é realizado enquanto o circuito está em funcionamento e expressa uma ação que, na prática, pode ser aplicada tanto ao processador como um todo quanto a suas partes funcionais separadamente.

Controles estáticos também são permitidos, mas não são tão eficazes nem práticos quanto os dinâmicos. São aqueles que seguem uma sucessão de passos do tipo: 1) desligar o equipamento; 2) fazer a alteração; 3) religar o equipamento e se beneficiar da alteração realizada. Esse tipo de controle estático não deve ser confundido com as “técnicas de

4 Por extensão da ideia original, o conceito pode ser ampliado para sistemas e redes de computadores. 5 O ACPI consiste em um padrão industrial aberto especificado por um grupo de empresas (Hewlett-

Packard, Intel, Microsoft, Phoenix e Toshiba) para uniformizar o tratamento a ser dado em diversas ações relacionadas aos microcomputadores atuais. Lançado em 1996 (KUKUNAS,2015, p. 44), foi seguido em grande escala pelos fabricantes de hardware e software, permitindo que o sistema operacional pudesse dispor de um padrão de configuração de dispositivos e gerenciamento térmico, de energia e de potência (UEFI,2014).

Capítulo 2. Modelos Matemáticos de Potência para Processadores 47 redução de potência do tipo estático” (LU; MICHELI, 2001), que se caracterizam por serem alterações realizadas no período de projeto e construção do circuito.

Um procedimento inicial em termos de gerenciamento dinâmico da potência6 com base nos modelos matemáticos chega a ser bastante óbvio: alterar as grandezas que fazem parte das expressões matemáticas do modelo para valores capazes de gerar as modificações desejadas na potência. Dessa forma, pode-se traçar um paralelo imediato entre a potência dissipada, suas expressões e o funcionamento do processador.

Utilizando-se, por exemplo, a equação básica P = k0· V2· F (2.6), verifica-se que as

grandezas V e F , desde que sejam modificadas apenas dentro dos limites permitidos, podem ser utilizadas como gerenciadoras da potência. Os casos a seguir descrevem algumas dessas possibilidades de gerenciamento diretamente advindas apenas dessa primeira equação.

A) Redução do valor da frequência de operação (F )

Nesse caso haverá redução de potência e também, como consequência, redução do calor gerado, não se caracterizando como uma ação para produzir diminuição no consumo de energia. Além disso, não ocorrerão efeitos colaterais que possam prejudicar a máquina, ou seja, ela vai funcionar sem sofrer qualquer dano. No entanto, uma frequência menor implica menos ciclos de clock por unidade tempo e, por conseguinte, haverá uma redução no desempenho do processador, em MIPS, com dilatação temporal na execução das tarefas.

Num primeiro momento pode parecer inadequado que se diminua o desempenho de um processador, mas mesmo assim essa estratégia pode ser bastante útil, por exemplo, para ser usada dinamicamente nos seguintes termos:

– Quando houver ociosidade ou pouca demanda de processamento, a frequência

seria automaticamente diminuída para garantir uma redução na potência. No caso extremo, a frequência seria zerada (clock gating);

– Quando houvesse necessidade de mais desempenho, a frequência seria aumen-

tada, chegando, no limite, a igualar-se ao seu valor nominal.

Ademais, existem outras hipóteses em que a simples redução da frequência pode ser interessante, como no caso em que a aplicação pode admitir, sem prejuízos, um pequeno aumento no tempo gasto para ser executada.

B) Redução do valor da tensão de alimentação (V ou Vdd)

Como a relação entre P e V é do tipo quadrática, uma redução em V tem um peso bem maior na diminuição de P e do calor gerado do que o efeito que seria

6 Observar que o gerenciamento deve ser entendido em sentido amplo, com a possibilidade de aumentar

Capítulo 2. Modelos Matemáticos de Potência para Processadores 48 provocado pela redução exclusiva da frequência nos mesmos percentuais. Verifica-se uma redução do consumo de energia e, em tese, não há perda de desempenho, uma vez que a quantidade de ciclos por unidade de tempo é mantida constante, mas pode surgir um problema se houver uma desobediência à limitação da frequência estabelecida pela Inequação (2.7), Fmax ∝ (V − Vth)h/V .

Ocorre que uma diminuição na tensão V faz, em regra, com que a máxima frequência que pode ser utilizada a partir desse momento seja inferior ao valor limite estabelecido para Fmax antes dessa diminuição. Em outras palavras, dependendo

dos valores originalmente utilizados para V e F , pode acontecer que uma redução exclusiva de V acabe determinando uma exigência de que também se reduza o valor de F , sob pena de surgimento de erros na computação caso não seja atendida. Se o valor de F estivesse originalmente abaixo do Fmax, o que normalmente não

acontece, então existiria uma folga capaz de permitir uma redução exclusiva de V , sem comprometimento.

Portanto, caso seja conduzida uma redução específica da tensão de alimentação, deve ser realizada com os devidos cuidados. Além disso, deve-se observar que alguns circuitos admitem o caso extremo de redução máxima da tensão, V = 0, intitulado

power gating, sem prejuízo do funcionamento adequado dos demais.

C) Redução simultânea da frequência e da tensão

Uma das formas de evitar os possíveis problemas apresentados no item anterior seria combinar variações de tensão e frequência que, em conjunto, fossem válidas e permitissem reduzir adequadamente a potência e a energia consumida.

Reduções simultâneas7 são bem-vindas porque oferecem mais possibilidades de modificações dos valores de V e F do que as estratégias anteriores. Entretanto para os processadores não é muito prático estabelecer variações de valores de forma contínua, principalmente por causa dos circuitos de apoio que seriam necessários para tornar isso possível.

É nesse contexto que surge a ideia dos Estados de operação ou Estados de

potência (Power saving states)(MARWEDEL, 2011, p. 136), fazendo com que o processador deixe de atuar em um único estado de operação padrão e passe a dispor de mais alguns outros com potências menores. Cada estado fica vinculado a um par (V,F ) distinto e, em consequência, mantém-se relacionado a uma potência diferente,

deixando-se as transições entre esses estados no controle do gerenciador no DPM, de acordo com as diversas ocorrências do sistema.

7 A rigor, a redução de V e F não ocorrem exatamente no mesmo instante, mas em um intervalo de

Capítulo 2. Modelos Matemáticos de Potência para Processadores 49 A título de exemplo histórico, o processador Motorola 68060 da família M68000 já era anunciado em 1993 (CIRCELLO; GOODRICH, 1993) como detentor de um “sofisticado subsistema de gerenciamento de potência”, e já previa o clock gating e um estado de hibernação (low power sleep mode) ativado por uma instrução e desativado por interrupção externa.

Quanto ao padrão ACPI, ele acabou por uniformizar um conjunto de estados de potência (alguns dos quais estão subdivididos) não somente para o processador, mas também para o equipamento e algumas de suas partes. Os benefícios para o usuário de notebooks, por exemplo, são bastante evidentes: economia de energia, maior duração da carga da bateria e a possibilidade de o próprio usuário alterar diretamente o plano de energia em vigor de acordo com os seus interesses particulares.

As estratégias de gerenciamento dinâmico de potência apresentadas nos três itens acima recebem denominações específicas na literatura8 (USMAN; KHAN; KHAN, 2013)(VALENTINI et al., 2013), de acordo com a grandeza que está sofrendo o escalona- mento (scaling):

• DFS (Dynamic Frequency Scaling) para o controle sobre a frequência de operação; • DVS (Dynamic Voltage Scaling) para o controle sobre a tensão de alimentação; e • DVFS (Dynamic Voltage and Frequency Scaling) para o controle sobre a tensão de

alimentação e a frequência de operação.

No mesmo sentido das discussões anteriores sobre a redução dos valores de V e/ou F , a Equação (2.6), P = k0 · V2 · F , ainda permitiria que mais duas grandezas

pudessem ser manipuladas com vista ao controle de potência, como pode ser observado em (BENINI; MICHELI, 1998, p. 14–18): a Capacitância equivalente total (Ctot) e o Fator de

Atividade (A ou τ ). Isso ocorre porque ambos fazem parte de (2.6), relacionados ao valor de k0, conforme apontado nas formulações de Chandrakasan, Sheng e Brodersen (1992),

Sarwar (1997), Weglarz, Saluja e Lipasti (2002) e Chang et al. (2010), dentre outros. Este trabalho assume a possibilidade de variação simultânea dos valores da frequên- cia de operação e da tensão de alimentação dos processadores, de modo que a utilização de pares (V,F ) permeia, por exemplo, algumas subseções dos testes do Capítulo 7.

As comparações de consumo de energia descritas noCapítulo 5, bem como suas simulações no Capítulo 6, ponderam a execução de tarefas em diversos processadores (dos tipos single-core, multi-core homogêneo e multi-core heterogêneo) em funcionamento com

8 Há autores que não seguem a classificação aqui apresentada, como no caso deSeo, Kim e Seo(2012),

Capítulo 2. Modelos Matemáticos de Potência para Processadores 50 diferentes valores de tensão e frequência. Além disso, o trabalho lida com os estados de potência no Capítulo 7por meio dos scaling drivers INTEL_pstates e ACPI_cpufreq.

Nossa abordagem, no entanto, não condiz com perfeição à realidade do DPM, voltando-se para a visão do programador e relacionando-se com a paralelização de aplicações em processadores multi-core. Trata-se de uma forma de combinar modelos de potência com a métrica paralela denominada speedup.

No próximo capítulo serão apresentados diversos conceitos associados à descrição da arquitetura dos processadores multi-core, assim como à descrição da execução de processamento paralelo nesses tipos de processador, tendo em vista esclarecer a abordagem exposta no Capítulo 5.