Algorithmic aspects of hardware/software partitioning

被引:92
作者
Arató, P [1 ]
Mann, ZA [1 ]
Orbán, A [1 ]
机构
[1] Budapest Univ Technol & Econ, Dept Control Engn & Informat Technol, H-1117 Budapest, Hungary
关键词
algorithms; design; hardware/software partitioning; hardware/software codesign; graph bipartitioning; graph algorithms; optimization;
D O I
10.1145/1044111.1044119
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
One of the most crucial steps in the design of embedded systems is hardware/software partitioning, is, deciding which components of the system should be implemented in hardware and which ones in software. Most formulations of the hardware/software partitioning problem are MP-hard, so the majority-of research efforts on hardware/software partitioning has focused on developing efficient heuristics. This article considers the combinatorial structure behind hardware/software partitioning. Two similar versions of the partitioning problem are defined, one of which turns out to be NP-hard, whereas the other one can be solved in polynomial time. This helps in understanding the real cause of complexity in hardware/software partitioning. Moreover, the polynomial-time algorithm serves as the basis for a highly efficient novel heuristic for the NP-hard version of the problem. Unlike general-purpose heuristics such as genetic algorithms or simulated annealing, this heuristic makes use of problem-specific knowledge, and can thus find high-quality solutions rapidly. Moreover, it has the unique characteristic that it also calculates lower bounds on the optimum solution. It is demonstrated on several benchmarks and also large random examples that the new algorithm clearly outperforms other heuristics that are generally applied to hardware/software partitioning.
引用
收藏
页码:136 / 156
页数:21
相关论文
共 44 条