Skip to main content

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

  • Conference paper
High Performance Embedded Architectures and Compilers (HiPEAC 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ilog inc., ilog cplex 8.1 reference manual, http://www.ilog.com/products/cplex

  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. Austin, T., Larson, E., Ernst, D.: Simplescalar: An infrastructure for computer system modeling. IEEE Computer 35(2) (2002)

    Google Scholar 

  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. 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. 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. Chatha, K.S., Vemuri, R.: Hardware-software partitioning and piplined scheduling of transformative applications. IEEE Transactions on VLSI 10(3) (2002)

    Google Scholar 

  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. Dominguez, A., Udayakumaran, S., Barua, R.: Heap data allocation to scratch-pad memory in embedded systems. Journal of Embedded Computing (2005)

    Google Scholar 

  10. Kandemir, M., Dutt, N.: Memory systems and compiler support for mpsoc architectures. Multiprocessor Systems-on-Chips (2005)

    Google Scholar 

  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. 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. 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. De Micheli, G., Ernst, R., Wolf, W.: Readings in hardware/software co-design. Morgan Kaufmann, San Francisco (2002)

    Google Scholar 

  15. Neimann, R., Marwedel, P.: Hardware/software partitioning using integer programming. In: Design Automation and Test in Europe (DATE) (1996)

    Google Scholar 

  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. Panda, P., Dutt, N., Nicolau, A.: Memory issues in embedded systems-on-chip: optimization and exploration. Kluwer Academics Publisher, Dordrecht (1999)

    Book  Google Scholar 

  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. 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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Salamy, H., Ramanujam, J. (2009). A Framework for Task Scheduling and Memory Partitioning for Multi-Processor System-on-Chip. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2009. Lecture Notes in Computer Science, vol 5409. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92990-1_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-92990-1_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-92989-5

  • Online ISBN: 978-3-540-92990-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics