Fast approximation for peak power driven voltage partitioning in almost linear time

  • Authors:
  • Jia Wang;Xiaodao Chen;Lin Liu;Shiyan Hu

  • Affiliations:
  • Michigan Technological University, Houghton, Michigan;Michigan Technological University, Houghton, Michigan;Michigan Technological University, Houghton, Michigan;Michigan Technological University, Houghton, Michigan

  • Venue:
  • Proceedings of the International Conference on Computer-Aided Design
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Voltage partitioning on functional units/blocks targeting peak power minimization has been demonstrated to be effective for energy reduction considering voltage island shutdown impact. However, the existing technique can only solve this NP-hard problem efficiently on small designs. In this paper, a much faster linear time approximation scheme is proposed, which can approximate the optimal voltage partitioning solution within a factor 1 + ε, for any 0 O(n + 1/εO(1)) time, where n is the number of functional units. There are multiple ingredients in such a surprisingly low time complexity algorithm. It first categorizes all the functional units into big functional units and small functional units using an ε related threshold. Subsequently, a rounding based dynamic programming procedure is performed to handle big functional units and a linear programming based algorithm is performed to handle small functional units, which is followed by the discretization of the continuous linear programming solution. Moreover, through the exploration of the unique nature of our problem, a greedy algorithm is proposed to optimally solve the linear programming formulation in a combinatorial fashion. Further, since patching a salient partitioning solution of big functional units with that of small functional units could lead to a much worse combined solution, a highly efficient enumeration process running in time independent of n is proposed. The experimental results demonstrate that our algorithm runs very fast. It needs only 0.3 second to partition a testcase with 5000 functional units which is more than 10000X faster than the existing algorithm while still reducing the peak power by 7.4%.