Skip to main content
Log in

The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling, and Implementation-bin Selection

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

In system-level design, applications are represented as task graphs where tasks (called nodes) have moderate to large granularity and each node has several implementation options differing in area and execution time. We define the extended partitioning problem as the joint determination of the mapping (hardware or software), the implementation option (called implementation bin), as well as the schedule, for each node, so that the overall area allocated to nodes in hardware is minimum and a deadline constraint is met. This problem is considerably harder (and richer) than the traditional binary partitioning problem that determines just the best mapping and schedule. Both binary and extended partitioning problems are constrained optimization problems and are NP-hard.

We first present an efficient(O(N 2)) heuristic, called GCLP, to solve the binary partitioning problem. The heuristic reduces the greediness associated with traditional list-scheduling algorithms by formulating a global measure, called global criticality (GC). The GC measure also permits an adaptive selection of the optimization objective at each step of the algorithm; since the optimization problem is constrained by a deadline, either area or time is optimized at a given step based on the value of GC. The selected objective is used to determine the mapping of nodes that are “normal”, i.e. nodes that do not exhibit affinity for a particular mapping. To account for nodes that are not “normal”, we define “extremities” and “repellers”. Extremities consume disproportionate amounts of resources in hardware and software. Repellers are inherently unsuitable to either hardware or software based on certain structural properties. The mapping of extremities and repellers is determined jointly by GC and their local preference.

We then present an efficient ( O(N 3 + N 2 B), for N nodes and B bins per node) heuristic for extended partitioning, called MIBS, that alternately uses GCLP and an implementation-bin selection procedure. The implementation-bin selection procedure chooses, for a node with already determined mapping, an implementation bin that maximizes the area-reduction gradient of as-yet unmapped nodes. Solutions generated by both heuristics are shown to be reasonably close to optimal. Extended partitioning generates considerably smaller overall hardware as compared to binary partitioning.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. A. Kalavade. System-level codesign of mixed hardware-software systems, Ph.D. Dissertation, University of California, Berkeley, CA, 1995 (http://ptolemy.eecs.berkeley.edu/~kalavade).

    Google Scholar 

  2. M. Potkonjak and J. Rabaey. Optimizing resource utilization using transformations. IEEE Transactions of Computer-Aided Design of Integrated Circuits and Systems 13(3): 277–292, March 1994.

    Google Scholar 

  3. P. Hilfinger. A high-level language and silicon compiler for digital signal processing. In Proc. of IEEE 1985 Custom Integrated Circuits Conference, Portland, OR, pp. 213–216, May 20–23, 1985.

  4. J. M. Rabaey et al. Fast prototyping of datapath-intensive architectures. IEEE Design & Test, 40–51, June 1991.

  5. E. A. Lee and D. G. Messerschmitt. Sunchronous data flow. Proc. of the IEEE 75(9): 1235–1245, Sept. 1987.

    Google Scholar 

  6. R. Gupta and G. De Micheli. System-level synthesis using re-programmable components. In Proceedings of the European Conference on Design Automation, Brussels, Belgium, pp. 2–7. Feb. 1992.

  7. R. Ernst and J. Henkel. Hardware/software codesign of embedded controllers based on hardware extraction. In Handouts of the 1st Intl. Workshop on Hardware/Software Codesign, Estes Park, Colorado, Sept. 1992.

  8. E. Baros and W. Rosential. A method for hardware/software partitioning. In Proc. of COMPUERO'92, IEEE Intl. Conference on Computer and Software Engineering, The Hague, The Netherlands, pp. 580–585, May 4–8, 1992.

  9. J. G. D'Ambrosio and X. Hu. Configuration-level hardware/software partitioning for real-time embedded systems. In Proc. of Third Intl. Workshop on Hardware/Software Codesign, Grenoble, France, pp. 34–41, Sept. 1994.

  10. D. E. Thomas et al. A model and methodology for hardware/software codesign. IEEE Design & Test, Sept. 1993.

  11. G. Sih and E. A. Lee. A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Transactions on Parallel and Distributed Systems 4(2): 175–187, Feb. 1993.

    Google Scholar 

  12. T. Hamada et al. Macropipelining based heterogeneous multiprocessor scheduling. In Proc. of IEEE Intl. Conference on Acoustics, Speech and Signal Processing (ICASSP), Vol. 5, San Francisco, CA, pp. 597–600, March 23–26, 1992.

    Google Scholar 

  13. E. D. Lagnese and D. E. Thomas. Architectural partitioning for system-level synthesis of ICs. IEEE Transactions on Computer Aided Design 10(7): 847–860, July 1991.

    Google Scholar 

  14. M. C. McFarland and T. J. Kowalski. Incorporating bottom-up design into hardware synthesis. IEEE Transactions on Computer Aided Design 9(9): 938–950, Sept. 1990.

    Google Scholar 

  15. R. Camposano and R. K. Brayton. Partitioning before logic synthesis. In Proc. of the Intl. Conference on Computer Aided Design (ICCAD), pp. 324–326, 1987.

  16. P. G. Paulin and J. P. Knight. Force-directed scheduling for the behavioral synthesis of ASICS. IEEE Trans. on CAD 8(6): 661–679, June 1989.

    Google Scholar 

  17. R. K. Brayton et al. Multilevel logic synthesis. Proceedings of the IEEE 78(2): 264–300, Feb. 1990.

    Google Scholar 

  18. G. De Micheli. Synthesis and Optimization of Digital Circuits. McGraw-Hill, New York, 1994.

    Google Scholar 

  19. K. Chaudhary and M. Pedram. A near optimal algorithm for technology mapping minimizing area under delay constraints. In Proc. of 29th Design Automation Conference, Anaheim, CA, pp. 492–498, June 1992.

  20. M. Ishikawa and G. De Micheli. A module selection algorithm for high-level synthesis. In Proc. of 1991 IEEE International Symposium on Circuits and Systems, Vol. 3, Singapore, pp. 1777–1780, June 11–14, 1991.

    Google Scholar 

  21. T. C. Hu. Parallel sequencing and assembly line problems. Operations Research 9(6): 841–848, Nov. 1961.

    Google Scholar 

  22. J. Buck et al. Ptolemy: a framework for simulating and prototyping heterogeneous systems. International Journal of Computer Simulation 4, 155–182, Apr. 1994. Special issue on “Simulation Software Development.”

    Google Scholar 

  23. S. Ritz et al. High-level software synthesis for the design of communication systems. IEEE Journal on Selected Areas in Communications 11(3): 348–358, April 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kalavade, A., Lee, E.A. The Extended Partitioning Problem: Hardware/Software Mapping, Scheduling, and Implementation-bin Selection. Design Automation for Embedded Systems 2, 125–163 (1997). https://doi.org/10.1023/A:1008872518365

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008872518365

Keywords

Navigation