Dissertação de mestrado integrado em Engenharia de Telecomunicações e InformáticaNestes últimos anos, a importância da eficiência energética nos sistemas
informáticos tem vindo a crescer exponencialmente desde a área móvel até à
computação de alto desempenho. O crescimento do mercado dos gadgets e a sua
crescente dependência dos serviços de computação em Cloud são algumas das razões
para este rápido avanço neste ramo tecnológico. A redução do consumo de energia e
o aumento da produtividade de um sistema é, por várias razões, uma preocupação,
tanto por parte do cliente como do fabricante. A exploração aprofundada do tópico
pode contribuir para, por exemplo, o aumento da autonomia dos terminais móveis e
a redução dos custos energéticos dos data centers e do cliente particular.
Neste sentido, a monitorização do consumo de energia de um sistema
desempenha um papel fundamental para se aprimorar a eficiência energética do
mesmo. No entanto, o grande desafio atual da monitorização passa por categorizar o
consumo de energia a vários níveis como, por processo, por máquina virtual ou por
subsistema de hardware. Esta escala de granularidade na análise energética permite o
desenvolvimento de relatórios mais incisivos e conclusivos sobre a distribuição de
consumo de energia do sistema.
No âmbito desta dissertação e tendo por base estes motivantes fatores, foi
desenvolvido um modelo simples que visa estimar o consumo de energia do sistema
na sua totalidade, categorizado por subsistema e, no caso do armazenamento
secundário, também categorizado por processo.
Este documento apresenta um estudo sobre diferentes metodologias de medição
assim como sobre as abordagens possíveis para o modelo em sistemas de teste com
diferentes tipos de armazenamento secundário e com uma das ultimas gerações de
processador da Intel. Numa fase inicial foi feita uma investigação a vários aspetos
referentes à energia de um sistema, incluindo modelos de estimação do consumo de
sistemas, métodos de medição de consumo e a precisão desses mesmos métodos.
No desenvolvimento do modelo, recorreu-se apenas a recursos existentes no
sistema em causa para viabilizar um mais fácil investimento a larga escala. Por isso, o
modelo recorre a interfaces de gestão e monitorização de energia como o RAPL e
ACPI. Foram analisados os mais importantes aspetos energéticos de um sistema como
a distribuição do consumo de energia estático e dinâmico pelos subsistemas e avaliouse
a eficiência e o desempenho dos mesmos nas mais diversas atividades. Desta forma,
garantiu-se uma maior polivalência do modelo e, de um modo geral, uma maior
precisão do mesmo. O modelo foi validado com base em ferramentas disponibilizadas pelo sistema e
através de medições físicas. Os resultados obtidos parecem satisfatórios, tendo sido
registadas taxas de erro máximas de 5% no consumo total e de 10% no consumo do
armazenamento secundário.
Este modelo desenvolvido pode ser adaptado a outro sistema, no entanto,
necessita de executar uma ferramenta de calibragem que realiza todas as etapas que
foram executadas na configuração usada para este projeto. Isto acontece
essencialmente no subsistema de armazenamento secundário onde não se recorre a
qualquer ferramenta existente para a estimação da sua energia. Desta forma, há uma
etapa inicial que consiste na exercitação do subsistema de armazenamento secundário
através de ferramentas de benchmarking e na recolha de dados estatísticos do custo
das operações. Em seguida, é feito um estudo sobre esses mesmos dados e são
atribuídos diferentes pesos energéticos para cada operação executada no subsistema.
Depois, constrói-se o modelo e este é calibrado com recurso a interfaces de energia
como o RAPL e ACPI. No fim, este modelo deve ser capaz de apresentar a fatura
energética de cada processo que utiliza o subsistema de armazenamento secundário.
Além disso, o modelo deve também estimar o consumo de energia total do sistema e
a sua distribuição pelos principais subsistemas.In the past few years, the importance of energy efficiency in computer systems
has been growing exponentially from the mobile area to the high-performance
computing. The gadgets market growth and their increasing dependence on Cloud
computing services are some of the reasons for this fast progress in this technological
field. The power consumption reduction and the increasing productivity of a system
is, for multiple reasons, a concern both for the customer and the manufacturer. For
example, the in-depth research of this topic can contribute for increasing the mobile
terminals autonomy and for reducing the energy costs on data centers and even on
the costumer devices.
Altogether, the power consumption monitoring of a system plays an important
role to enhance its energy efficiency. Some of the most challenging aspects of this
research field are accurate power consumption measurement, estimation and
categorization at different levels of the system, from hardware components to
processes. This meticulous scale in the energy analysis allows the development of
more incisive and conclusive reports about the system power consumption
distribution.
Within this thesis and based on these challenging factors, it has been developed
a simple model that aims to estimate the system power consumption in its entirety,
categorized by subsystem and, in the case of secondary storage, also categorized by
process.
This document presents an analysis of different measurement methods as well
as about possible approaches for a model that run over experimental systems with
different configurations of secondary storage and using a last generation Intel
processor. Initially a research was made concerning many aspects about a system
energy, including power consumption estimation models, consumption
measurement methods and those methods accuracy.
For the model development, it has been used only the existing resources in the
tested system to enable an easier investment on a large scale architecture. Therefore,
the model implements energy management and monitoring interfaces like RAPL and
ACPI. The most important system energy concerns were analysed, such as the power
consumption breakdown of static and dynamic power subsystems. The efficiency
and performance of some system activities were evaluated. This process ensured the
development of a more versatile model, and globally, with a greater accuracy. The model validation process was carried out based on tools provided by the
system and by physical measurements. The obtained results seem adequate, having
been recorded a maximum error rate of 5% concerning the total system consumption
and 10% regarding the secondary storage consumption.
This power consumption model can actually be applied to any typical computer
system through a calibration tool also developed in this project. This calibration step
will estimate relevant power consumption parameters regarding secondary storage
since we cannot rely on existing tools or APIs concerning this subsystem. This
calibration will exercise the secondary under different usage patterns. The collected
statistics will be processed and the cost of relevant operations regarding this
secondary storage will be estimated. The next step involves the model development
and its calibration using power interfaces as RAPL and ACPI. In the end, this model
should be capable of presenting the energy bill of each process that uses the secondary
storage subsystem. Additionally, the model should also be able to estimate the total
system power consumption and its breakdown by the major subsystems