Introdução Padrões de gerência de energia Gerência de energia Gerenciamento de Energia em Sistemas Operacionais Crístian Deives dos Santos Viana Priscila Corrêa Saboia Instituto de Computação – Universidade Estadual de Campinas Novembro de 2007 Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia 1 Introdução Sistemas operacionais modernos Motivações para gerência de energia 2 Padrões de gerência de energia PNPBIOS APM ACPI 3 Gerência de energia Disco rígido Processador Hibernação Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Sistemas operacionais modernos Motivações para gerência de energia Sistemas operacionais modernos – Tarefas básicas [1] Controle e alocação de memória (gerência de memória); Controle e priorização de chamadas de sistema (gerência de processamento); Controle de dispositivos de entrada e saída (gerência de dispositivos); Controle de arquivos (gerência do sistema de arquivos); Suporte a redes de computadores (gerência de redes); Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Sistemas operacionais modernos Motivações para gerência de energia Sistemas operacionais modernos – Tarefas adicionais Controle de vários usuários (gerência de usuários); Suporte a segurança dos dados (criptografia, backup); Gerência de energia; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Sistemas operacionais modernos Motivações para gerência de energia Motivações para gerência de energia Economia de energia e aumento da vida útil dos periféricos; Sistemas de gestão de energia de computador são desejados por muitas razões: Em sistemas embarcados de dispositivos portáteis: prolongar o tempo da bateria e reduzir requisitos de dissipação de calor; Em sistemas desktop: redução do requisito de refrigeração e redução de ruído; Em supercomputadores: reduzir os custos operacionais de energia e refrigeração; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Sistemas operacionais modernos Motivações para gerência de energia Motivações para gerência de energia Baixo consumo de energia ⇒ baixa dissipação de calor Aumenta estabilidade do sistema; Poupa dinheiro; Reduz carga sobre o ambiente; Tanto os sistemas portáteis, sistemas embarcados, desktop e os supercomputadores utilizam sistemas operacionais; Cabe a estes sistemas operacionais garantir que as motivações sejam alcançadas; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Histórico da gerência de energia em SOs A gerência do uso de energia e as propriedades térmicas eram muito difíceis e inflexíveis para os sistemas operacionais; O hardware era controlado por algum tipo de interface BIOS embarcada Advanced Power Management (APM); Plug’n’Play Basic Input Output System (PNPBIOS) Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Plug’n’Play Basic Input Output System – PNPBIOS Não é confiável em muitas situações; Como o PNPBIOS é uma tecnologia de 16 bits, o sistema operacional tem que emular 16 bits para fazer a interface funcionar com os métodos PNPBIOS; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Advanced Power Management – APM Define uma interface de software independente de hardware para o gerenciamento de energia; Esconde os detalhes de hardware, permitindo que programas utilizem APM sem conhecimento da interface do hardware; Desenvolvido pela Intel e Microsoft, em 1996; Presente nas versões do Windows anteriores ao Vista; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Driver APM Faz a comunicação do sistema operacional com o BIOS do computador; Um driver APM no sistema operacional media o acesso ao Programa de interface APM no BIOS, que permite o gerenciamento de energia; A BIOS APM é oferecida pelo fornecedor do sistema e é específica à plataforma de hardware; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Modelo Controla o uso de energia baseado na atividade do sistema; À medida que a atividade diminui, o APM reduz a energia dos dispositivos que não estão sendo utilizados; Cinco estados de energia: Completamente ligado; APM habilitado; 3 APM standby; 4 APM suspenso; 5 Desligado; 1 2 Diferença principal entre os estados: tempo de latência para voltar a um estado de trabalho; Consumo de energia e performance são máximos no estado “Completamente ligado” Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Estados de energia Completamente ligado Sistema está funcionando; Energia do sistema não está sendo gerenciada; Todos os dispositivos estão funcionando; APM habilitado Sistema está funcionando; Clock do processador fica menor; A energia dos dispositivos são gerenciadas quando necessário; APM standby Sistema pode não estar funcionando; Maioria dos dispositivos a um baixo nível de energia; Sistema retorna ao estado “APM habilitado” rapidamente; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Estados de energia APM suspenso Sistema não está funcionando; Maioria dos dispositivos estão desligados; Clock do processador está parado; Processador está no estado mínimo de energia; As operações anteriores voltam a funcionar quando o sistema volta ao estado “APM habilitado”; Sistema demora um tempo relativamente longo para voltar ao estado “APM habilitado”; Desligado Sistema não está funcionando; A fonte está desligada; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Problemas O gerenciamento de energia é feito pelo BIOS, e o sistema operacional não tem nenhum conhecimento dele; APM é uma tecnologia específica do fornecedor; A lógica do APM é embarcada no BIOS, e opera fora do escopo do sistema operacional; O BIOS APM não possui espaço suficiente para implementar uma política sofisticada de energia, ou uma que possa se adaptar bem ao propósito da máquina; É difícil definir quando se deve ir para o estado “APM suspenso”; O BIOS não tem informações dos dispositivos USB, cartões e dispositivos IEEE 1394 (FireWire); Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Advanced Configuration and Power Interface – ACPI Interface desenvolvida para configuração e gerenciamento de energia do computador; Permite o sistema operacional controlar o gerenciamento de energia (Operating System Power Management – OSPM); Ao invés do BIOS, como no APM; Padrão aberto de indústria; Desenvolvida pela HP, Intel, Microsoft, Phoenix e Toshiba; Última especificação: 10 de outubro de 2006; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Características Oferece mais controle e flexibilidade para o sistema operacional; Na ACPI, o BIOS oferece ao sistema operacional métodos para controlar diretamente os detalhes de baixo nível do hardware; O sistema operacional tem praticamente o controle completo sobre a economia de energia; A implementação da ACPI não depende apenas de software, mas também de hardware compatível; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Estados de energia Estados globais G0 G1 G2 G3 Funcionando; Dormindo; Desligado por software; Desligado por hardware; Estados de dispositivo D0 D1 D2 D3 Completamente ligado; Estado intermediário, varia com o fabricante; Estado intermediário, varia com o fabricante; Desligado; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Estados de energia Estados de processador C0 Estado operacional; C1 Suspenso; C2 Sem clock; C3 Dormindo; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia PNPBIOS APM ACPI Suporte dos sistemas operacionais Primeira versão do Windows: Windows 98; Primeira versão do FreeBSD: 5.0; Linux, NetBSD e OpenBSD: todos têm pelo menos algum suporte à ACPI; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Gerência de energia O sistema operacional decide o que desligar e quando desligar; Se ele desliga logo que é requisitado, haverá um atraso importuno até que seja reiniciado; Se espera muito tempo para desligar um dispositivo, a energia é desperdiçada por nada; Encontrar algoritmos e heurísticas que permitam ao sistema operacional tomar boas decisões sobre o que desligar e quando; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Gerência do disco rígido Consome bastante energia para manter o prato rodando; Uma abordagem simples: Parar de girar o prato após alguns minutos de inatividade; Com a chegada de uma nova requisição, o disco é posto novamente para girar; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Problemas na abordagem simples Um disco parado leva um certo tempo para voltar a girar na velocidade apropriada e isso pode reduzir o desempenho do sistema; Reiniciar o disco consome considerável energia extra: Cada disco tem um tempo característico Td; Supondo que o próximo acesso venha acontecer em um tempo t; t < Td – gasta menos energia para manter girando; t > Td – gasta menos energia manter parado; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Métodos para solução O número de vezes que o disco é desligado e ligado é inversamente proporcional à vida do HD; Se fosse possível uma boa previsão de padrões de acesso baseado em dados anteriores, o sistema operacional poderia fazer um desligamento para economia de energia sem diminuir muito a vida do HD; Algoritmos se dividem em: Métodos preditivos; Métodos estocásticos; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Algoritmo adaptativo para gerenciamento de energia em um disco rígido Reduz o consumo de energia com um impacto menor na vida útil do HD; É um método preditivo: Baseia-se na predição de períodos de ociosidade; Utiliza o conceito de sessão: Período em que as requisições são muito próximas; Períodos candidatos a serem desligados (entre sessões); Algoritmos baseados em sessão podem tirar maior proveito em sistemas cujos requisitos podem mudar de padrão; Método prediz o tamanho da sessão por meio de um algoritmo adaptativo; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Definições Limiar (τ ) Usado para separar sessões. Se o tempo entre dois acessos consecutivos diferem de um valor > τ , então, fazem parte de sessões distintas; Tamanho da sessão (L) Tempo entre o primeiro acesso e o último dentro de uma sessão; Intervalo (l) Intervalo entre sessões. Tempo entre o último acesso de uma sessão prévia e o primeiro acesso da próxima sessão; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Figura: Vários valores de limiar. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Figura: Intervalos para diferentes valores de τ . Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia (Unidade: segundo) Intermissão Tamanho Tempo entre o acesso em uma sessão Média 986 59 1,2 Disco rígido Processador Hibernação Mediana 872 48 ≪1 Desvio padrão 668 51 6,0 Tabela: Dados estatísticos para τ = 60. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Figura: Diagrama de transições de estados. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Resultados Através do ajuste dinâmico da predição do tamanho da sessão, o algoritmo consegue “desligar” o HD mais cedo para uma sessão mais curta, bem como também consegue mantê-lo acordado para atender a uma sessão mais longa. Comparação com outros 5 algoritmos 2 outros algoritmos adaptativos; Algoritmo de tempo fixo: 2 s e 5 min (comumente visto em desktop); Um algoritmo guloso: desliga o HD depois de 10 ms de cada requisição atendida; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia E (energia, J) S (ciclo de troca) T. de vida (sem.) Rotação (s) T. médio de rot. T. médio dorm. E ×S E /S (eficiência) Disco rígido Processador Hibernação Adapt. 1 Adapt. 2 Adapt. 3 Fixo (2 s) Fixo (5 min) Guloso 2.603.507 6.493 317 789.852 121,6 716,7 1.07 7,52 1.870.586 21.485 93,6 135.357 6,3 247,0 2.54 1,63 1.859.128 22.352 90,0 123.280 5,5 238,0 2.63 1,56 1.846.958 23.330 86,0 129.590 4,7 228,6 2.73 1,49 4.778.338 3.306 626 2.613.312 790 855 1.00 27,11 1.791.558 33.609 58,7 N/A N/A 160,9 3.81 1,00 Tabela: Comparação entre os algoritmos de gerenciamento de energia (N/A: não-aplicável). Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Resultados Comparação com outros 5 algoritmos Gasta 45% de energia a mais que os outros adaptativos, mas provê um tempo de vida útil de 6 anos; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Outras soluções Ajuda de programas O sistema operacional mantém os programas informados sobre o estado do disco, enviando sinais ou mensagens; Programas com escrita programada podem atrasá-las; Ajuda da memória RAM Ter um cache substancial de disco em RAM; Caso um bloco solicitado esteja na cache, um disco ocioso não precisa ser iniciado; O disco pode ser mantido desligado até que a cache esteja cheia ou ocorra uma lacuna na leitura; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Como mencionado antes, apesar da memória RAM poder ser usada como um buffer, é indesejável usá-la para economia pois ela também consome bastante energia. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives O uso de memória flash se tornou popular; Além disso, dispositivos de armazenamento não-voláteis não precisam de energia para manter seus dados como a memória RAM; Diferente dos discos rígidos, a memória flash é feita de chips de estado sólido sem componentes mecânicos como pratos do HD, que consomem uma quantidade considerável de energia; Comparado com o de um HD, o consumo de energia de um drive flash é quase negligível: por exemplo, o consumo de energia no modo standby do drive flash é 1% em relação ao HD; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives A solução proposta [2] utiliza-se de um dispositivo de baixo custo – flash drive – para alcançar o objetivo de economizar energia consumida pelo disco; Esta idéia possui dois obstáculos devido a características particulares do flash drive: A taxa de tranferência do flash drive é geralmente muito menor que a de um HD; O flash drive possui um número limitado de ciclos de reescrita. Tipicamente uma célula de memória flash pode “gastar” com cerca de 100.000 escritas. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives O SmartSaver usa o flash drive como buffer para caching e prefetching de dados evitando acesso ao disco; Comparado com esquemas existentes para economizar a energia gasta pelo HD, as seguintes vantagens são oferecidas: Efetivamente aproveita a característica de baixo consumo de energia do flash drive para economizar energia Leva as características específicas do flash drive em consideração É projetado para ser utilizado em diversos SOs com poucas mudanças no kernel dos mesmos Os testes executados demonstraram que energia considerável foi economizada, prolongando o tempo idle do HD Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Uma abordagem simples seria usar o flash drive como uma nova camada entre a RAM e o HD. Esta política de “cache-all” simplesmente faz cache de todos os bytes lidos do disco ou removidos da memória. Esta abordagem possui as seguintes deficiências, que foram evitadas na solução proposta: A taxa de transferência do flash drive é geralmente menor que a do HD, fazendo que ele se torne o gargalo do sistema Esta abordagem guarda dados que serão pouco acessados Dois tipos de dados que prioriza-se guardar não recebem tratamento especial: dados que são reusados freqüentemente e dados que movem-se lentamente do/para o HD Procura-se não substituir estes tipos de dados quando o flash drive está cheio, o que esta abordagem também não trata. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Dois princípios são considerados nesta proposta: Um flash drive não é simplesmente um “HD menor” ou uma “memória maior”. A taxa de transferência menor e o limite do número de reescritas devem ser levados em conta Precisa-se balancear o benefício de quanta energia é economizada com o custo da memória obtida Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives A solução proposta divide o espaço do flash drive em três áreas: Cache, para armazenar dados que possivelmente serão reusados Prefetch, para armazenar dados pré-carregados do HD Write-back, para armazenar temporariamente “dirty blocks” removidos da memória Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Para medir quantitativamente o potencial de conservação de energia quando evitando um período busy, apresenta-se a métrica Energy Saving Rate (ESR) ESR é a energia que poderia ser economizada se um período busy fosse evitado sobre a quantidade de dados acessados durante este período. ESR = Energia gasta em um período busy - Energia gasta em um período quiet de mesma duração Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives É importante gerenciar todos os blocos por completo durante um período busy ; Para isto, o SmartSaver usa uma estrutura de dados, chamada envelope, para guardar metadados sobre todos os acessos a blocos de dados durante tal período; Cada envelope é associado um período busy ; Quando um bloco é requerido do disco durante um período busy, seus metadados são gravados no envelope correspondente. Os blocos em um envelope são organizados na ordem LRU Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Quando um período busy é completado, seu ESR é calculado; Se a decisão é de fazer CASH do envelope, todos os blocos de dados são mantidos no flash drive para manter a integridade do período ocupado; Os envelopes são colocados em uma fila chamada pilha de envelope; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Solução para conservação de energia com a utilização de flash drives Quando não há mais espaço na pilha, é necessário identificar os blocos de menor valor em relação à energia poupada; Somente a ESR não é suficiente, pois o bloco de menor valor pode ser o mais acessado; Avalia e compara valores de blocos segundo essas duas métricas; A política de atualização quando o envelope é inserido; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Gerência do processador Executar um processador à sua máxima freqüência permite obter máximo desempenho; Se ele for executado a uma freqüência inferior, gera menos calor e consome menos energia; É possível também reduzir a voltagem, dependendo das necessidades do usuário; Diminuindo mais ainda a geração de calor e o consumo de energia; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Gerência do processador Dynamic Voltage and Frequency Scaling – DVFS; Conserva a energia da bateria de um laptop; Aumenta a vida útil do processador; Reduz ruídos; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Balanceamento do consumo de energia do processador Quando está executando uma tarefa, o processador emite calor e aumenta sua temperatura; O aumento de temperatura diminui a vida útil do processador; Solução: diminuir a freqüência e a voltagem; Mas isso também diminui a performance; Em máquinas com vários processadores, o sistema operacional poderia escalonar os processos entre eles [3]; Dessa forma, os processadores mantêm uma mesma temperatura média; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Conceitos Hot task: tarefa que exige grande consumo de energia do processador; Cool task: tarefa que exige pouco consumo de energia do processador; Hot processor: processador sobrecarregado, geralmente executando mais tarefas do que os outros processadores; Cool processor: processador sub-utilizado, geralmente executando menos tarefas do que os outros processadores; Perfil de energia: conjunto de características da “energia” de uma tarefa, que indica se ela é hot ou cool em um dado intervalo de tempo; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Perfil de energia A quantidade de energia exigida por uma tarefa é variável; Depende do intervalo de tempo; Depende das instruções executadas; Depende da entrada do usuário; Existe um método que calcula a energia utilizada por uma tarefa em um dado momento; Esse método erra em menos de 10% das aplicações testadas; Seria bom se a quantidade de energia de uma tarefa em um momento futuro pudesse ser calculada; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Escalonamento de tarefas O escalonador de tarefas comum pode colocar vários processos hot em um mesmo processador ou vários processos cool em um mesmo processador; Fazendo com que um processador fique hot ou cool; O escalonador pode levar em consideração o perfil de energia das tarefas para tomar suas decisões; Para calcular a energia de uma atividade em um momento futuro, a solução considera que ela é parecida com a energia dos instantes de tempo anteriores; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Programa bash bzip2 grep sshd openssl Máximo 19,0% 88,8% 84,3% 18,3% 63,2% Disco rígido Processador Hibernação Variação média 2,05% 5,45% 1,06% 1,38% 2,48% Tabela: Mudança no consumo de energia durante fatias de tempo sucessivas. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Algoritmos de escalonamento Balanceamento de energia Aplicado quando há múltiplas tarefas; Equilibra a energia das tarefas no processador; Executado por cada processador; Migração de hot task Aplicado quando há uma única tarefa; Move a tarefa para um processador mais cool; Ambas as abordagens são limitadas por uma temperatura; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Avaliação Os dois algoritmos foram integrados no Linux kernel 2.6.10; A estrutura task_struct foi modificada para armazenar o perfil de energia da tarefa; A estrutura runqueue foi modificada para armazenar a energia máxima suportada por cada processador; Aproximadamente 2.000 linhas de código modificadas; Computador: IBM xSeries 445, com 8 processadores Pentium 4 Xeon 2.2 GHz; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Figura: Potência dissipada dos 8 processadores com balanceamento de energia desabilitado (máximo: 60W). Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Figura: Potência dissipada dos 8 processadores com balanceamento de energia habilitado (máximo: 60W). Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Figura: Migração de hot task de uma única tarefa. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Tecnologias de economia de energia de processador SpeedStep PowerNow! Cool’n’Quiet Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação SpeedStep Tecnologia desenvolvida pela Intel; Apenas para processadores de computadores móveis; Se estiver conectado a uma saída de energia, o processador é executado na freqüência máxima; Se estiver funcionando pela bateria, o sistema diminui a freqüência e a voltagem do processador; No Windows XP, está relacionado com os esquemas de energia: “Portável/Laptop”: habilita o SpeedStep; “Casa/Escritório”: desabilita o SpeedStep; Integrado no kernel do Linux e do MacOS; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação PowerNow! e Cool’n’Quiet PowerNow! Tecnologia de diminuição de energia de processador para processadores móveis da AMD; Quando o computador está ocioso, diminui a freqüência e a voltagem; Similar à tecnologia SpeedStep da Intel; Cool’n’Quiet Tecnologia também desenvolvida pela AMD; Voltada para processadores de desktops e servidores; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Hibernação Recurso do sistema operacional de armazenar o conteúdo da memória RAM em um dispositivo não-volátil (disco rígido) antes de desligar o computador; Voltar de uma hibernação é bem mais rápido que ligar o computador; O sistema volta exatamente ao estado no qual ele estava antes de hibernar; O conteúdo que foi armazenado no disco rígido é carregado de volta para a memória RAM; Espaço necessário É necessário pelo menos um espaço no disco rígido igual à quantidade de memória RAM no sistema; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Vantagens Quando o computador está hibernando, ele na verdade está desligado; Não consome nenhuma energia; Ideal para laptops; Pode ser ativada automaticamente quando a bateria do computador acaba ou está perto de acabar; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Suporte no Windows A partir do Windows 2000; hiberfil.sys; Geralmente, só é suportada se todos os dispositivos forem PnP e todos os drivers forem compatíveis com PnP; Example No Windows Vista, existe também um recurso chamado “Dormir híbrido”: O computador entra no estado “Dormir” (os dispositivos ficam em modo de consumo de energia baixo); O conteúdo da memória RAM é salvo no disco rígido, para recuperar os dados caso ocorra uma queda de energia; Mistura de “Dormir” com “Hibernar”; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Suporte no Linux e no MacOS Linux Incluído no kernel, a partir do 2.6; Módulo swsusp; Na versão 2.4, é possível utilizar o TuxOnIce; MacOS Recurso chamado “Safe Sleep”; Semelhante ao “Dormir híbrido” no Windows Vista; Funciona implicitamente quando o sistema está no estado “Sleep”; Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Referências bibliográficas Andrew S. Tanenbaum. Sistemas Operacionais Modernos. 2003. Feng Chen, Song Jiang, and Xiaodong Zhang. Smartsaver: Turning flash driver into a disk energy saver for mobile computers. 2006. Andreas Merkel and Frank Bellosa. Balancing power consumption in multiprocessor systems. pages 403–414, 2006. Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais Introdução Padrões de gerência de energia Gerência de energia Disco rígido Processador Hibernação Fim Obrigado pela atenção! Crístian Viana e Priscila Saboia Gerenciamento de Energia em Sistemas Operacionais