Power Profiling Report
Power Profiling Report
com/science/article/pii/S1383762120300953
Manuscript_fc3a5c302053bdfc45abf07a8022198e
Abstract
Power consumption in electronic systems is an essential feature for the management of energy
autonomy, performance analysis, and the aging monitoring of components. Thus, several research
studies have been devoted to the development of power models and profilers for embedded systems.
Each of these models is designed to fit a specific usage context. This paper is a part of a series
of works dedicated to modeling and monitoring embedded systems in airborne equipment. The
objective of this paper is twofold. Firstly, it presents an overview of the most used models in the
literature. Then, it offers a comparative analysis of these models according to a set of criteria,
such as the modeling assumptions, the necessary instrumentation necessary, the accuracy, and the
complexity of implementation.
Secondly, we introduce a new power estimator for ARM-Based embedded systems, with component-
level granularity. The estimator is based on NARX neural networks and used to monitor power for
diagnosis purposes. The obtained experimental results highlight the advantages and limitations of
the models presented in the literature and demonstrate the effectiveness of the proposed NARX,
having obtained the best results in its class for a smartphone (An online Mean Absolute Percentage
Error = 2.2%).
Keywords: Data fitting, Embedded Systems, Machine learning, Modeling, NARX, neural
Networks, Power Consumption, Power profiling, Smartphone
1. Introduction
Since the introduction of the modern smartphone in 2007, there has been a great deal of research
dealing with the duality performance-battery life in these systems [1]. One of the earliest challenges
in mobile devices’ power consumption was to predict the remaining battery life [2]. This decade-old
question is still generating studies aiming to enhance accuracy while accounting for newly released
technologies [3]. Furthermore, with the emergence of new factors, such as the Internet of Things
(IoT), and the ubiquity of embedded systems in general, the interest in power consumption is no
longer limited to just mobile devices, and now includes most embedded electronics [4, 5].
∗ Corresponding author
Email addresses: [email protected] (Oussama Djedidi), [email protected] (Mohand A.
Djeziri)
© 2020 published by Elsevier. This manuscript is made available under the Elsevier user license
https://www.elsevier.com/open-access/userlicense/1.0/
The main issue is how to increase the performance of the system while maintaining sustain-
able—if not minimal—power consumption levels. Hence, both the scientific and industrial commu-
nities have been working actively to improve power efficiency [6, 7]. Most solutions focused on the
optimization of resource utilization and varied widely. For instance, some of the proposed solutions
were algorithmic like the Dynamic Voltage and Frequency Scaling (DVFS) for CPUs [8] and GPUs
[9], and new scheduling and task distribution algorithms [10]. Alternatively, other works focused on
empirical approaches in reducing power consumption, like reducing screen resolutions [11], or using
large-scale statistical methods to study the impact of the user’s behavior on power consumption [12].
The interest in power consumption went even further than just improving efficiency. Researchers
have studied power consumption to detect and solve energy bugs [13], create energy-aware software
[14], and even to creatively deal with cyber-security issues [15, 16] and detect anomalies [17, 18].
This paper is a continuation of our previous works on the modeling and monitoring of mobile
and embedded systems [19]. In this work, the main focus is on building a power model and profiler
for the online monitoring of onboard embedded systems [18].
Power profilers are tools that allow for the measurement or the estimation of power consumption
on a system-wide level [20] or down to components [21] or applications [22]... Moreover, not only
these tools allow users to estimate the power consumption or the remaining battery life, but they
also help developers decrease energy loss [12] and create energy-friendly [23] or reliability-aware
algorithms [24].
The specialized literature is rich with power profilers and models that were indexed into several
surveys [1, 25, 26]. These surveys included profilers made by software and hardware companies [27],
as well as those made by researchers like PowerBooter [28] and Sesame [29]. While these surveys are
relatively recent, the generational differences between components (and hence their power profiles
[30]), coupled with the changes in user-device interactions, deprecate the use of old models [31].
Thus, the continuing trend in power profiling and the flux of new power models [20, 32, 33, 34, 35].
Some of these models offered more accessible construction and implementation [36], while others
focused on accuracy [33].
As it will be demonstrated hereafter, all these models and profilers differ in their purposes and
techniques. Thus, explaining why there are so many of them). The aim behind this work is to
complement the available research by compiling and comparing the methods and ideas found in the
literature and then offering a step-by-step methodology on how to build power profilers, then, use
this methodology to build a new accurate profiler that uses a Nonlinear AutoRegressive eXogenous
(NARX) neural network model. The profiler, which is called N 3 , is built to be used as a power
consumption monitoring tool to detect anomalies in power consumption. In the results section, it
will be shown how N 3 improves upon the accuracy reported in the literature while maintaining low
power and computational overhead.
In the next section, the main steps of building a power profiler are outlined. The differences
between each type of profilers are also highlighted with examples from the literature alongside the
different design choices to be made. Then, in the following sections, the use of these steps to design
and build a neural network-based power profiler is detailed. Henceforth, this work will serve as
both a tutorial to building power profilers and a paper presenting a novel work. In the last section,
the obtained results are discussed, validating the profiler.
2
2. Design and Construction of Power Profilers
All power profilers found in the literature or the industry share the common task of delivering
power consumption values, whether by measurement or estimation. Through this commonly shared
task, some other standard features and techniques that these profilers use to achieve their results
may be outlined. In the following paragraphs, these features are streamlined into manageable steps
through which the design choices to be made are explained, starting with the goal of building the
profiler.
Design choices:
• Purpose: Monitoring, diagnosis, software optimization...
3
even finer granularity, such function-level, would require models based on techniques such as code
analysis [40]. The latter is mainly used to help developers optimize their code and avoid energy
hogs [44].
Design choices:
• Scheme: Hardware-based or software-based profiling
• Measurements source: Instruments or battery API or discharging curve...
• Measurements generation: Code Analysis-based estimation, or Model-based estimation,
or physical measurement recording
4
2.3.3. Model construction and implementation
Hardware-based profilers, by design, are built to deliver measurements and estimations on the fly.
Software-based profilers, on the other hand, can either work online and provide direct estimations
of the power consumed by the device or generate estimations from previously gathered data. For
instance, for a large-scale study, offline estimation is better suited for the task [12]. However, if the
purpose of the profiler is to monitor the device debug and its energy consumption, online estimation
is the better solution [19, 56].
Models are also characterized by where they are constructed and trained. Those constructed
and trained on the profiled device, require no additional training or tuning [28]. They accurately
estimate power consumption and adapt to the device’s specific power profile [1]. However, they
require a data gathering and a training time that might come at a high computational cost. Models
constructed and trained offline would avoid the drawbacks of the first category [18, 57], but they
are always device-specific and their accuracy varies from one device to the other.
The last category is off-device profilers which are constructed and trained off-device [58]. These
profilers deliver accurate estimation, notably in fine granularity cases, but require a permanent link
to the profiled device.
Design choices:
• Modeling scheme: White-box, or grey-box, or black box
• Estimations availability: Online or offline
• Model implementation: On-device or off-device
where µy is the mean value of the measurements y(k) n, and SSE is the Sum of Squared Errors :
n
X
SSE = (y(k) − ŷ(k))2 . (2)
k=1
In an ideal case, y = ŷ. Hence, R and R2 will be equal to 1. In practice, however, the nearer the
value of these indicators is to 1, the better are the estimations of the model.
The calculation of R or R2 is an indicator of the latter, but the accuracy of the model has to
be further evaluated by calculating estimation errors:
5
The study of these residuals makes it possible to conclude if ŷ(k) fit y(k) well. These residuals
must have a random profile. Their randomness indicates that the inputs and outputs of the model
are correlated. Therefore, their distribution must be tested. Among the different tests possible to
determine if the residues are random, the most used are the normality test [59] and the Kolmogorov-
Smirnov test (K-S test) [60]. These two tests make it possible to deduce if the residuals are normally
distributed and centered around an average µε with a standard deviation σε . This variable is also
affected by the heteroscedasticity, which indicates the existence of a relationship between the vari-
ance (σ 2 ) and the samples size of the input variables. Thus, in order to verify the homoscedasticity
of the residuals, several tests like that of White [59] or Engle’s ARCH test [61] can be used.
Once the goodness of fit is satisfactory, the residuals are analyzed, and the estimation errors
are sufficiently small to satisfy the requirements of the designers (MAE lower than the resolution
of the sensors, for instance), the model is validated. If the model can not be validated, then the
designer must repeat the steps from the choice of the modeling approach. This was the case of this
work, where the accuracy of the model has been considerably improved, by changing the type of
the model, compared to its first version [19].
In the last step, the performance is also observed to be satisfied or not. During this step, one
should look at the time needed to generate estimations, and whether the adoption of some choices
outweighs the drawbacks—fine granularity against slower estimations, for instance. Additionally,
tweaks can be made to obtain the optimum desired results. For instance, the influence of each
input can be observed favoring some inputs to others, leading sometimes to the elimination of some
as their influence is marginal. Once the model is validated satisfying all design and performance
constraints, the process ends.
2.5. Summary
In figure 1, the general algorithm describing the building of a power profiler is shown. It
shows all the steps to follow. It also shows, in case of unsatisfactory results which steps should
be revisited according to the constraints underhand. For instance, if the accuracy of the model is
not sufficient, one has to review the modeling scheme and onward, until the desired results come
through. Furthermore, table 1 displays a compilation of profilers and models found in the literature
categorized according to the steps explained above in this section.
Table 1: Summary of some of the profilers available in the literature. —: Information not available or not applicable.
ation
ns
sourc ent
of est ability
y
imatio
ment
ularit
urem
e
schem g
schem g
g
lin
ose
e
e
lin
in
l-
?
Avail
Mo de
Mo de
Imple
based
Work
Meas
Train
Profi
Gran
Purp
Snap- Power esti- Device Software Yes Linear (Re- On-line Off-line Off-device
Dragon mation and • API gression)
Profiler [58] logging • System
traces
Trepn Power esti- Device Software Yes Linear (Re- On-line Off-line On-device
[27, 62] mation and • API gression)
logging • System
traces
Ahmad Estimation of Instruction set Mixed Hardware Yes Linear Off-line Off-line Off-device
et al. [40] energy con-
sumption of
Application
code
6
ion
ns
sourc ent
of est ability
at
y
imatio
ment
ularit
urem
e
schem g
schem g
g
lin
ose
e
e
lin
in
l-
?
Avail
Mo de
Mo de
Imple
based
Work
Meas
Train
Profi
Gran
Purp
Huang et al. Energy con- CPU Software System Yes Polynomial Off-line Off-line Off-device
[23] sumption traces (non-linear)
optimization
Niu and Improving opti- CPU Software System Yes Linear Off-line Off-line —
Zhu [24] mization traces
Bokhari Energy con- Application Software Battery API Yes Application On/Off- On/Off- On/Off-
et al. [6, 63] sumption specific line line device
optimization
Alawnah Power esti- Device Software Yes ANN Off-line Off-line Off-device
and mation and • API
Sagahy- prediction • System
roon [51] traces
Yoon et al. Power modeling Application Software System Yes Linear (Re- — — —
[31] and estimation processors traces gression)
Walker Power modeling CPU Software System Yes Linear (Re- On-line On-line On-device
et al. [35] and estimation traces gression)
(PMC)
PETrA [33] Power estima- Application Software System Yes Linear (Re- Off-line On-line On-device
tion traces gression)
Djedidi SoC Monitoring SoC (CPU, Software System Yes Neural net- On-line Off-line Off-device
et al. [19] GPU, RAM) traces works
Deep Green Energy con- Device Mixed System Yes RNN (SVR) Off-line Off-line Off-device
[54] sumption traces
prediction + Green-
Miner [64]
pProf [20] Power profiling Device Software API Yes Linear (Re- On-line Off-line On-device
with reduced gression)
overhead
Bokhari Energy con- Software No — — — —
and Wagner sumption • Device • Battery API
[65] optimization • Applications • System
traces
Kim et al. Prediction of re- Application Software System Yes AppScope On-line Off-line On-device
[3] maining battery traces [67]
Lu et al. Improving Screen Software System Yes Linear On-line On-line On-device
[68] screens power Traces
models
Caviglione Malaware de- Device Software Yes Modified On-line On-line On-device
et al. [15] tection • Battery sen- version of
sors PowerTutor
• System [28, 69]
traces
Green- Software energy Applications Software System Yes Off-line Off-line Off-device
Oracle estimation Traces and • Linear
[34] calls Regres-
sion
(Ridge)
• Lasso
• SVR
• Bagging
7
ion
ns
sourc ent
of est ability
at
y
imatio
ment
ularit
urem
e
schem g
schem g
g
lin
ose
e
e
lin
in
l-
?
Avail
Mo de
Mo de
Imple
based
Work
Meas
Train
Profi
Gran
Purp
PowerTap Estimating en- Components Software Yes Linear On-line Off-line Off-device
[46] ergy consump- • Hardware
tion (Power
reading)
• System
traces
Li et al. [71] Wi-Fi power Wi-Fi Software Yes FSM Off-line Off-line Off-device
modeling • Hardware
• System
traces
Merlo et al. Intrusion detec- Device Software System Yes PowerTutor On-line On-line On-device
[16] tion traces [28, 69]
Jin et al. GPU power GPU Software System Yes Linear (Re- — — —
[72] modeling traces gression)
Kim et al. GPU power Software System read- Yes Linear (Re- On-line — On-device
[32] modeling • Device ings gression)
• GPU
Arpinen Dynamic power Components Software System Yes FSM On-line On-line On-device
et al. [75] management traces
Holleis Power measure- Device Hardware — No — On-line — Off-device
et al. [43] ment and log-
ging
König et al. Power measure- Sensors Hardware — No — On-line — Off-device
[76] ment
Shin et al. Battery life esti- System Traces Software Components Yes Regression On-line Off- Off-device
[56] mation (Nonlinear) device
eLens [77] Power estima- Code level Software Application Yes Regression On-line On-line On-device
tion
Nacci et al. Adaptive power Software System Yes Linear On-line On-line On-
[78] modling traces (ARX) device
8
ion
ns
sourc ent
of est ability
at
y
imatio
ment
ularit
urem
e
schem g
schem g
g
lin
ose
e
e
lin
in
l-
?
Avail
Mo de
Mo de
Imple
based
Work
Meas
Train
Profi
Gran
Purp
Kim and GPU power Components Software System Yes Linear (Re- — — —
Chung [79] modeling traces gression)
Ardito et al. Power profiling Components Hardware — No — Off-line — Off-device
[30]
V-edge [55] Power profiling Components Software System Yes Linear (Re- On-line On-line On-device
traces gression)
Kim et al. Power modeling Software System Yes Linear (Re- On-line — —
[80] • Device traces gression)
• Components
Power Doc- Power Modeling Software Yes Regression On-line On-line On-device
tor [74] • CPU • API
• Screen • System
traces
Murmuria Measurement of Software System Yes Linear (Re- Off-line On-line On-device
et al. [81] power consump- • Component traces gression)
tion • Application
DevScope Online power Components Software Yes Linear (Re- On-line Off-line On-device
[57] analysis • Battery in- gression)
terface
• System
traces
Minyong Pnline power es- Components Software System Yes Linear (Re- On-line — —
Kim et al. timation traces gression)
[82]
eProf Fined grained Threads and Software System Yes FSM On-line On-line On-device
[45, 42] power modeling systems traces traces
Sesame [29] Automated Device Software Battery Yes Linear (Re- On-line Off-line Off-device
power modeling interface gression)
Power- Automated Software Yes PowerTuTor On-line On-line On-device
Booter power modeling • Device • Battery sen- (Regres-
[28] • Components sors sion with
• System varying
traces parameters)
Zhang et al.
[28]
Yusuke Power consum- Software System Yes Linear (Re- On-line Off-line On-device
et al. [83] tion monitoring • Device traces gression)
and analysis • Micro-
processor
Gurun and Energy consum- Software Yes Regression On-line Off-line On-device
Krintz [84] tion estimation • CPU • HMPs (Linear,
• Networks • BMU dynamic)
The systems on which N 3 is validated are a smartphone and a development board running
Android. These systems were chosen for three main reasons. Firstly, these devices are available on
a wide scale and are easily programmable, making all the developed programs easily transferable
between them. Secondly, these devices run on the kernel used by most of the embedded systems
in the world—Linux—extending the portability of the N 3 profiler to, virtually, all devices running
this kernel (with some device-specific adjustments). Finally, these devices are well-instrumented
and need no external or invasive measurement schemes.
9
Begin
Choice of level of
granularity
Hardware-based
Software or
Hardware-
based?
No
Model-based ?
Choice of inputs
Choice of estimation
type
Choice of model
implementation
Acceptable level No
of accuracy?
No
No
Design choice Impossible
satisfied? granularity?
No
Performance
satisfied?
End
Figure 1: A general algorithm for constructing a power profiler for embedded and mobile devices.
10
Table 2 shows all the significant specifications of both the development board and the smart-
phone. The board is a system used to develop prototypes. The one used in this work has only one
core CPU and no extra peripheral making a perfect case study for basic systems. Figure 2 shows
the board alongside a multimeter used to measure its power consumption.
Table 2: Highlights of the specifications of the smartphone and the development boards used in this study [85, 86].
—: Not Applicable.
In the previous section, the steps and the design choices for building a power profiler were
outlined. The paragraphs in this section demonstrate how those steps are to be undertaken, starting
with the purpose of the profiler.
1 The Vivante GC400T and GC320 are modules handling 3D and 2D graphics. However, they does not fall under
11
Figure 2: The development board alongside the multimeter and the monitoring PC.
framework previously presented by Djedidi et al. [18], it is also an improvement and a generalization
of their previous works [19].
The profiler will collect data, generate power estimation with its incorporated power model for
the system as a whole, and its components individually, then log this data. Hence, the granularity
is chosen to be at the components’ level. The monitored components are:
• The system on chip (SoC): In most embedded systems, it is composed of the CPU and a
Graphics Processing Unit (GPU) when needed.
• The Random Accesss Memory (RAM)
• The LTE module
• The GPS module
• The wireless module: Wi-Fi and Bluetooth.
• The touchscreen
• The speakers and the microphone
• The camera module containing the font facing camera, the rear facing camera(s), and the
flash.
These components are the major factors when it comes to power consumption [26]. The smart-
phone contains other peripherals, but their power draw is considered to be marginal [88] and a part
of the static power consumed by the device. For instance, the capacitive touch layer on the screen
is considered to be consuming a marginal and static amount of power [89].
12
6
4
f = min et Screen = Off
3 Fingerprint IR sensor
sensor = on = On
2
f min
and Screen = On
1
0
100 200 300 400 500 600 700 800 900
Time (s)
Figure 3: The measured overall power consumption of the device during multiple stages with different components
activated and deactivated at each stage.
This assumption was tested and confirmed experimentally. In figure 3, the measured power
consumption is drawn during multiple stages. In the first stage (Blue dots), the frequency is set to
its minimum, and the screen is kept off by a custom app. During the second stage (Plain magenta),
the fingerprint sensor is activated and used. Nevertheless, the power draw is unchanged. The
same draw is observed in the third stage (Red dashes), during which the heartbeat sensor was
used instead. The power draw significantly increased in the last stage (Green dashes), when the
frequency was no longer limited, and the screen was turned on again.
13
System
Data logger
N3 Profiler
Inputs
Model
Estimations
Storage
inputs, the system files are read in parallel. Data from experimentation also showed that it is also
faster to read the system files than to use system APIs (Table 3).
Table 3: The mean time needed to access the value of some variables through Android APIs and through system
files, on the smartphone.
An application was constructed to read and organize the necessary data. In order to have a
correct correlation between the inputs and output, the application reads the data concurrently to
minimize the reading time. It divides the reading queries into two halves and lunches two threads.
Each of the threads reads the current time and then proceeds to get the readings from the systems
files. Once the reading is finished, each of the threads queries for the time again and add it to the
end of the data array (Figure 5).
To ensure the sanity of the data, the application compares the starting time of each of the
threads and its ending time (TS3 - TS1 and TS4 - TS2). Then, it compares the start of the thread
that started first with the end of the second one, to compute the time of the whole process. The
process should not take more than 20 ms (the average is around 10 ms), with each thread taking at
most 10 ms. Otherwise, the data is considered corrupted and discarded.
The choice of 10 ms for each thread is based on the time the Linux Kernel gives to each process
14
TS1 R(1) R(2) … R(n/2) TS3
before pausing it and changing to another (Multitasking). The 20 ms limit is imposed to be able
to follow the fastest-changing variable, i.e. the CPU frequency [90]. Hence, the sampling time is
20 ms to follow this variable.
T S3 − T S1 ≤ 10 ms
T S4 − T S2 ≤ 10 ms (4)
T S4 − T S1 ≤ Ts , Ts = 20 ms
CPU power consumption is a function of its frequency and voltage [44]. Moreover, the voltage in
processors with dynamic voltage and frequency scaling (DVFS) is also a function of the frequency
[19]. Thus, the input used to estimate power consumption is the frequency f of each CPU core.
However, the CPU on the smartphone was configured to use one frequency for each of the quad-core
blocks in its big.Little configuration. Therefore, there will only be two frequency readings for that
device [91]. The same input—the frequency—is used for the GPU since it correlates directly with
its power consumption [32].
• The RAM
The RAM consumes around 10% of the total system power [92]. To account for the power used by
the RAM, in the first trials, the value of the occupied RAM was used as an input characterizing
the power draw of the RAM. However, that value on its own does not factor the maximum and the
minimum possible values of the RAM on the system. Henceforth, the ratio of the occupied RAM
over its maximum value is used and called the Memory Occupation Rate (MOR).
• The communication peripherals
The communication peripherals are the phone’s LTE module, the wireless chip (Wi-Fi and Blue-
tooth), and the GPS. Power consumption for these peripherals is mostly characterized by their
state of connection and data transfer [52, 83]. For the LTE chip, the inputs are the On-call status
(Off, 2G, 3G, LTE), the signal strength, and the connection and data transfer mode. Similarly, for
the Wi-Fi and Bluetooth, as their power consumption is heavily influenced by their state of activity
and the bandwidth [70], the inputs are the status (On/Off) and the data transfer. Finally, for the
GPS, only the status was used.
15
• The input and output peripherals
To account for the power draw of the touchscreen, the status of the screen (On/Off) and its
brightness are used as inputs [80, 89], since for modern AMOLED screens, consumed power is a
quadratic function of the brightness [89, 52]. The power consumed by the screen is also dependent
on the used resolution and scaling [11]. However, since in the case of this work, the resolution will
be fixed to the maximum possible value without any scaling, it will be a constant that won’t affect
the model.
For the speakers, the status (On/Off) and the volume are used as inputs for the model [81]. As
for the microphone, only the status was used. Finally, for the cameras and the LED flashlight, the
status of the camera its recording status (Camera recording or not) alongside the flash (On/Off)
are used.
y(k) = ϕ [y(k − 1), · · · , y(k − dy ), u(k − n), u(k − n − 1), · · · , u(k − n − du )] (5)
y(k) and u(k) are the output to be predicted and the input at the time step k, respectively. ϕ is
the characteristic function. The term n is the process dead-time, whereas dy and du are the orders
of time delays for the input and output, also called input and output memory. Since the power
changes react pretty quickly with changes in the characteristics (inputs), dy , du , and n were all set
to the value of 1, giving:
y(k) = ϕ [y(k − 1), y(k − 2), u(k − 1), u(k − 2)] (6)
The NARX model is composed of two layers: a hidden layer and an output layer. The neurons
in the hidden layer have sigmoids (ς) as activation functions. The output layer contains a single
neuron, representing the total consumed power by the device PSystem , with a linear transfer function
(Figure 6).
16
u(k) z-1 f1(u(k), u(k -1))
y(k)
𝜑(y(k), … ,y(k -1)
Σ
u(k), …, u(k -1))
The first advantage of using these neural networks is their capacity to estimate nonlinear dy-
namics while still keeping a relatively simple and computationally light form (2-layers). The second
advantage is the component-level granularity.
To illustrate the capacity of the model to reach this level of granularity, Figure 7 describes the
distribution of the total power consumed by a typical device as the sum of the power consumed by
each individual component (CPU, Wi-Fi, ...), plus a minimum amount of base still consumed by the
device [80], and a negligible amount consumed by the rest of the components whose consumption
is marginal (see 4.1). Assuming that the power consumed the components whose consummation is
marginal and the base power represents a single static power, the power consumed by the device
becomes:
n
X
PT otal = PStatic + Pi (7)
i=1
н
DĂƌŐŝŶĂůƉŽǁĞƌĐŽŶƐƵŵĞĚďLJŽƚŚĞƌƉĞƌŝƉŚĞƌĂůƐ
н
^ƚĂƚŝĐWŽǁĞƌ
17
Where i denotes the component number (CPU, GPU, RAM...), and n is the total number of these
components. The power consumed by each of these components can be correlated with one of its
characteristics. These characteristics will be used as inputs to the power model.
The level of granularity can be ensured by configuring the neurons of the hidden layer so as to
achieve component decoupling, by disabling the training of the weights w linking the neurons of
the different components. Figure 8 shows the configuration of the power model for an embedded
system and showcases the interconnection of the neurons related to three components: the SoC,
Camera 1 and the screen. Since the output layer is a linear neuron, the power consumed by the
system becomes:
by disabling all the components except the SoC, as this is the component required for system
operation, and training the model with data from this configuration, the power consumption of the
system becomes (from Equation 7):
whereas for the NARX model (Equation 8), this translates into:
In order to quantify the individual contribution of each component, the training set is con-
structed as follows. At first, only the SoC is active for a period of time. Then the components are
activated one after the other. Each component is kept active for a duration of time, after which it is
deactivated for a period of time before activating the next component. Finally, All the components
are returned to their automatic operating state.
Thus, the NARX model gives estimates of the power consumed by the system as a whole, as
well as the power consumed by the components individually:
18
𝑓1 𝑧 −1 𝜍1
⋮ 𝑤1
𝑆𝑜𝐶 𝑓𝑛 𝑧 −1 𝜍𝑛
𝑤2
𝑓𝐺𝑃𝑈 𝑧 −1 𝜍𝑛+1
𝑤𝑛+1
𝑀𝑂𝑅 𝑧 −1 𝜍𝑛+2
𝑤𝑛+2
⋮
𝑆𝑡𝑎𝑡𝑢𝑠𝑂𝑛/𝑂𝑓𝑓 𝑧 −1 𝜍𝑚 𝑤𝑚 𝑔 𝑃𝑆𝑦𝑠𝑡𝑒𝑚
𝑤𝑚+1
𝐶𝑎𝑚𝑒𝑟𝑎1 𝑅𝑒𝑐𝑜𝑟𝑑𝑖𝑛𝑔 𝑧 −1 𝜍𝑚+1
𝑤𝑚+2
𝐹𝑙𝑎𝑠ℎ 𝑧 −1 𝜍𝑚+2
⋮ 𝑤𝑗
𝑆𝑡𝑎𝑡𝑢𝑠𝑂𝑛/𝑜𝑓𝑓 𝑤𝑗+1
𝑧 −1 𝜍𝑗
𝑆𝑐𝑟𝑒𝑒𝑛 ቐ
𝐵𝑟𝑖𝑔ℎ𝑡𝑛𝑒𝑠𝑠 𝑧 −1 𝜍𝑗+1 𝑤
𝑖
𝑧 −1 𝜍𝑖
Figure 8: The configuration of the interconnections of neurons in the hidden layer in the NARX power model to
ensure the components’ level granularity.
4.6. Summary
In Table 4, all of the previously described and detailed points are summarized.
19
Table 4: Summarized description of the profiler.
Purpose Monitoring
Granularity Components level
Source measurement System traces
Device Smartphone Development board
Model name N3
Modelling scheme Neural network
Number of layers 2
• Hidden layer: 26 neurons • Hidden layer: 5 neurons
• Output layer: 1 neuron
Inputs SoC
• f1 : CPU0–3 • f : CPU0
• f2 : CPU4–7 • MOR
• fGP U
• MOR
Cellular radio
• Connection status:
Off/2G/3G/LTE
• On-Call status: On/Off
• Signal strength (%)
• Data transfer mode :
• LTE: idle/DRX/...
• 3G: DCH/FACH...
• Data transfer rate
Wi-Fi
• Status: On/Off
• Data transfer: 0/1
Bluetooth
• Status: On/Off
• Data transfer: 0/1
GPS
• Status: On/Off
Screen
• Status: On/Off • Status: On/Off
• Brightness: (%) • Brightness: (%)
Speakers
• Status: On/Off
• Volume: (%)
Microphone
• Recording: 0/1
Cameras
• Status: On/Off
• Recording: 0/1
• flashlight: On/Off
Modelling construction Off-device
Modelling Implementation On-device
Sampling time 20 ms
20
Table 5: The training time needed for different numbers of samples alongside the resulted mean absolute percentage
error (MAPE), the mean squared error (MSE), and the regression (R) for the test set.
then over Wi-Fi, taking a picture without flash, with flash, and recording a 30 s video, and finally
leaving the phone idle for a while. This data-gathering experiment is repeated multiple times with
variations in the order of the benchmarks as well as the tasks.
The gathered data is then divided into three sets: a training set (60%), and a validation set
(20%) to train the model, and a test set (20%) to evaluate its performance. The results of the test
sets for different sizes of training sets are shown in Table 5. These results demonstrate how the
inputs correlate with the output (R ≈ 1). Moreover, the predictions fit the output, with very low
errors (MAPE = 2.2% for the smartphone and 2.8% for the board), indicating the accuracy of the
model. Thus, N 3 is validated.
Nevertheless, Table 5 also shows the limitations of using neural networks. Indeed, the MAPE
went down from 5% to 2.2% by adding more samples, but it came at the cost of longer training
times. Additionally, after a certain number of samples (1.8 × 106 for the smartphone and 2 × 105 ),
the MAPE no longer improved.
21
Table 6: Online testings results of the model on both devices.
Development
Smartphone
board
Test Duration 2.25 h 1.5 h
Number of Samples ∼ 403 × 103 ∼ 280 × 103
MAE (W) 0.0168 0.038
MAPE (%) 2.82 2.88
MSE 7.04 × 10−4 5.74 × 10−3
Perfect fits (%) 97 96.6
from the external multimeter to the device. Once accounted for this delay, the model performance
results were practically the same as they were on the smartphone.
10
P measured
9
P
estimated
8
6
Power (W)
0
1100 1105 1110 1115 1120 1125 1130 1135
Time (s)
Figure 9: Online N 3 Power estimation against the measurements for the smartphone.
22
Figure 10: N 3 Online estimation error distribution for the smartphone.
Finally, we compared the results of N 3 with the publicly available power models and models
of which the MAPE was reported in the literature. Table 7 shows the accuracy of these models
compared to the power model presented in this paper.
23
4
P measured
P
3.5 estimated
3
Power (W)
2.5
1.5
1
2070 2080 2090 2100 2110 2120 2130 2140 2150
Time (s)
Figure 11: Online N 3 Power estimation against the measurements for the development board.
While we are pleased that our model performed better than or on par with established works,
it is also worth noting that some of these profilers have higher levels of granularity than our model
does. Furthermore, some works, like PowerBooter, have not been updated for several years.
6. Conclusion
Given the great importance of estimating power consumption in embedded systems and smart-
phones, the literature has seen a great deal of research devoted to this subject. In this paper, we
have presented, through an in-depth study of the literature, a generic methodology for building
power profilers by adapting the profiling process to their context of use. The method is stream-
lined into a set of manageable steps, explaining the design choices to be made through each of
them, starting with the goal of building the profiler. Then, we presented a compilation of profilers
and models found in the literature and categorized them according to the steps explained in the
proposed methodology.
The proposed methodology is then applied in this work to build a new accurate profiler, based
on a NARX neural network model, and used as a monitoring tool to detect anomalies in power
consumption. In the results section, the proposed model has been implemented and validated with
outstanding results—best in its class—that highlight how the accuracy reported in the literature is
improved while maintaining low power and computational overhead.
Thus, N 3 is a profiler capable of generating accurate online power estimation for mobile and
embedded devices, making it the optimal tool for power monitoring and debugging, and using the
24
power profile to detect anomalies in the system. Finally, thanks to its accuracy and performance,
N 3 has been implemented in an online monitoring framework for safety-critical avionic systems
[18].
References
25
[10] S. Li, S. Mishra, Optimizing power consumption in multicore smartphones, Journal of Parallel
and Distributed Computing 95 (2015) 124–137, ISSN 07437315, doi:10.1016/j.jpdc.2016.02.004.
[11] M. Linares-Vásquez, G. Bavota, C. E. B. Cárdenas, R. Oliveto, M. Di Penta, D. Poshy-
vanyk, Optimizing energy consumption of GUIs in Android apps: a multi-objective approach,
in: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering -
ESEC/FSE 2015, ACM Press, New York, New York, USA, ISBN 9781450336758, 143–154,
doi:10.1145/2786805.2786847, 2015.
[12] Y. Guo, C. Wang, X. Chen, Understanding application-battery interactions on smartphones: A
large-scale empirical study, IEEE Access 5 (2017) 13387–13400, ISSN 21693536, doi:10.1109/
ACCESS.2017.2728620.
[13] A. M. Abbasi, M. Al-tekreeti, Y. Ali, K. Naik, A. Nayak, N. Goel, B. Plourde, A framework for
detecting energy bugs in smartphones, in: 2015 6th International Conference on the Network of
the Future (NOF), IEEE, ISBN 978-1-4673-8386-8, 1–3, doi:10.1109/NOF.2015.7333297, 2015.
[14] J. Koo, K. Lee, W. Lee, Y. Park, S. Choi, BattTracker: Enabling energy awareness for smart-
phone using Li-ion battery characteristics, in: Proceedings - IEEE INFOCOM, vol. 2016-July,
IEEE, ISBN 9781467399531, ISSN 0743166X, 1–9, doi:10.1109/INFOCOM.2016.7524422, 2016.
[15] L. Caviglione, M. Gaggero, J. F. Lalande, W. Mazurczyk, M. Urbański, Seeing the unseen:
Revealing mobile malware hidden communications via energy consumption and artificial intel-
ligence, IEEE Transactions on Information Forensics and Security 11 (4) (2016) 799–810, ISSN
15566013, doi:10.1109/TIFS.2015.2510825.
[16] A. Merlo, M. Migliardi, P. Fontanelli, Measuring and estimating power consumption in Android
to support energy-based intrusion detection, Journal of Computer Security 23 (5) (2015) 611–
637, ISSN 0926227X, doi:10.3233/JCS-150530.
[17] G. Suarez-Tangil, J. E. Tapiador, P. Peris-Lopez, S. Pastrana, Power-aware anomaly detec-
tion in smartphones: An analysis of on-platform versus externalized operation, Pervasive and
Mobile Computing 18 (2015) 137–151, ISSN 15741192, doi:10.1016/j.pmcj.2014.10.007.
[18] O. Djedidi, M. A. Djeziri, N. K. M’Sirdi, Data-Driven Approach for Feature Drift Detection in
Embedded Electronic Devices, IFAC-PapersOnLine 51 (24) (2018) 1024–1029, ISSN 24058963,
doi:10.1016/j.ifacol.2018.09.714.
26
Systems, SIES 2015 - Proceedings, IEEE, ISBN 9781467377119, 174–177, doi:10.1109/SIES.
2015.7185058, 2015.
[22] R. Mittal, A. Kansal, R. Chandra, Empowering developers to estimate app energy consump-
tion, in: Proceedings of the 18th annual international conference on Mobile computing and
networking - Mobicom ’12, ACM Press, New York, New York, USA, ISBN 9781450311595,
317, doi:10.1145/2348543.2348583, 2012.
[23] J. Huang, R. Li, J. An, D. Ntalasha, F. Yang, K. Li, Energy-Efficient Resource Utilization
for Heterogeneous Embedded Computing Systems, IEEE Transactions on Computers 66 (9)
(2017) 1518–1531, ISSN 00189340, doi:10.1109/TC.2017.2693186.
[24] L. Niu, D. Zhu, Reliability-aware scheduling for reducing system-wide energy consumption
for weakly hard real-time systems, Journal of Systems Architecture 78 (2017) 30–54, ISSN
1383-7621, doi:10.1016/J.SYSARC.2017.06.004.
[25] R. W. Ahmad, A. Gani, S. H. A. Hamid, F. Xia, M. Shiraz, A Review on mobile application
energy profiling: Taxonomy, state-of-the-art, and open research issues, Journal of Network and
Computer Applications 58 (2015) 42–59, ISSN 10958592, doi:10.1016/j.jnca.2015.09.002.
[27] I. Qualcomm Innovation Center, Trepn Profiler - Android Apps on Google Play, URL https:
//play.google.com/store/apps/details?id=com.quicinc.trepn&hl=fr CH, 2019.
[28] L. Zhang, B. Tiwana, Z. Qian, Z. Wang, R. P. Dick, Z. M. Mao, L. Yang, Accurate online power
estimation and automatic battery behavior based power model generation for smartphones, in:
Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software
codesign and system synthesis - CODES/ISSS ’10, ACM Press, New York, New York, USA,
ISBN 9781605589053, 105, doi:10.1145/1878961.1878982, 2010.
[29] M. Dong, L. Zhong, Self-constructive high-rate system energy modeling for battery-powered
mobile systems, in: MobiSys, ACM Press, New York, New York, USA, ISBN 9781450306430,
ISSN 10769757, 335, doi:10.1145/1999995.2000027, 2011.
27
[33] D. Di Nucci, F. Palomba, A. Prota, A. Panichella, A. Zaidman, A. De Lucia, PETrA: A
Software-Based Tool for Estimating the Energy Profile of Android Applications, in: 2017
IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C),
IEEE, ISBN 978-1-5386-1589-8, 3–6, doi:10.1109/ICSE-C.2017.18, 2017.
[34] S. A. Chowdhury, A. Hindle, GreenOracle: Estimating Software Energy Consumption with
Energy Measurement Corpora, in: Proceedings of the 13th International Workshop on
Mining Software Repositories - MSR ’16, ACM Press, New York, New York, USA, ISBN
9781450341868, 49–60, doi:10.1145/2901739.2901763, 2016.
[35] M. J. Walker, S. Diestelhorst, A. Hansson, A. K. Das, S. Yang, B. M. Al-Hashimi, G. V.
Merrett, Accurate and Stable Run-Time Power Modeling for Mobile and Embedded CPUs,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 36 (1) (2017)
106–119, ISSN 02780070, doi:10.1109/TCAD.2016.2562920.
[36] K. Kim, D. Shin, Q. Xie, Y. Wang, M. Pedram, N. Chang, FEPMA: Fine-Grained Event-Driven
Power Meter for Android Smartphones Based on Device Driver Layer Event Monitoring, in:
Design, Automation I& Test in Europe Conference and Exhibition (DATE), IEEE Conference
Publications, New Jersey, ISBN 9783981537024, ISSN 15301591, 1–6, doi:10.7873/DATE.2014.
380, 2014.
[37] A. Dzhagaryan, A. Milenković, M. Milosevic, E. Jovanov, An Environment for Automated
Measuring of Energy Consumed by Android Mobile Devices, in: PECCS 2016 - Proceedings
of the 6th International Joint Conference on Pervasive and Embedded Computing and Com-
munication Systems, SCITEPRESS - Science and Technology Publications, Lisbon, Portugal,
ISBN 978-989-758-195-3, 28–39, doi:10.5220/0005950800280039, 2016.
[38] L. Sun, R. K. Sheshadri, W. Zheng, D. Koutsonikolas, Modeling WiFi active power/energy con-
sumption in smartphones, in: Proceedings - International Conference on Distributed Comput-
ing Systems, IEEE, ISBN 9781479951680, ISSN 1063-6927, 41–51, doi:10.1109/ICDCS.2014.13,
2014.
[39] O. Djedidi, M. A. Djeziri, N. K. M’Sirdi, A. Naamane, A Novel Easy-to-construct Power
Model for Embedded and Mobile Systems Using Recursive Neural Nets to Estimate Power
Consumption of ARM-based Embedded Systems and Mobile Devices, in: Proceedings of the
15th International Conference on Informatics in Control, Automation and Robotics (ICINCO
2018), vol. 1, INSTICC, SciTePress, Porto, Portugal, ISBN 978-989-758-321-6, 541–545, doi:
10.5220/0006915805410545, 2018.
[40] R. W. Ahmad, A. Gani, S. H. Ab Hamid, A. Naveed, K. O. Kwangman, J. J. Rodrigues, A
case and framework for code analysis–based smartphone application energy estimation, In-
ternational Journal of Communication Systems 30 (10) (2017) e3235, ISSN 10991131, doi:
10.1002/dac.3235.
28
[42] A. Pathak, Y. C. Hu, M. Zhang, Where is the Energy Spent Inside My App?: Fine Grained
Energy Accounting on Smartphones with Eprof, in: Proceedings of the 7th ACM European
Conference on Computer Systems, EuroSys ’12, ACM, New York, NY, USA, ISBN 978-1-4503-
1223-3, ISSN 15361268, 29–42, doi:10.1145/2168836.2168841, 2012.
[43] P. Holleis, M. Luther, G. Broll, B. Souville, A DIY Power Monitor to Compare Mobile Energy
Consumption in Situ, Proceedings of the 15th international conference on Human-computer in-
teraction with mobile devices and services, ACM (2013) 416–421doi:10.1145/2493190.2494087.
[44] M. L. Altamimi, K. Naik, A Computing Profiling Procedure for Mobile Developers to Estimate
Energy Cost, in: Proceedings of the 18th ACM International Conference on Modeling, Analysis
and Simulation of Wireless and Mobile Systems - MSWiM ’15, ACM Press, New York, New
York, USA, ISBN 9781450337625, 301–305, doi:10.1145/2811587.2811627, 2015.
[45] A. Pathak, Y. C. Hu, M. Zhang, P. Bahl, Y.-M. Wang, Fine-Grained Power Modeling for
Smartphones Using System Call Tracing, in: Proceedings of the sixth conference on Computer
systems EuroSys 11, ISBN 9781450306348, 153, doi:10.1145/1966445.1966460, 2011.
[46] M. J. Dousti, M. Ghasemi-Gol, M. Nazemi, M. Pedram, ThermTap: An online power analyzer
and thermal simulator for Android devices, in: Proceedings of the International Symposium
on Low Power Electronics and Design, vol. 2015-Septe, IEEE, ISBN 9781467380096, ISSN
15334678, 341–346, doi:10.1109/ISLPED.2015.7273537, 2015.
[47] Y. Fu, L. Li, K. Wang, C. Zhang, Kalman Predictor-Based Proactive Dynamic Thermal Man-
agement for 3-D NoC Systems with Noisy Thermal Sensors, IEEE Transactions on Computer-
Aided Design of Integrated Circuits and Systems 36 (11) (2017) 1869–1882, ISSN 02780070,
doi:10.1109/TCAD..2661808.
[48] N. Zhang, P. Ramanathan, K.-H. Kim, S. Banerjee, PowerVisor: A Battery Virtualization
Scheme for Smartphones, in: Proceedings of the third ACM workshop on Mobile cloud com-
puting and services - MCS ’12, ACM Press, New York, New York, USA, ISBN 9781450313193,
37, doi:10.1145/2307849.2307859, 2012.
[49] J. Bornholt, T. Mytkowicz, K. S. McKinley, The model is not enough: Understanding en-
ergy consumption in mobile devices, in: 2012 IEEE Hot Chips 24 Symposium (HCS), IEEE,
ISBN 978-1-4673-8879-5, 1–3, doi:10.1109/HOTCHIPS.2012.7476509, URL http://ieeexplore.
ieee.org/document/7476509/, 2012.
[51] S. Alawnah, A. Sagahyroon, Modeling of smartphones’ power using neural networks, Eurasip
Journal on Embedded Systems 2017 (1) (2017) 22, ISSN 16873963, doi:10.1186/s13639-017-
0070-1.
29
[52] T. Kamiyama, H. Inamura, K. Ohta, A model-based energy profiler using online log-
ging for Android applications, in: 2014 7th International Conference on Mobile Comput-
ing and Ubiquitous Networking, ICMU 2014, IEEE, ISBN 978-1-4799-2231-4, 7–13, doi:
10.1109/ICMU.2014.6799050, 2014.
[53] X. Chen, Y. Chen, M. Dong, C. Zhang, Demystifying Energy Usage in Smartphones, Design
Automation Conference (DAC) (2014) 1–5ISSN 0738100X, doi:10.1109/DAC.2014.6881397.
[54] S. Romansky, N. C. Borle, S. Chowdhury, A. Hindle, R. Greiner, Deep Green: Modelling
Time-Series of Software Energy Consumption, in: 2017 IEEE International Conference on
Software Maintenance and Evolution (ICSME), IEEE, ISBN 978-1-5386-0992-7, 273–283, doi:
10.1109/ICSME.2017.79, 2017.
[55] F. Xu, Y. Liu, Q. Li, Y. Zhang, V-edge: fast self-constructive power modeling of smartphones
based on battery voltage dynamics, in: nsdi’13 Proceedings of the 10th USENIX conference on
Networked Systems Design and Implementation, USENIX, Lombard, IL, ISBN 978-1-931971-
00-3, 43–55, 2013.
[56] D. Shin, K. Kim, N. Chang, W. Lee, Y. Wang, Q. Xie, M. Pedram, Online estimation of
the remaining energy capacity in mobile systems considering system-wide power consump-
tion and battery characteristics, in: Proceedings of the Asia and South Pacific Design Au-
tomation Conference, ASP-DAC, IEEE, ISBN 9781467330299, ISSN 2153-6961, 59–64, doi:
10.1109/ASPDAC.2013.6509559, 2013.
[57] W. Jung, C. Kang, C. Yoon, D. D. Kim, H. Cha, DevScope: A Nonintrusive and On-
line Power Analysis Tool for Smartphone Hardware Components, Proceedings of the eighth
IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthe-
sis - CODES+ISSS ’12 (2012) 353doi:10.1145/2380445.2380502.
[58] Qualcomm Technologies Inc, Snapdragon Profiler - Qualcomm Developer Network, URL https:
//developer.qualcomm.com/software/snapdragon-profiler, 2019.
30
[64] A. Hindle, A. Wilson, K. Rasmussen, E. J. Barlow, J. C. Campbell, S. Romansky, GreenMiner:
a hardware based mining software repositories software energy consumption framework, in:
Proceedings of the 11th Working Conference on Mining Software Repositories - MSR 2014,
ACM Press, Hyderabad, India, ISBN 9781450328630, 12–21, doi:10.1145/2597073.2597097,
2014.
[72] T. Jin, S. He, Y. Liu, Towards Accurate GPU Power Modeling for Smartphones, in: Proceed-
ings of the 2nd Workshop on Mobile Gaming - MobiGames ’15, ACM Press, New York, New
York, USA, ISBN 9781450334990, 7–11, doi:10.1145/2751496.2751502, 2015.
[73] J. Lee, H. Joe, H. Kim, Automated power model generation method for smartphones, IEEE
Transactions on Consumer Electronics 60 (2) (2014) 190–197, ISSN 00983063, doi:10.1109/
TCE.2014.6851993, URL http://ieeexplore.ieee.org/document/6851993/.
[74] L. Jaymin, J. Hyunwoo, K. Hyungshin, Smart phone power model generation using use pattern
analysis, in: 2012 IEEE International Conference on Consumer Electronics (ICCE), IEEE,
ISBN 978-1-4577-0231-0, 412–413, doi:10.1109/ICCE.2012.6161925, 2012.
31
[75] T. Arpinen, E. Salminen, T. D. Hämäläinen, M. Hännikäinen, MARTE profile extension for
modeling dynamic power management of embedded systems, Journal of Systems Architecture
58 (5) (2012) 209–219, ISSN 13837621, doi:10.1016/j.sysarc.2011.01.003, URL https://www-
sciencedirect-com.lama.univ-amu.fr/science/article/pii/S1383762111000154.
[76] I. König, A. Memon, K. David, Energy consumption of the sensors of Smartphones, in: 10th In-
ternational Symposium on Wireless Communications Systems (ISWCS), ISBN 9783800735297,
ISSN 21540225, 723–727, 2013.
[77] S. Hao, D. Li, W. G. J. Halfond, R. Govindan, Estimating Mobile Application Energy Con-
sumption Using Program Analysis, in: Proceedings of the 2013 International Conference on
Software Engineering, ICSE ’13, IEEE Press, Piscataway, NJ, USA, ISBN 978-1-4673-3076-3,
ISSN 02705257, 92–101, doi:10.1109/ICSE.2013.6606555, 2013.
[78] A. A. Nacci, F. Trovò, F. Maggi, M. Ferroni, A. Cazzola, D. Sciuto, M. D. Santambrogio,
Adaptive and flexible smartphone power modeling, Mobile Networks and Applications 18 (5)
(2013) 600–609, ISSN 1383469X, doi:10.1007/s11036-013-0470-y, URL http://link.springer.
com/10.1007/s11036-013-0470-y.
[79] M. Kim, S. W. Chung, Accurate GPU power estimation for mobile device power profiling,
Digest of Technical Papers - IEEE International Conference on Consumer Electronics (2013)
183–184ISSN 0747668X, doi:10.1109/ICCE.2013.6486850.
[80] M. Kim, J. Kong, S. W. Chung, Enhancing online power estimation accuracy for smartphones,
IEEE Transactions on Consumer Electronics 58 (2) (2012) 333–339, ISSN 00983063, doi:10.
1109/TCE.2012.6227431.
[81] R. Murmuria, J. Medsger, A. Stavrou, J. M. Voas, Mobile application and device power usage
measurements, in: Proceedings of the 2012 IEEE 6th International Conference on Software
Security and Reliability, SERE 2012, IEEE, ISBN 9780769547428, 147–156, doi:10.1109/SERE.
2012.19, 2012.
[82] Minyong Kim, Joonho Kong, Sung Woo Chung, An online power estimation technique for
multi-core smartphones with advanced display components, in: 2012 IEEE International
Conference on Consumer Electronics (ICCE), IEEE, ISBN 978-1-4577-0231-0, 666–667, doi:
10.1109/ICCE.2012.6162019, 2012.
[83] K. Yusuke, T. Okuhira, I. Tohru, H. Kenji, K. Takeshi, K. Masaji, A run-time power anal-
ysis method using OS-observable parameters for mobile terminals, in: Proc. of International
Conference on Embedded Systems and Intelligent Technology(ICESIT), vol. 2010, 1–6, doi:
10.1109/ICMU.2014.6799050, 2010.
[84] S. Gurun, C. Krintz, A run-time, feedback-based energy estimation model For embedded
devices, in: Proceedings of the 4th international conference on Hardware/software codesign
and system synthesis - CODES+ISSS ’06, ACM Press, New York, New York, USA, ISBN
1595933700, 28, doi:10.1145/1176254.1176264, 2006.
[85] GSM Arena, Samsung Galaxy S8+ - Full phone specifications, URL https://www.gsmarena.
com/samsung galaxy s8+-8523.php, 2016.
32
[86] NXP Inc., i.MX 6SoloX Applications Processors — Arm R Cortex R -A9, Cortex-M4
—NXP, URL https://www.nxp.com/products/processors-and-microcontrollers/applications-
processors/i.mx-applications-processors/i.mx-6-processors/i.mx-6solox-processors-
heterogeneous-processing-with-arm-cortex-a9-and-cortex-m4-cores:i.MX6SX, 2019.
[87] Pcmag, GPU Definition from PC Magazine Encyclopedia, URL https://www.pcmag.com/
encyclopedia/term/43886/gpu, 2019.
[88] M. Ciman, O. Gaggi, An empirical analysis of energy consumption of cross-platform frameworks
for mobile development, Pervasive and Mobile Computing 39 (2017) 214–230, ISSN 15741192,
doi:10.1016/j.pmcj.2016.10.004.
[91] I. Samsung, Exynos 9 Series 8895 Processor: Specs, Features — Samsung Exynos,
URL http://www.samsung.com/semiconductor/minisite/exynos/products/mobileprocessor/
exynos-9-series-8895/, 2017.
[92] F. A. Almusalli, N. Zaman, R. Rasool, Energy efficient middleware: Design and development
for mobile applications, in: 2017 19th International Conference on Advanced Communication
Technology (ICACT), IEEE, ISBN 978-89-968650-9-4, 541–549, doi:10.23919/ICACT.2017.
7890149, 2017.
[93] H. Xie, H. Tang, Y. H. Liao, Time series prediction based on narx neural networks: An
advanced approach, in: Proceedings of the 2009 International Conference on Machine Learning
and Cybernetics, vol. 3, IEEE, ISBN 9781424437030, ISSN 2160-133X, 1275–1279, doi:10.1109/
ICMLC.2009.5212326, 2009.
[94] AnTuTu, AnTuTu Benchmark - Android Apps on Google Play, URL https://play.google.com/
store/apps/details?id=com.antutu.ABenchMark, 2019.
[95] Primate Labs Inc., Geekbench 4 - Android Apps on Google Play, URL https://play.google.
com/store/apps/details?id=com.primatelabs.geekbench, 2019.
[96] Futuremark Oy, PCMark for Android Benchmark - Android Apps on Google Play, URL https:
//play.google.com/store/apps/details?id=com.futuremark.pcmark.android.benchmark, 2019.
[97] Futuremark Oy, 3DMark - The Gamer’s Benchmark - Android Apps on Google Play, URL
https://play.google.com/store/apps/details?id=com.futuremark.dmandroid.application, 2019.
33