A Framework for Learning Based DVFS Technique Selection and Frequency Scaling for Multi-core Real-Time Systems

Multi-core processors have become very popular in recent years due to the higher throughput and lower energy consumption compared with unicore processors. They are widely used in portable devices and real-time systems. Despite of enormous prospective, limited battery capacity restricts their potential and hence, improving the system level energy management is still a major research area. In order to reduce the energy consumption, dynamic voltage and frequency scaling (DVFS) has been commonly used in modern processors. Previously, we have used reinforcement learning to scale voltage and frequency based on the task execution characteristics. We have also designed learning based method to choose a suitable DVFS technique to execute at different states. In this paper, we propose a generalized framework which integrates these two approaches for real-time systems on multi-core processors. The framework is generalized in a sense that it can work with different scheduling policies and existing DVFS techniques.

[1]  Andrew G. Barto,et al.  Reinforcement learning , 1998 .

[2]  Peter Stone,et al.  Reinforcement learning , 2019, Scholarpedia.

[3]  Tajana Simunic,et al.  System-Level Power Management Using Online Learning , 2009, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[4]  Cécile Belleudy,et al.  Hybrid power management in real time embedded systems: an interplay of DVFS and DPM techniques , 2011, Real-Time Systems.

[5]  Gerhard Wellein,et al.  LIKWID: Lightweight Performance Tools , 2011, CHPC.

[6]  L Poole David,et al.  Artificial Intelligence: Foundations of Computational Agents , 2010 .

[7]  Rami G. Melhem,et al.  Power-aware scheduling for periodic real-time tasks , 2004, IEEE Transactions on Computers.

[8]  Gerhard Wellein,et al.  LIKWID: A Lightweight Performance-Oriented Tool Suite for x86 Multicore Environments , 2010, 2010 39th International Conference on Parallel Processing Workshops.

[9]  Kang G. Shin,et al.  Real-time dynamic voltage scaling for low-power embedded operating systems , 2001, SOSP.

[10]  Wan Yeon Lee,et al.  Energy-Saving DVFS Scheduling of Multiple Periodic Real-Time Tasks on Multi-core Processors , 2009, 2009 13th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications.

[11]  Frank Bellosa,et al.  Process cruise control: event-driven clock scaling for dynamic power management , 2002, CASES '02.

[12]  Man Lin,et al.  Learning Based Power Management for Periodic Real-Time Tasks , 2014, 2014 IEEE Intl Conf on High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS).

[13]  Joonwon Lee,et al.  Energy Efficient Scheduling of Real-Time Tasks on Multicore Processors , 2008, IEEE Transactions on Parallel and Distributed Systems.

[14]  Yao Guo,et al.  Energy-Aware Fixed-Priority Multi-core Scheduling for Real-Time Systems , 2011, 2011 IEEE 17th International Conference on Embedded and Real-Time Computing Systems and Applications.

[15]  Ranveer Chandra,et al.  Empowering developers to estimate app energy consumption , 2012, Mobicom '12.

[16]  Tsung-Yi Wu,et al.  High Performance and Low Leakage Design Using Cell Replacement and Hybrid V t Standard Cell Libraries , 2008 .

[17]  Ying Tan,et al.  Achieving autonomous power management using reinforcement learning , 2013, TODE.

[18]  Weisong Shi,et al.  pTop : A Process-level Power Profiling Tool , 2009 .

[19]  Alan K. Mackworth,et al.  Artificial Intelligence - Foundations of Computational Agents , 2010 .

[20]  Peter Norvig,et al.  Artificial Intelligence: A Modern Approach , 1995 .