Abstract
The paper proposes a novel heuristic technique for integrated hardware-software partitioning, hardware design space exploration and scheduling. The technique maps an application specified as a task graph on a heterogeneous architecture with an objective to minimize the latency of the task graph subject to the area constraint on the hardware coprocessor. The technique uses an iterative approach where the partitioner decides the processor mapping and HW design points of some tasks. The scheduler then simultaneously decides the processor mapping, HW design point and schedule time of the remaining tasks. There exists a tight coupling between the two design stages allowing them to produce superior quality designs in fewer iterations. The technique accounts for the time overheads due to inter-processor /intra-processor communication and shared memory access conflicts. It can therefore be used for both communication intensive and computation intensive applications. The technique also considers dynamic reconfiguration capability of the hardware coprocessor. The technique performs tradeoff analysis and maps hardware tasks to mutually exclusive temporal segments if this results in lower latency. The effectiveness of the technique is demonstrated by a case study of the JPEG image compression algorithm, comparison with an optimal ILP based approach and experimentation with synthetic graphs.
Similar content being viewed by others
References
Bakshi, S., and Gajski, D. D. 1997. A scheduling and pipelining algorithm for hardware/software systems. Proceedings of 10th International Symposium on System Synthesis Antwerp, Belgium.
Chatha, K. S., and Vemuri, R. 1998. Partitioning and pipelined scheduling of mixed HW-SW systems. Proceeding of 11th International Symposium on System Synthesis Hsinchu, Taiwan.
Dick, R. P., and Jha, N. K. 1998. MOGAC: a multiobjective genetic algorithm for hardware-software cosynthesis of distributed embedded systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 17(10).
Dave, B. P., Lakshminarayana, G., and Jha, N. K. 1999. COSYN: hardware-software cosynthesis of heterogeneous distributed embedded systems. IEEE Transactions on VLSI Systems 7(1).
Ernst, R., Henkel, J., and Benner, T. 1994. Hardware-software cosynthesis for microcontrollers. IEEE Design and Test of Computers pp. 64–75.
Gupta, R., and Micheli, G.D. 1993. Hardware-software cosynthesis for digital systems. IEEE Design and Test of Computers 10(3): 29–41.
Gokhale, M., and Marks, A. 1995. Automatic synthesis of parallel programs targeted to dynamically reconfigurable logic arrays. Proceedings of 5th International Workshop on Field-Programmable Logic and Applications Springer-Verlag. August/September.
Hartenstein, R. W., Becker, J., and Kress, R. 1996. Two-level partitioning of image processing algorithms for the parallel map-oriented machine. Proceedings of 4th International Workshop on Hardware/Software Codesign Pittsburgh, PA. March.
Kwok, Yu-K., and Ahmad, I. 1996. Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Transactions on Parallel and Distributed Systems 7(5): 506–521.
Kalavade, A., and Lee, E.A. 1997. The extended partitioning problem: hardware/software mapping, scheduling and implementation-bin selection. Journal of Design Automation for Embedded Systems 2(2): 125–163.
Knudsen, P. V., and Madsen, J. 1996. PACE: a dynamic programming algorithm for hardware/software partitioning. Proceedings of Fourth International Workshop on Hardware/Software Codesign Pittsburgh, PA, March.
Kaul, M., Vemuri, R., Govindarajan, S., and Ouaiss, I. 1999. An automated temporal partitioning and loop fission approach for FPGA based reconfigurable synthesis of DSP applications. Proceedings of IEEE/ACM Design Automation Conference (DAC'99) New Orleans, June.
Maestre, R., Kurdahi, F. J., Bagerzadeh, N., Singh, H., Hermida, R., and Fernandez, M. 1999. Kernel scheduling in reconfigurable computing. Proceedings of Design, Automation and Test in Europe Conference Munich, Germany, March.
Niemann, R., and Marwedel, P. 1996. Hardware/software partitioning using integer programming. Proceedings of ED & TC.
Vasilko, M., and Ait-Boudaoud, D. 1995. Scheduling for dynamically reconfigurable FPGAs. Proceedings of International Workshop on Logic and Architecture Synthesis. IFIP TC10 WG10.5, Grenoble, France, December.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Chatha, K.S., Vemuri, R. An Iterative Algorithm for Hardware-Software Partitioning, Hardware Design Space Exploration and Scheduling. Design Automation for Embedded Systems 5, 281–293 (2000). https://doi.org/10.1023/A:1008954218909
Issue Date:
DOI: https://doi.org/10.1023/A:1008954218909