Allocation and Scheduling for MPSoCs via Decomposition and No-Good Generation

  • Luca Benini
  • Davide Bertozzi
  • Alessio Guerri
  • Michela Milano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3709)


This paper describes an efficient, complete approach for solving a complex allocation and scheduling problem for Multi-Processor System-on-Chip (MPSoC). Given a throughput constraint for a target application characterized as a task graph annotated with computation, communication and storage requirements, we compute an allocation and schedule which minimizes communication cost first, and then the makespan given the minimal communication cost. Our approach is based on problem decomposition where the allocation is solved through an Integer Programming solver, while the scheduling through a Constraint Programming solver. The two solvers are interleaved and their interaction regulated by no-good generation. Experimental results show speedups of orders of magnitude w.r.t. pure IP and CP solution strategies.


Schedule Problem Mixed Integer Linear Programming Constraint Programming Precedence Constraint Master Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Wolf, W.: The future of multiprocessor systems-on-chips. In: Procs. of the 41st Design and Automation Conference - DAC 2004, San Diego, CA, USA, pp. 681–685. ACM Press, New York (2004)CrossRefGoogle Scholar
  2. 2.
    Benders, J.F.: Partitioning procedures for solving mixed-variables programming problems. Numerische Mathematik 4, 238–252 (1962)CrossRefMathSciNetzbMATHGoogle Scholar
  3. 3.
    Hooker, J.N.: A hybrid method for planning and scheduling. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 305–316. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Grossmann, I.E., Jain, V.: Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS Journal on Computing 13, 258–276 (2001)CrossRefMathSciNetGoogle Scholar
  5. 5.
    Culler, D.A., Singh, J.P.: Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, San Francisco (1999)Google Scholar
  6. 6.
    Compton, K., Hauck, S.: Reconfigurable computing: A survey of systems and software. ACM Computing Surveys 34, 171–210 (1999)CrossRefGoogle Scholar
  7. 7.
    Hooker, J.N.: Planning and scheduling by logic-based benders decomposition. Technical report (2004),
  8. 8.
    Prakash, S., Parker, A.: Sos: Synthesis of application-specific heterogeneous multiprocessor systems. Journal of Parallel and Distributed Computing 16, 338–351 (1992)CrossRefzbMATHGoogle Scholar
  9. 9.
    Lee, C., Potkonjak, M., Wolf, W.: System-level synthesis of application-specific systems using A* search and generalized force-directed heuristics, San Diego, California, pp. 2–7 (1996)Google Scholar
  10. 10.
    Bender, A.: Milp based task mapping for heterogeneous multiprocessor systems. In: EURO-DAC 1996/EURO-VHDL 1996: Procs. of the conference on European design automation, Geneva, Switzerland, pp. 190–197. IEEE, Los Alamitos (1996)CrossRefGoogle Scholar
  11. 11.
    Li, Y., Wolf, W.H.: Hardware/software co-synthesis with memory hierarchies 18, 1405–1417 (1999)Google Scholar
  12. 12.
    Meftali, S., Gharsalli, F., Jerraya, A.A., Rousseau, F.: An optimal memory allocation for application-specific multiprocessor system-on-chip. In: Proceedings of the 14th international symposium on Systems synthesis - ISSS 2001, pp. 19–24. ACM Press, New York (2001)CrossRefGoogle Scholar
  13. 13.
    De Micheli, G.: Synthesis and optimization of digital circuits. McGraw-Hill, New York (1994)Google Scholar
  14. 14.
    Chatha, K.S., Vemuri, R.: Hardware-software partitioning and pipelined scheduling of transformative applications 10, 193–208 (2002)Google Scholar
  15. 15.
    Fohler, G., Ramamritham, K.: Static scheduling of pipelined periodic tasks in distributed real-time systems. In: Procs. of the 9th EUROMICRO Workshop on Real-Time Systems - EUROMICRO-RTS 1997, Toledo, Spain, pp. 128–135. IEEE, Los Alamitos (1997)CrossRefGoogle Scholar
  16. 16.
    Palazzari, P., Baldini, L., Coli, M.: Synthesis of pipelined systems for the contemporaneous execution of periodic and aperiodic tasks with hard real-time constraints. In: 18th International Parallel and Distributed Processing Symposium - IPDPS 2004, pp. 121–128 (2004)Google Scholar
  17. 17.
    Bakshi, S., Gajski, D.D.: A scheduling and pipelining algorithm for hardware/software systems. In: Proceedings of the 10th international symposium on System synthesis - ISSS 1997, Washington, DC, USA, pp. 113–118. IEEE Computer Society, Los Alamitos (1997)CrossRefGoogle Scholar
  18. 18.
    Axelsson, J.: Architecture synthesis and partitioning of real-time synthesis: a comparison of 3 heuristic search strategies. In: Procs. of the 5th Intern. Workshop on Hardware/Software Codesign (CODES/CASHE 1997), Braunschweig, Germany, pp. 161–166. IEEE, Los Alamitos (1997)CrossRefGoogle Scholar
  19. 19.
    Eles, P., Peng, Z., Kuchcinski, K., Doboli, A.: System level hardware/software partitioning based on simulated annealing and tabu search. Design Automation for Embedded Systems 2, 5–32 (1997)CrossRefGoogle Scholar
  20. 20.
    Kodase, S., Wang, S., Gu, Z., Shin, K.: Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers. In: Procs. of the 9th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2003), Toronto, Canada, pp. 181–188. IEEE, Los Alamitos (2003)CrossRefGoogle Scholar
  21. 21.
    Eles, P., Peng, Z., Kuchcinski, K., Doboli, A., Pop, P.: Scheduling of conditional process graphs for the synthesis of embedded systems, Paris, France, pp. 132–139 (1998)Google Scholar
  22. 22.
    Kuchcinski, K., Szymanek, R.: A constructive algorithm for memory-aware task assignment and scheduling. In: Procs of the Ninth International Symposium on Hardware/Software Codesign - CODES 2001, Copenhagen, Denmark, pp. 147–152. ACM Press, New York (2001)Google Scholar
  23. 23.
    Kuchcinski, K.: Embedded system synthesis by timing constraint solving. IEEE Transactions on CAD 13, 537–551 (1994)Google Scholar
  24. 24.
    Milano, M.: Constraint and Integer Programming: toward a unified methodolody. Kluwer Academic Publishers, Dordrecht (2004)Google Scholar
  25. 25.
    Hooker, J.N., Yan, H.: Logic circuit verification by benders decomposition. In: Principles and Practice of Constraint Programming: The Newport Papers, Cambridge, MA, pp. 267–288. MIT Press, Cambridge (1995)Google Scholar
  26. 26.
    Eremin, A., Wallace, M.: Hybrid benders decomposition algorithms in constraint logic programming. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, pp. 1–15. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  27. 27.
    Cambazard, H., Déplanche, A.M., Hladik, P.E., Jussien, N., Trinquet, Y.: Decomposition and learning for a hard real time task allocation problem. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 153–167. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  28. 28.
    Thorsteinsson, E.S.: A hybrid framework integrating mixed integer programming and constraint programming, Paphos, Cyprus, pp. 16–30 (2001)Google Scholar
  29. 29.
    Hooker, J.N., Ottosson, G.: Logic-based benders decomposition. Mathematical Programming 96, 33–60 (2003)MathSciNetzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Luca Benini
    • 1
  • Davide Bertozzi
    • 2
  • Alessio Guerri
    • 1
  • Michela Milano
    • 1
  1. 1.DEISUniversity of BolognaBolognaItaly
  2. 2.Dipartimento di IngegneriaUniversity of FerraraFerraraItaly

Personalised recommendations