A Framework for Task Scheduling and Memory Partitioning for Multi-Processor System-on-Chip

  • Hassan Salamy
  • J. Ramanujam
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5409)

Abstract

The growing trend in current complex embedded systems is the use of multiprocessor system-on-chip (MPSoC). An MPSoC consists of multiple heterogeneous processing elements, a memory hierarchy, and input/output components which are linked together by an on-chip interconnect structure. Using such an architecture provides the flexibility to meet the performance requirements of multimedia applications while respecting the constraints on memory, cost, size, time and power. Such embedded systems employ software-managed memories known as scratch-pad memories (SPM). Scratchpad memories, unlike caches, are software-controlled and hence the execution time of applications on such systems can be accurately predicted and controlled. Scheduling the tasks of an application on the processors as well as partitioning the available SPM budget among those processors are two critical issues in reducing the overall computation time as well as the communication overhead. Traditionally, the step of task scheduling is applied separately from the memory partitioning step. Such a decoupled approach may miss better quality schedules. In this paper, we present an effective heuristic that integrates task allocation and SPM partitioning to further reduce the execution time of embedded applications. Results on several real life benchmarks show the significant improvement of our proposed technique compared to decoupled techniques as well as to an integer-linear programming approach.

Keywords

Task Schedule Task Graph Pipeline Stage Embed Application Pipeline Schedule 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ilog inc., ilog cplex 8.1 reference manual, http://www.ilog.com/products/cplex
  2. 2.
    Angiolini, F., Benini, L., Caprara, A.: Polynomial-time algorithm for on-chip scratchpad memory partitioning. In: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems(CASES) (2003)Google Scholar
  3. 3.
    Austin, T., Larson, E., Ernst, D.: Simplescalar: An infrastructure for computer system modeling. IEEE Computer 35(2) (2002)Google Scholar
  4. 4.
    Avissar, O., Barua, R., Stewart, D.: An optimal memory allocation scheme for scratch-pad-based embedded systems. ACM Transactions on Embedded Computing Systems 1(1) (2002)Google Scholar
  5. 5.
    Banakar, R., Steinke, S., Lee, B.S., Balakrishnan, M., Marwedel, P.: Scratchpad memory: design alternative for cache on-chip memory in embedded systems. In: International Conference on Hardware-Software Codesign (CODES) (2002)Google Scholar
  6. 6.
    Benini, L., Bertozzi, D., Guerri, A., Milano, M.: Allocation and scheduling for mpsoc via decomposition and no-good generation. In: International Joint conferences on Artificial Intelligence (IJCAI) (2005)Google Scholar
  7. 7.
    Chatha, K.S., Vemuri, R.: Hardware-software partitioning and piplined scheduling of transformative applications. IEEE Transactions on VLSI 10(3) (2002)Google Scholar
  8. 8.
    Cho, Y., Zergainoh, N.-E., Yoo, S., Jerraya, A., Choi, K.: Scheduling with accurate communication delay model and scheduler implementation for multiprocessor system-on-chip. Design Automation for Embedded Systems (2007)Google Scholar
  9. 9.
    Dominguez, A., Udayakumaran, S., Barua, R.: Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing (2005)Google Scholar
  10. 10.
    Kandemir, M., Dutt, N.: Memory systems and compiler support for mpsoc architectures. Multiprocessor Systems-on-Chips (2005)Google Scholar
  11. 11.
    Kandemir, M., Ramanujam, J., Choudhury, A.: Exploiting shared scratch pad memory space in embedded multiprocessor systems. In: Design Automation Conference (DAC) (2002)Google Scholar
  12. 12.
    Kwok, Y.-K., Ahmad, I.: Benchmarking and comparison of the task graph scheduling algorithms. Journal of Parallel and Distributed Computing 59(3) (1999)Google Scholar
  13. 13.
    Meftali, S., Gharsalli, F., Rousseau, F., Jerraya, A.: An optimal memory allocation for application-specific multiprocessor system-on-chip. In: International Symposium on Systems Synthesis (ISSS) (2001)Google Scholar
  14. 14.
    De Micheli, G., Ernst, R., Wolf, W.: Readings in hardware/software co-design. Morgan Kaufmann, San Francisco (2002)Google Scholar
  15. 15.
    Neimann, R., Marwedel, P.: Hardware/software partitioning using integer programming. In: Design Automation and Test in Europe (DATE) (1996)Google Scholar
  16. 16.
    Ozturk, O., Kandemir, M.: An integer linear programming based approach to simultaneous memory space partitioning and data allocation for chip multiprocessors. In: IEEE computer society Annual Symposium on VLSI (ISVLSI) (2006)Google Scholar
  17. 17.
    Panda, P., Dutt, N., Nicolau, A.: Memory issues in embedded systems-on-chip: optimization and exploration. Kluwer Academics Publisher, Dordrecht (1999)CrossRefGoogle Scholar
  18. 18.
    Panda, P., Dutt, N.D., Nicolau, A.: On chip vs off chip memory: the data partitioning problem in embedded processor-based systems. ACM Transactions on Design Automation of Electronic Systems (TODAES) 5(3) (2000)Google Scholar
  19. 19.
    Sjodin, J., Von Platen, C.: Storage allocation for embedded processors. In: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES) (2001)Google Scholar
  20. 20.
    Steinke, S., Wehmeyer, L., Lee, B.-S., Marwedel, P.: Assigning program and data objects to scratchpad for energy reduction. In: Design Automation and Test in Europe (DATE) (2002)Google Scholar
  21. 21.
    Suhendra, V., Raghavan, C., Mitra, T.: Integrated scratchpad memory optimization and task scheduling for mpsoc architecture. In: International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES) (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Hassan Salamy
    • 1
  • J. Ramanujam
    • 1
  1. 1.Department of Electrical and Computer Engineering and Center for Computation and TechnologyLouisiana State UniversityBaton RougeUSA

Personalised recommendations