Stochastic Allocation and Scheduling for Conditional Task Graphs in MPSoCs

  • Michele Lombardi
  • Michela Milano
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4204)


This paper describes a complete and efficient solution to the stochastic allocation and scheduling for Multi-Processor System-on-Chip (MPSoC). Given a conditional task graph characterizing a target application and a target architecture with alternative memory and computation resources, we compute an allocation and schedule minimizing the expected value of communication cost, being the communication resources one of the major bottlenecks in modern MPSoCs. Our approach is based on the Logic Based Benders decomposition where the stochastic allocation is solved through an Integer Programming solver, while the scheduling problem with conditional activities is faced with Constraint Programming. The two solvers interact through no-goods. The original contributions of the approach appear both in the allocation and in the scheduling part. For the first, we propose an exact analytic formulation of the stochastic objective function based on the task graph analysis, while for the scheduling part we extend the timetable constraint for conditional activities. Experimental results show the effectiveness of the approach.


Schedule Problem Master Problem Task Graph Conditional Activity Sequence Matrix 
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.
    Wu, D., Al-Hashimi, B., Eles, P.: Scheduling and mapping of conditional task graph for the synthesis of low power embedded systems. Computers and Digital Techniques, IEE Proceedings 150(5), 262–273 (2003)CrossRefGoogle Scholar
  2. 2.
    Eles, P.P.P., Peng, Z.: Bus access optimization for distributed embedded systems based on schedulability analysis. In: International Conference on Design and Automation in Europe, DATE 2000. IEEE Computer Society Press, Los Alamitos (2000)Google Scholar
  3. 3.
    Shin, D., Kim, J.: Power-aware scheduling of conditional task graphs in real-time multiprocessor systems. In: International Symposium on Low Power Electronics and Design (ISLPED). ACM, New York (2003)Google Scholar
  4. 4.
    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, New York (2004)CrossRefGoogle Scholar
  5. 5.
    Benini, L., Bertozzi, D., Guerri, A., Milano, M.: Allocation and scheduling for MPSOCs via decomposition and no-good generation. In: Proc. of the Intl. Conference in Principles and Practice of Constraint Programming (2005)Google Scholar
  6. 6.
    Hooker, J.N., Ottosson, G.: Logic-based benders decomposition. Mathematical Programming 96, 33–60 (2003)MATHMathSciNetGoogle Scholar
  7. 7.
    Baptiste, P., Pape, C.L., Nuijten, W.: Constraint-Based Scheduling. Kluwer Academic Publishers, Dordrecht (2003)Google Scholar
  8. 8.
    Vilim, P., Bartak, R., Cepek, O.: Extension of o(n.log n) filtering algorithms for the unary resource constraint to optional activities. Constraints 10, 403–425 (2005)MATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    Laborie, P.: Algorithms for propagating resource constraints in ai planning and scheduling: Existing approaches and new results. Journal of Artificial Intelligence 143, 151–188 (2003)MATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Kuchcinski, K.: Constraints-driven scheduling and resource assignment. ACM Transactions on Design Automation of Electronic Systems 8 (2003)Google Scholar
  11. 11.
    Ahmed, S., Shapiro, A.: The sample average approximation method for stochastic programs with integer recourse. In: Optimization on line (2002)Google Scholar
  12. 12.
    Laporte, G., Louveaux, F.V.: The integer l-shaped method for stochastic integer programs with complete recourse. Operations Research Letters 13 (1993)Google Scholar
  13. 13.
    Benders, J.F.: Partitioning procedures for solving mixed-variables programming problems. Numerische Mathematik 4, 238–252 (1962)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Norkin, V.I., Pflug, G., Ruszczynski, A.: A branch and bound method for stochastic global optimization. Mathematical Programming 83 (1998)Google Scholar
  15. 15.
    Walsh, T.: Stochastic constraint programming. In: Proc. of the European Conference on Artificial Intelligence, ECAI (2002)Google Scholar
  16. 16.
    Tarim, A., Manandhar, S., Walsh, T.: Stochastic constraint programming: A scenario-based approach. Constraints 11, 53–80 (2006)MATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Culler, D.A., Singh, J.P.: Parallel Computer Architecture: A Hardware/Software Approach. Morgan Kaufmann, San Francisco (1999)Google Scholar
  18. 18.
    Compton, K., Hauck, S.: Reconfigurable computing: A survey of systems and software. ACM Computing Surveys 34, 171–210 (1999)CrossRefGoogle Scholar
  19. 19.
    Gomes, C.P., Selman, B., McAloon, K., Tretkoff, C.: Randomization in backtrack search: Exploiting heavy-tailed profiles for solving hard scheduling problems. In: AIPS, pp. 208–213 (1998)Google Scholar
  20. 20.
    Faraboschi, P., Fisher, J.A., Young, C.: Instruction scheduling for instruction level parallel processors. Proceedings of the IEEE 89(11), 1638–1659 (2001)CrossRefGoogle Scholar
  21. 21.
    Lombardi, M., Milano, M.: Stochastic Allocation and Scheduling for Conditional Task Graphs in MPSoCs. Technical Report 77 LIA-003-06 (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Michele Lombardi
    • 1
  • Michela Milano
    • 1
  1. 1.DEISUniversity of BolognaBolognaItaly

Personalised recommendations