Algorithmic aspects of hardware/software partitioning
✍ Scribed by Arató, Péter; Mann, Zoltán Ádám; Orbán, András
- Book ID
- 111973592
- Publisher
- Association for Computing Machinery
- Year
- 2005
- Tongue
- English
- Weight
- 248 KB
- Volume
- 10
- Category
- Article
- ISSN
- 1084-4309
No coin nor oath required. For personal study only.
✦ Synopsis
One of the most crucial steps in the design of embedded systems is hardware/software partitioning, that 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 NP-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.
📜 SIMILAR VOLUMES