A low cost, high performance dynamic-programming-based adaptive power allocation scheme for many-core architectures in the dark silicon era

Power consumption of many-core chips increases in such a rapid pace that it will soon exceed the chip's affordable power budget. As a result, design of a many-core chip has to address a significant performance challenge under a tight power budget constraint. This problem becomes more prevalent as more of the frequencies and/or voltages of on-chip resources in a many-core chip can be tuned, where heuristics based power allocation approaches often lead to poor performance. Another important problem is that the input power budget of a many-core chip might actually undergo a rapid change at run time. In this paper, the performance optimization problem is formally formulated, and an Optimal Power Allocation method using Dynamic programming (OPAD) is proposed to solve this problem. OPAD has a linear time complexity, and it is quite scalable to the problem size. Extensive experimental results have confirmed lower application execution time of OPAD than that of other competing power allocation methods, i.e., 20%~30% reduction in applications' execution time over three competing methods. The runtime and hardware overhead of OPAD are also shown to be very small, making it suitable for adaptive power allocation in future many-core systems.

[1]  Dimitri P. Bertsekas,et al.  Dynamic Programming and Optimal Control, Two Volume Set , 1995 .

[2]  Mahmut T. Kandemir,et al.  PEPON: Performance-aware hierarchical power budgeting for NoC based multicores , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[3]  Andrew B. Kahng,et al.  ORION 2.0: A fast and accurate NoC power and area model for early-stage design space exploration , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[4]  Sherief Reda,et al.  Adaptive Power Capping for Servers with Multithreaded Workloads , 2012, IEEE Micro.

[5]  Coniferous softwood GENERAL TERMS , 2003 .

[6]  Jian Li,et al.  Dynamic power-performance adaptation of parallel computation on chip multiprocessors , 2006, The Twelfth International Symposium on High-Performance Computer Architecture, 2006..

[7]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[8]  Wayne Luk,et al.  Adaptive Routing in Network-on-Chips Using a Dynamic-Programming Network , 2011, IEEE Transactions on Industrial Electronics.

[9]  Peng Liu,et al.  An intra-chip free-space optical interconnect , 2010, ISCA.

[10]  Gary Bradski,et al.  Dynamic programming for optimal control of setup scheduling with neural network modifications , 1992, [Proceedings 1992] IJCNN International Joint Conference on Neural Networks.

[11]  Xiaorui Wang,et al.  DPPC: Dynamic Power Partitioning and Control for Improved Chip Multiprocessor Performance , 2014, IEEE Transactions on Computers.

[12]  Yingtao Jiang,et al.  On self-tuning networks-on-chip for dynamic network-flow dominance adaptation , 2013, 2013 Seventh IEEE/ACM International Symposium on Networks-on-Chip (NoCS).

[13]  Radford M. Neal Pattern Recognition and Machine Learning , 2007, Technometrics.

[14]  Kai Li,et al.  The PARSEC benchmark suite: Characterization and architectural implications , 2008, 2008 International Conference on Parallel Architectures and Compilation Techniques (PACT).

[15]  Anoop Gupta,et al.  SPLASH: Stanford parallel applications for shared-memory , 1992, CARN.

[16]  Karthikeyan Sankaralingam,et al.  Dark Silicon and the End of Multicore Scaling , 2012, IEEE Micro.

[17]  Hiroshi Sasaki,et al.  Optimizing Power-performance Trade-off for Parallel Applications through Dynamic Core and Frequency Scaling , 2012 .

[18]  Kai Ma,et al.  PGCapping: Exploiting power gating for power capping and core lifetime balancing in CMPs , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).