Skip to main content
Log in

Stochastic allocation and scheduling for conditional task graphs in multi-processor systems-on-chip

  • Published:
Journal of Scheduling Aims and scope Submit manuscript

Abstract

Embedded systems designers are turning to multicore architectures to satisfy the ever-growing computational needs of applications within a reasonable power envelope. One of the most daunting challenges for MultiProcessor System-on-Chip (MPSoC) platforms is the development of tools for efficient mapping multi-task applications onto hardware platforms. Software mapping can be formulated as an optimal allocation and scheduling problem, where the application is modeled as a task graph, the target hardware is modeled as a set of heterogeneous resources, and the objective function represents a design goal α (e.g. minimum execution time, minimum usage of communication resources, etc.). Conditional task graphs, where inter-task edges represent data as well as control dependencies, are a well-known computational model to describe complex real-life applications where alternative execution paths, guarded by conditionals, can be specified. Each condition has a probability associated with each possible outcome.

Mapping conditional task graphs is significantly more challenging than mapping pure data-flow graphs (where edges only represent data dependencies). Approaches based on general-purpose complete solvers (e.g. Integer Linear Programming solvers) are limited both by computational blowup and by the fact that the objective is a stochastic functional. The main contribution of our work is an efficient and complete approach to allocation and scheduling of conditional task graphs, based on (i) an exact analytic formulation of the stochastic objective function exploiting task graph analysis and (ii) an extension of the timetable constraint for conditional activities. Moreover, our solver is integrated in a complete application development environment which produces executable code for target multicore platforms. This integrated framework allows us to validate modeling assumptions and to assess constraint satisfaction and objective function optimization. Extensive validation results demonstrate not only that our approach can handle non-trivial instances efficiently, but also that our models are accurate and lead to optimal and highly predictable execution.

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

  • AMD (Advanced Micro Devices). http://multicore.amd.com/us-en/AMD-Multi-Core.aspx.

  • ARM Semiconductor, ARM11 MPCore Multiprocessor. Available at http://arm.convergencepromotions.com/catalog/753.htm.

  • Axelsson, J. (1997). Architecture synthesis and partitioning of real-time systems: A comparison of three heuristic search strategies. In Proceedings of the international conference hardware/software codesign and system synthesis, CODES’97 (p. 161).

  • Baptiste, P., Le Pape, C., & Nuijten, W. (2003). Constraint-based scheduling. Dordrecht: Kluwer Academic.

    Google Scholar 

  • Bender, A. (1996). MILP based task mapping for heterogeneous multiprocessor systems. In Proceedings of the European design and automation conference, EURO-DAC’96–EURO-VHDL’96 (p. 197).

  • Benders, J. (1962). Partitioning procedures for solving mixed-variables programming problems. Numerische Mathematik, 4, 238–252.

    Article  Google Scholar 

  • Benini, L., Bertozzi, D., Guerri, A., & Milano, M. (2005). Allocation and scheduling for MPSoCs via decomposition and no-good generation. In Proceedings of the international conference on principles and practice of constraint programming, CP2005 (pp. 107–121).

  • Benini, L., Bertozzi, D., Guerri, A., & Milano, M. (2006). Allocation, scheduling and voltage scaling on energy aware MPSoCs. In Proceedings of international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems, CPAIOR 2006 (pp. 44–58).

  • Benini, L., Lombardi, M., Milano, M., & Ruggiero, M. (2008a). A constraint programming approach for allocation and scheduling on the cell broadband engine. In Proceedings of the international conference on principles and practice of constraint programming, CP 2008 (pp. 21–35).

  • Benini, L., Lombardi, M., Mantovani, M., Milano, M., & Ruggiero, M. (2008b). Multi-stage benders decomposition for optimizing multicore architectures. In Proceedings of international conference on integration of AI and OR techniques in constraint programming for combinatorial optimization problems, CPAIOR 2008 (pp. 36–50).

  • Borkar, S. (1999). Design challenges of technology scaling. IEEE Micro, 19(4), 23–29.

    Article  Google Scholar 

  • Borkar, S. (2007). Thousand core chips: a technology perspective. In DAC’07: Proceedings of the 44th annual conference on design automation (pp. 746–749).

  • Brodersen, R. W., Horowitz, M. A., Markovic, D., Nikolic, B., & Stojanovic, V. (2002). Methods for true power minimization. In Proceedings of the 2002 IEEE/ACM international conference on computer-aided design, ICCAD’02 (pp. 35–42).

  • Brunnbauer, W., Wild, T., Foag, J., & Pazos, N. (2003). A constructive algorithm with look-ahead for mapping and scheduling of task graphs with conditional edges. In Proceedings of the euromicro conference on digital system design, DSD 2003 (pp. 98–103).

  • Chatha, K. S., & Vemuri, R. (2002). Hardware-software partitioning and pipelined scheduling of transformative applications. IEEE Transactions on Very Large Scale Integrated Systems, 10(3), 193–208.

    Article  Google Scholar 

  • CISCO Systems, http://www.cisco.com/en/US/products/ps5763/.

  • Cradle Technologies, The multi-core DSP advantage for multimedia. Available at http://www.cradle.com/.

  • Dolif, E., Lombardi, M., Ruggiero, M., Milano, M., & Benini, L. (2007). Communication-aware stochastic allocation and scheduling framework for conditional task graphs in multi-processor systems-on-chip. In Proceedings of the international conference on embedded software, EMSOFT’07 (p. 56).

  • Eles, P., Kuchcinski, K., Peng, Z., Doboli, A., & Pop, P. (1998). Scheduling of conditional process graphs for the synthesis of embedded systems. In Proceedings of the conference on design, automation and test in Europe, DATE’98 (pp. 15–29).

  • Eremin, A., & Wallace, M. (2001). Hybrid benders decomposition algorithms in constraint logic programming. In Proceedings of the international conference on principles and practice of constraint programming, CP 2001 (pp. 1–15).

  • Faraboschi, P., Fisher, J., & Young, C. (2001). Instruction scheduling for instruction level parallel processors. Proceedings of the IEEE, 89(11), 1638–1659.

    Article  Google Scholar 

  • Francesco, P., Antonio, P., & Marchal, P. (2005). Flexible hardware/software support for message passing on a distributed shared memory architecture. In Proceedings of the conference on Design, automation and test in Europe, DATE’05 (pp. 736–741).

  • Gomes, C., Selman, B., McAloon, K., & Tretkoff, C. (1998). Randomization in backtrack search: Exploiting heavy-tailed profiles for solving hard scheduling problems. In Proceedings of the international conference on AI planning and scheduling, AIPS 98 (pp. 208–213).

  • Goodacre, J., & Sloss, A. N. (2005). Parallelism and the ARM instruction set architecture. Journal Computer, 38(7), 42–50.

    Article  Google Scholar 

  • Graham, J. R. (2007). Integrating parallel programming techniques into traditional computer science curricula. ACM SIGCSE Bullettin, 39(4), 75–78.

    Article  Google Scholar 

  • Hooker, J. N. (2005a). A hybrid method for planning and scheduling. Constraints, 10(4), 385–401.

    Article  Google Scholar 

  • Hooker, J. N. (2005b). Planning and scheduling to minimize tardiness. In Proceedings of the international conference on principles and practice of constraint programming, CP2005 (pp. 314–327).

  • Hooker, J. N., & Ottosson, G. (2003). Logic-based Benders decomposition. Mathematical Programming, 96(1), 33–60.

    Google Scholar 

  • Horowitz, M. (2007). Scaling, power and the future of CMOS. In Proceedings of the 20th international conference on VLSI design, VLSID’07 (p. 7).

  • Horowitz, M. et al. (2001). The future of wires. Proceedings of the IEEE, 89, 490–504.

    Article  Google Scholar 

  • Intel Corporation (2002). Intel IXP2800 network processor product brief. Available at http://download.intel.com/design/network/ProdBrf/27905403.pdf.

  • Jain, V., & Grossmann, I. E. (2001). Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS Journal on Computing, 13(4), 258–276.

    Article  Google Scholar 

  • Kodase, S., Wang, S., Gu, Z., & Shin, K. G. (2003). Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers. In Proceedings of the IEEE real-time and embedded technology and applications symposium, RTAS 03 (p. 181).

  • Kuchcinski, K. (1997). Embedded system synthesis by timing constraint solving. In Proceedings of IEEE ISSS’97 (pp. 50–57).

  • Kuchcinski, K. (2003). Constraints-driven scheduling and resource assignment. ACM Transactions on Design Automation of Electronic Systems, 8(3), 355–383.

    Article  Google Scholar 

  • Kuchcinski, K., & Wolinski, C. (2003). Global approach to assignment and scheduling of complex behaviors based on HCDG and constraint programming. Journal of Systems Architecture, 49(12–15), 489–503.

    Article  Google Scholar 

  • Laborie, P. (2003). Algorithms for propagating resource constraints in AI planning and scheduling: Existing approaches and new results. Artificial Intelligence, 143(2), 151–188.

    Article  Google Scholar 

  • Laborie, P. (2005). Complete MCS-based search: application to resource constrained project scheduling. Proceedings of the International Joint Conferences on Artificial Intelligence, IJCAI 2005, 19, 181.

    Google Scholar 

  • Laporte, G., & Louveaux, F. (1993). The integer l-shaped method for stochastic integer programs with complete recourse. Operations Research Letters, 13, 133–142.

    Article  Google Scholar 

  • Le Pape, C., Vergamini, D., & Gosselin, V. (1994). Time-versus-capacity compromises in project scheduling. In Proceedings of the thirteenth workshop of the UK planning special interest group (p. 19).

  • Lombardi, M., & Milano, M. (2006). Stochastic allocation and scheduling for conditional task graphs in MPSoCs. In Proceedings of the international conference on principles and practice of constraint programming, CP2006 (pp. 299–313).

  • Martin, G. (2006). Overview of the MPSoC design challenge. In Proceedings of the 43rd annual conference on design automation, DAC’06 (pp. 274–279).

  • Medardoni, S., Ruggiero, M., Bertozzi, D., Benini, L., Strano, G., & Pistritto, C. (2007). Interactive presentation: capturing the interaction of the communication, memory and I/O subsystems in memory-centric industrial MPSoC platforms. In Proceedings of the conference on design, automation and test in Europe, DATE’07 (p. 665).

  • Mudge, T. (2001). Power: A first-class architectural design constraint. Computer, 34(4), 52–58.

    Article  Google Scholar 

  • NEC, http://www.nec.co.jp/techrep/en/journal/g06/n03/060311.html.

  • Palazzari, P., Baldini, L., & Coli, M. (2004). Synthesis of pipelined systems for the contemporaneous execution of periodic and aperiodic tasks with hard real-time constraints. In Proceedings of the IEEE international parallel & distributed processing symposium.

  • Pham, D. et al. (2005). The design and implementation of a first-generation CELL processor. In Proceedings of the international solid state circuits conference, ISSCC’05 (pp. 45–49).

  • Prakash, S., & Parker, A. C. (1992). Sos: synthesis of application-specific heterogeneous multiprocessor systems. Journal of Parallel and Distributed Computing, 16(4), 338–351.

    Article  Google Scholar 

  • Ruggiero, M., Guerri, A., Bertozzi, D., Poletti, F., & Milano, M. (2006). Communication-aware allocation and scheduling framework for stream-oriented multi-processor systems-on-chip. In Proceedings of the conference on design, automation and test in Europe, DATE’06 (p. 8).

  • Shin, D., & Kim, J. (2003). Power-aware scheduling of conditional task graphs in real-time multiprocessor systems. In Proceedings of the international symposium on low power electronics and design, ISLPED 2003 (pp. 408–413).

  • ST Microelectronics, http://www.st.com/stonline/products/families/mobile/processors/processorsprod.htm.

  • Szymanek, R., & Kuchcinski, K. (2001). A constructive algorithm for memory-aware task assignment and scheduling. In Proceedings of the international conference on hardware-software codesign and system synthesis, CODES’01 (p. 152).

  • Thorsteinsson, E. S. (2001). Branch-and-check: A hybrid framework integrating mixed integer programming and constraint logic programming. In Proceedings of the international conference on principles and practice of constraint programming, CP’01 (pp. 16–30).

  • Wu, D., Al-Hashimi, B., & Eles, P. (2003). Scheduling and mapping of conditional task graph for the synthesis of low power embedded systems. Computers and Digital Techniques, IEEE Proceedings, 150(5), 262–273.

    Article  Google Scholar 

  • Xie, Y., & Wolf, W. (2001). Allocation and scheduling of conditional task graph in hardware/software co-synthesis. In Proceedings of the conference on design, automation and test in Europe, DATE 2001 (pp. 620–625).

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michele Lombardi.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lombardi, M., Milano, M., Ruggiero, M. et al. Stochastic allocation and scheduling for conditional task graphs in multi-processor systems-on-chip. J Sched 13, 315–345 (2010). https://doi.org/10.1007/s10951-010-0184-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10951-010-0184-y

Keywords

Navigation