Design of a Standard and Programmatically Accessible Interface for Smart Meters to Allow Monitoring Automation of the Energy Consumed by the Execution of Computer Software
Metadatos
Mostrar el registro completo del ítemEditorial
MDPI
Materia
Energy metering system Software power consumption
Fecha
2023-01-19Referencia bibliográfica
Ortega, A.; Cano-Delgado, A.M.; Prieto, B.; González, J. Design of a Standard and Programmatically Accessible Interface for Smart Meters to Allow Monitoring Automation of the Energy Consumed by the Execution of Computer Software. Sustainability 2023, 15, 1900. https://doi.org/10.3390/su15031900
Patrocinador
Spanish Ministry of Science, Innovation and Universities, and the ERDF fund, grant number PGC2018-098813-B-C31Resumen
Software has become more computationally demanding nowadays, turning out highperformance
software in many cases, implying higher energy and economic expenditure. Indeed,
many studies have arisen within the IT community to mitigate the environmental impact of software.
Collecting and measuring software’s power consumption has become an essential task. This paper
proposes the design of a standard interface for any currently available smart meter, which is programmatically
accessible from any software application and can collect consumption data transparently
while a program is executed. This interface is structured into two layers. The former is a driver that
provides an OS-level standard interface to the meter, while the latter is a proxy offering higher-level
API for a concrete programming language. This design provides many benefits. It makes it possible
to substitute the meter for a different device without affecting the proxy layer. It also allows the
presence of multiple proxy implementations to offer a programmatic interface to the meter for several
languages. A prototype of the proposed interface design has been implemented for a concrete smart
meter and OS to demonstrate its feasibility. It has been tested with two experiments. Firstly, its correct
functioning has been validated. Later, the prototype has been applied to monitor the execution of a
high-performance program, a machine learning application to select the most relevant features of
electroencephalogram data.