|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Ravindra K. Ahuja , Thomas L. Magnanti , James B. Orlin, Network flows: theory, algorithms, and applications, Prentice-Hall, Inc., Upper Saddle River, NJ, 1993
|
| |
3
|
Arató, P., Juhász, S., Mann, Z. Á., Orbán, A., and Papp, D. 2003a. Hardware/software partitioning in embedded system design. In Proceedings of the IEEE International Symposium on Intelligent Signal Processing.
|
| |
4
|
Arató, P., Mann, Z. Á., and Orbán, A. 2003b. Hardware-software co-design for Kohonen's self-organizing map. In Proceedings of the IEEE 7th International Conference on Intelligent Engineering Systems.
|
| |
5
|
Barros, E., Rosenstiel, W., and Xiong, X. 1993. Hardware/software partitioning with UNITY. In Proceedings of the 2nd International Workshop on Hardware-Software Codesign.
|
 |
6
|
Nguyen Ngoc Bình , Masaharu Imai , Akichika Shiomi , Nobuyuki Hikichi, A hardware/software partitioning algorithm for designing pipelined ASIPs with least gate counts, Proceedings of the 33rd annual conference on Design automation, p.527-532, June 03-07, 1996, Las Vegas, Nevada, United States
[doi> 10.1145/240518.240618]
|
 |
7
|
|
| |
8
|
Cherkassky, B. V. and Goldberg, A. V. 1997. On implementing push-relabel method for the maximum flow problem. Algorithmica 19, 4, 390--410.
|
| |
9
|
Dasdan, A. and Aykanat, C. 1997. Two novel multiway circuit partitioning algorithms using relaxed locking. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 16, 2 (Feb.), 169--177.
|
| |
10
|
Dick, R. P. and Jha, N. K. 1998. MOGAC: A multiobjective genetic algorithm for hardware-software co-synthesis of hierarchical heterogeneous distributed embedded systems. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 17, 10, 920--935.
|
| |
11
|
|
| |
12
|
Eles, P., Peng, Z., Kuchcinski, K., and Doboli, A. 1997. System level hardware/software partitioning based on simulated annealing and tabu search. Des. Automat. Embedd. Syst. 2, 1 (Jan.), 5--32.
|
| |
13
|
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
J. Grode , P. V. Knudsen , J. Madsen, Hardware resource allocation for hardware/software partitioning in the LYCOS system, Proceedings of the conference on Design, automation and test in Europe, p.22-27, February 23-26, 1998, Le Palais des Congrés de Paris, France
|
| |
18
|
|
| |
19
|
Guthaus, M. R., Ringenberg, J. S., Ernst, D., Austin, T. M., Mudge, T., and Brown, R. B. 1997. MiBench: A free, commercially representative embedded benchmark suite. In Proceedings of the IEEE 4th Annual Workshop on Workload Characterization.
|
| |
20
|
|
| |
21
|
|
| |
22
|
Kalavade, A. and Lee, E. A. 1997. The extended partitioning problem: Hardware/Software mapping, scheduling and implementation-bin selection. Des. Automat. Embedd. Syst. 2, 2, 125--164.
|
| |
23
|
Kalavade, A. and Subrahmanyam, P. A. 1998. Hardware/software partitioning for multifunction systems. IEEE Trans. Comput.-Aid. Des. Integr. Circ. Syst. 17, 9 (Sept.), 819--837.
|
| |
24
|
Kernighan, B. W. and Lin, S. 1970. An efficient heuristic procedure for partitioning graphs. Bell Syst. Techn. J. 49, 2, 291--307.
|
 |
25
|
M. L. López-Vallejo , J. Grajal , J. C. López, Constraint-driven system partitioning, Proceedings of the conference on Design, automation and test in Europe, p.411-416, March 27-30, 2000, Paris, France
[doi> 10.1145/343647.343811]
|
| |
26
|
M. L. López , C. A. Iglesias , J. C. López, A knowledge-based system for hardware-software partitioning, Proceedings of the conference on Design, automation and test in Europe, p.914-915, February 23-26, 1998, Le Palais des Congrés de Paris, France
|
 |
27
|
|
| |
28
|
Madsen, J., Grode, J., Knudsen, P. V., Petersen, M. E., and Haxthausen, A. 1997. LYCOS: The Lyngby co-synthesis system. Des. Automat. Embedd. Syst. 2, 2, 195--236.
|
| |
29
|
Mann, Z. Á. and Orbán, A. 2003. Optimization problems in system-level synthesis. In Proceedings of the 3rd Hungarian-Japanese Symposium on Discrete Mathematics and Its Applications.
|
| |
30
|
Mei, B., Schaumont, P., and Vernalde, S. 2000. A hardware/software partitioning and scheduling algorithm for dynamically reconfigurable embedded systems. In Proceedings of ProRISC.
|
| |
31
|
|
| |
32
|
Niemann, R. and Marwedel, P. 1997. An algorithm for hardware/software partitioning using mixed integer linear programming. Des. Automat. Embedd. Syst. Special Issue: Partitioning Methods for Embedded Systems 2, 165--193.
|
| |
33
|
O'Nils, M., Jantsch, A., Hemani, A., and Tenhunen, H. 1995. Interactive hardware-software partitioning and memory allocation based on data transfer profiling. In Proceedings of the International Conference on Recent Advances in Mechatronics.
|
| |
34
|
Qin, S. and He, J. 2000. An algebraic approach to hardware/software partitioning. Tech. rep. 206, UNU/IIST.
|
| |
35
|
|
| |
36
|
|
| |
37
|
V. Srinivasan , S. Radhakrishnan , R. Vemuri, Hardware/software partitioning with integrated hardware design space exploration, Proceedings of the conference on Design, automation and test in Europe, p.28-35, February 23-26, 1998, Le Palais des Congrés de Paris, France
|
 |
38
|
|
| |
39
|
Stone, H. 1977. Multiprocessor scheduling with the aid of network flow algorithms. IEEE Trans. Softw. Eng. 3, 1 (Jan.), 85--93.
|
| |
40
|
|
 |
41
|
|
 |
42
|
|
| |
43
|
Vahid, F. and Le, T. D. 1997. Extending the Kernighan/Lin heuristic for hardware and software functional partitioning. Des. Automat. Embedd. Syst. 2, 237--261.
|
| |
44
|
|
|