Fast Multi-Dimension Multi-Choice Knapsack Heuristic for MP-SoC Run-Time Management

Since the application complexity is growing and applications can be dynamically activated, the major challenge for heterogeneous multi-processor platforms is to select at run time an energy-efficient mapping of these applications. Taking into account that many different possible implementations per application can be available, and that the selection must meet the application deadlines under the available platform resources, this optimization problem can be modeled as a Multi-dimension Multi-choice Knapsack Problem (MMKP), being NP-hard. Not only algorithms for exact solution, but also state-of-the-art heuristics for real-time systems, are still too slow for run-time management of multi-procesor platforms. This paper provides a new greedy heuristic for finding near-optimal solutions of the MMKP, being fast enough for the considered environment. The main contribution of this heuristic is: (1) the derivation of the Pareto sets from the initial MMKP to reduce the search space, (2) the sorting of all Pareto points together in a single two-dimension search space, where (3) a fast greedy algorithm solves the MMKP. Experiments show that our heuristic finds solutions close to the ones obtained by the fastest state-of-the-art heuristics (within 0% to 0.4% of the solution value), in just a fraction of the execution time (more than 97.5% gain on a StrongARM processor) and can run in less than lms for multi-processor problem sizes

[1]  Francky Catthoor,et al.  Pareto-optimization-based run-time task scheduling for embedded systems , 2003, First IEEE/ACM/IFIP International Conference on Hardware/ Software Codesign and Systems Synthesis (IEEE Cat. No.03TH8721).

[2]  Thomas Bäck,et al.  The zero/one multiple knapsack problem and genetic algorithms , 1994, SAC '94.

[3]  Kin F. Li,et al.  Solving the Knapsack Problem for Adaptive Multimedia Systems , 2002, Stud. Inform. Univ..

[4]  Nikitas J. Dimopoulos,et al.  A new heuristic for solving the multichoice multidimensional knapsack problem , 2005, IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans.

[5]  Carl Staelin,et al.  lmbench: Portable Tools for Performance Analysis , 1996, USENIX Annual Technical Conference.

[6]  Stefan Voß,et al.  Dynamic tabu list management using the reverse elimination method , 1993, Ann. Oper. Res..

[7]  Liesbet Van der Perre,et al.  Optimal fixed and scalable energy management for wireless networks , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[8]  Daniel Mossé,et al.  Power-optimized scheduling server for real-time tasks , 2002, Proceedings. Eighth IEEE Real-Time and Embedded Technology and Applications Symposium.

[9]  Ronald D. Armstrong,et al.  A computational study of a multiple-choice knapsack algorithm , 1983, TOMS.

[10]  Chantal Ykman-Couvreur,et al.  Pareto-Based Application Specification for MP-SoC Customized Run-Time Management , 2006, 2006 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[11]  H. Corporaal,et al.  Design-Time Application Exploration for MP-SoC Customized Run-Time Management , 2005, 2005 International Symposium on System-on-Chip.

[12]  M. Moser,et al.  An Algorithm for the Multidimensional Multiple-Choice Knapsack Problem , 1997 .

[13]  Andreas Drexl,et al.  A simulated annealing approach to the multiconstraint zero-one knapsack problem , 1988, Computing.

[14]  P. Kolesar A Branch and Bound Algorithm for the Knapsack Problem , 1967 .

[15]  Mohammad Sohel Rahman,et al.  Solving the Multidimensional Multiple-choice Knapsack Problem by constructing convex hulls , 2006, Comput. Oper. Res..