# CPU-GPU-Memory DVFS for Power-Efficient MPSoC in Mobile Cyber Physical Systems
## 3 Related Works  
Power-saving mechanisms within performance constraints utilizing DVFS capabilities on heterogeneous MPSoCs have been considered in many studies [4; 5; 6; 13; 14; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36]. Given the fact that power consumption in a heterogeneous MPSoC can be significantly affected by big CPUs, LITTLE CPUs, GPUs and memory, most of the published studies have proposed power-saving approaches utilizing DVFS of different aforementioned components of the MPSoC but have not considered performing DVFS on all these components to achieve more reduced power consumption while catering to performance constraints. In [5; 6; 24; 25; 28], different approaches to performing DVFS on CPUs to contribute to the reduction of power consumption were proposed. On the other hand, many studies [4; 13; 14; 25; 26; 30] have considered utilizing DVFS in CPU and GPU to achieve power efficiency in MPSoCs. In [28], [PERSON] et al. proposed an on-line power management algorithm based on DVFS in a single-chip cloud computer (SCC) platform with multiple cores, in which voltage and frequency could be scaled for each individual tiles. In [29], [PERSON] et al. examined a DVFS-based power optimisation mechanism in which a controller for fractal workloads with precise constraints on state and control variables and specific time bounds was utilised. In [6], [PERSON] et al. performed thread-to-core mapping and DVFS on the cores in relation to workloads that were classified based on a metric, memory reads per instruction (MRPI), and in our study we denoted this methodology as MRPI.In [7], [PERSON] et al. performed DVFS on cores based on the desired reward, which was chosen to be reduced power consumption on the device in our case, and we denoted this methodology as RewardProfiler. In [4], [PERSON] et al. proposed _Next_, which performs DVFS on CPU and GPU based on the user's interaction with the device using Q-Learning (reinforcement learning). In [25], [PERSON] et al. proposed an imitation-learning-based framework for dynamically controlling the big and LITTLE CPUs, CPU number and the frequencies of active cores in heterogeneous mobile processors. Additionally, there have been extensive studies [31; 32; 33], in which DVFS was performed on memory to improve power efficiency either in general-purpose computers or server systems. Only a handful of studies [34; 35; 36] have performed DVFS on CPU and memory together to benefit from combined power efficiency in a mobile platform. However, none of these studies attempted to combine the benefits of performing DVFS on CPUs, GPUs and memory in conjunction in a mobile MPSoC to improve power efficiency while catering for performance constraints and hence, this paper addresses this gap in the literature. \begin{table}
\begin{tabular}{l c c c c c} \hline \hline
**App** & **Pow. Max (W)** & **Pow. Save. Middle (\%)** & **Pow. Save. Min (\%)** & **Perf. Middle (\%)** & **Perf. Min (\%)** \\ \hline idle & 3.313 & 5.192 & 5.886 & - & - \\ wht. & 3.556 & 4.415 & 5.202 & \(-\)2.121 & \(-\)3.638 \\ blks. & 5.474 & 5.298 & 9.81 & \(-\)2.483 & \(-\)7.823 \\ x264 & 8.748 & 13.649 & 20.085 & \(-\)6.486 & \(-\)16.993 \\ ded. & 7.893 & 11.136 & 18.282 & \(-\)7.674 & \(-\)14.598 \\ cann. & 7.919 & 10.317 & 16.782 & \(-\)7.847 & \(-\)12.773 \\ fft & 7.41 & 4.575 & 14.008 & \(-\)2.939 & \(-\)15.834 \\ fsim. & 5.378 & 4.574 & 9.967 & \(-\)3.475 & \(-\)7.558 \\ strm. & 10.11 & 1.82 & **25.124** & \(-\)2.116 & \(-\)**16.883** \\ ytub. & 7.014 & 1.725 & 7.214 & - & - \\ rsa & 6.119 & 1.994 & 4.935 & \(-\)1.032 & \(-\)1.894 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Power consumption (Pow. max) of different benchmark applications (App) when executing the application on the maximum operating frequency of the memory. _Pow. save middle_ (%) and _Pow. save min_ (%) are the improvements in power savings when executing the application on the middle operating frequency and minimum operating frequency, respectively. _Perf. middle_ (%) and _Perf.