Abstract
Resource allocation and scheduling for multicore platforms is one of the most critical challenges in today’s embedded computing. In this paper we focus on a well-known multicore platform, namely the Cell BE processor, and we address the problem of allocating and scheduling its processors, communication channels and memories, with the goal of minimizing execution time for complex data streaming applications.
We propose three complete approaches that optimally solve the problem and prove optimality. The first is based on the recursive application of the Logic Based Benders decomposition, resulting in a three stage algorithm. The second is a pure CP approach while the third is a hybrid approach integrating the first two.
Extensive experimental evaluation shows the features of each approach and its effectiveness on a specific instance structure.
Similar content being viewed by others
References
Benders, J. F. (1962). Partitioning procedures for solving mixed-variables programming problems. Numerische Mathematik, 4(3), 238–252.
Benini, L., Bertozzi, D., Guerri, A., & Milano, M. (2005). Allocation and scheduling for MPSOCs via decomposition and no-good generation. In Proc. of the int.l conference in principles and practice of constraint programming (CP 2005).
Benini, L., Bertozzi, D., Guerri, A., & Milano, M. (2006). Allocation, scheduling and voltage scaling on energy aware MPSoCs. In Proc. of the int.l conference on integration of artificial intelligence and operations research techniques in constraint programming (CPAIOR 2006).
Benini, L., Lombardi, M., Mantovani, M., Milano, M., & Ruggiero, M. (2008a). Multi-stage Benders decomposition for optimizing multicore architectures. In Proceedings of the int.l conference on the integration of AI and OR techniques in CP for combinatorial optimization problems.
Benini, L., Lombardi, M., Milano, M., & Ruggiero, M. (2008b). A constraint programming approach for allocation and scheduling on the CELL broadband engine. In Proc. of the int.l conference in principles and practice of constraint programming (pp. 21–35).
Bockmayr, A., & Pisaruk, N. (2003). Detecting infeasibility and generating cuts for MIP using CP. In Int. workshop integration AI OR techniques constraint programming combin. optim. problems CP-AI-OR03, Montreal, Canada.
Cambazard, H., & Jussien, N. (2005). Integrating benders decomposition within constraint programming. In Proc. of the int.l conference in principles and practice of constraint programming (pp. 752–756). Berlin: Springer.
Caseau, Y., & Laburthe, F. (1996). Cumulative scheduling with task intervals. In Joint international conference on symposium on logic programming (pp. 363–377).
Chen, T., Raghavan, R., Dale, J., & Iwata, E. (2005). Cell broadband engine architecture and its first implementation. In IBM White paper.
de Siqueira, N. J. L., & Puget, J. F. (1988). Explanation-based generalisation of failures. In European conference on artificial intelligence (pp. 339–344).
Flachs, B. et al. (2005). A streaming processing unit for a cell processor. In Solid-state circuits conference. Digest of technical papers. ISSCC. 2005 IEEE International (pp. 134–135).
Gent, I. P., & Smith, B. M. (2000). Symmetry breaking in constraint programming. In Proceedings of the European conference on artificial intelligence ECAI (pp. 599–603).
Gomes, C. P., Selman, B., & Kautz, H. A. (1998). Boosting combinatorial search through randomization. In Proceedings of the fifteenth national conference on artificial intelligence and tenth innovative applications of artificial intelligence conference (pp. 431–437). Menlo Park, Cambridge: AAAI Press/The MIT Press.
Grossmann, I. E., & Jain, V. (2001). Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS Journal on Computing, 13, 258–276.
Guerri, A., Lombardi, M., & Milano, M. (2007). Challenging scheduling problem in the field of system design. In Proceedings of ICAPS 2007, first workshop on scheduling a scheduling competition.
Hofstee, H. (2005). Cell broadband engine architecture from 20,000 feet. In IBM White paper.
Hooker, J. N. (2004). A hybrid method for planning and scheduling. In Proc. of the 10th intern. conference on principles and practice of constraint programming—CP 2004, Toronto, Canada, Sept. 2004 (pp. 305–316). Berlin: Springer.
Hooker, J. N. (2005). Planning and scheduling to minimize tardiness. In Proc. of the 11th intern. conference on principles and practice of constraint programming—CP 2005, Sites, Spain, Sept. 2004 (pp. 314–327). Berlin: Springer.
Hooker, J. N., & Ottosson, G. (2003). Logic-based benders decomposition. Mathematical Programming, 96, 33–60.
Junker, U. (2004). QUICKXPLAIN: preferred explanations and relaxations for over-constrained problems. In Proc. of the nineteenth national conference on artificial intelligence—AAAI 2004, San Jose, California, USA, Jul. 2004 (pp. 167–172). Menlo Park, Cambridge: AAAI Press/The MIT Press.
Kapasi, J. U., Rixner, S., Dally, W. J., Khailany, B., Ho Ahn, J., Mattson, P., & Owens, J. D. (2003). Programmable stream processors. Computer, 36(8), 54–62.
Kistler, M., Perrone, M., & Petrini, F. (2006). Cell multiprocessor communication network: built for speed. IEEE Micro, 26(3), 10–23.
Laborie, P. (2003). Algorithms for propagating resource constraints in AI planning and scheduling: existing approaches and new results. Journal of Artificial Intelligence, 143, 151–188.
Laborie, P. (2005). Complete MCS-based search: application to resource constrained project scheduling. In International joint conferences on artificial intelligence (pp. 181–186).
Le Pape, C. (1994). Implementation of resource constraints in ILOG SCHEDULE: a library for the development of constraint-based scheduling systems. Intelligent Systems Engineering, 3(2), 55–66.
Pham, D., et al. (2005). The design and implementation of a first-generation cell processor. In IEEE international solid-state circuits conference ISSCC (Vol. 1, pp. 184–592).
Policella, N., Cesta, A., Oddi, A., & Smith, S. F. (2007). From precedence constraint posting to partial order schedules: a CSP approach to robust scheduling. Artificial Intelligence Communication (AICOM), 20(3), 163–180.
Sadykov, R., & Wolsey, L. A. (2006). Integer programming and constraint programming in solving a multimachine assignment scheduling problem with deadlines and release dates. INFORMS Journal on Computing, 18(2), 209–217.
Stephens, R. (1997). A survey of stream processing. Acta Informatica, 34, 491–541.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Benini, L., Lombardi, M., Milano, M. et al. Optimal resource allocation and scheduling for the CELL BE platform. Ann Oper Res 184, 51–77 (2011). https://doi.org/10.1007/s10479-010-0718-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10479-010-0718-x