An Optimization Methodology for Memory Allocation and Task Scheduling in SoCs Via Linear Programming

  • Bastian Ristau
  • Gerhard Fettweis
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4017)


Applications for system on chips become more and more complex. Also the number of available components (DSPs, ASICs, Memories, etc.) rises continuously. These facts necessitate a structured method for selecting components, mapping applications and evaluating the chosen configuration and mapping. In this work we present a methodology for the last named. We will consider optimization of memory allocation and task scheduling as a packing problem and minimize needed memory area. The results can be used as one element of an automated performance analysis for a given system on a high abstraction level. This analysis is essential for establishing a framework that iterates over a large quantity of possible systems. Considering a part of the H.264 codec as an example we will illustrate the results. Furthermore we will show that results can be retrieved fast compared to other NP-hard problems due to intelligent formulation of conditions within the linear program.


Execution Time Memory Capacity Mixed Integer Linear Program Task Schedule Memory Allocation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Mihal, A., Kulkarni, C., Sauer, C., Vissers, K., Moskewicz, M., Tsai, M., Shah, N., Weber, S., Jin, Y., Keutzer, K., Malik, S.: Developing Architectural Platforms: A Disciplined Approach, vol. 19, pp. 6–16. IEEE Design and Test of Computers, Los Alamitos (2002)Google Scholar
  2. 2.
    Lee, E.A.: Overview of the ptolemy project. Technical memorandum UCB/ERL M03/25, University of California, Berkeley, CA, 94720, USA (2003)Google Scholar
  3. 3.
    Pimentel, A.D., Hertzberger, L.O., Lieverse, P., van der Wolf, P., Deprettere, E.F.: Exploring Embedded-Systems Architectures with Artemis. Computer 34, 57–63 (2001)CrossRefGoogle Scholar
  4. 4.
    Kienhuis, B., Deprettere, E., Vissers, K., van der Wolf, P.: An approach for quantitative analysis of application-specific dataflow architectures. In: ASAP 1997: Proceedings of the IEEE International Conference on Application-Specific Systems, Architectures and Processors, p. 338. IEEE Computer Society, Washington (1997)CrossRefGoogle Scholar
  5. 5.
    Niemann, R., Marwedel, P.: Hardware/software partitioning using integer programming. In: EDTC 1996: Proceedings of the 1996 European conference on Design and Test, p. 473. IEEE Computer Society, Washington (1996)CrossRefGoogle Scholar
  6. 6.
    Liu, C.L., Layland, J.W.: Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. J. ACM 20, 46–61 (1973)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Baruah, S.K., Gehrke, J.E., Plaxton, C.G.: Fast scheduling of periodic tasks on multiple resources. Technical Report CS-TR-95-02, University of Texas, Austin, USA (1995)Google Scholar
  8. 8.
    Jin, Y., Satish, N., Ravindran, K., Keutzer, K.: An automated exploration framework for fpga-based soft multiprocessor systems. In: CODES 2005: Proceedings of the 2005 International Conference on Hardware/Software Codesign and System Synthesis, pp. 273–278 (2005)Google Scholar
  9. 9.
    Verma, M., Wehmeyer, L., Marwedel, P.: Dynamic overlay of scratchpad memory for energy minimization. In: CODES+ISSS 2004: Proceedings of the 2nd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, pp. 104–109. ACM Press, New York (2004)CrossRefGoogle Scholar
  10. 10.
    Govindarajan, R., Gao, G., Desai, P.: Minimizing Memory Requirements in Rate-Optimal Schedules. In: ASAP 1994: Proceedings of the International Conference on Application Specific Array Processors, pp. 75–86 (1994); Proceedings of the International Conference on Volume Application Specific Array ProcessorsGoogle Scholar
  11. 11.
    Dick, R.P., Jha, N.K.: MOGAC: a multiobjective genetic algorithm for the co-synthesis of hardware-software embedded systems. In: ICCAD 1997: Proceedings of the 1997 IEEE/ACM international conference on Computer-aided design, pp. 522–529. IEEE Computer Society, Washington (1997)CrossRefGoogle Scholar
  12. 12.
    Bruckner, P.: Scheduling Algorithms, 4th edn. Springer, Heidelberg (2003)Google Scholar
  13. 13.
    Brucker, P., Drexl, A., Möhring, R., Neumann, K., Pesch, E.: Resource-constrained project scheduling: Notation, classification, models, and methods. European Journal of Operational Research 112, 3–41 (1999)MATHCrossRefGoogle Scholar
  14. 14.
    Belov, G., Chiglintsev, A., Filippova, A., Mukhacheva, E., Scheithauer, G., Shirgazin, R.: The two-dimensional strip packing problem: A numerical experiment with waste-free instances using algorithms with block structure. Preprint MATH-NM-01-2005 TU Dresden (2005)Google Scholar
  15. 15.
    Wiegand, T., Sullivan, G., Bjntegaard, G., Luthra, A.: Overview of the H.264/AVC video coding standard. IEEE Transactions on Circuits and Systems for Video Technology 13(7), 560–576 (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Bastian Ristau
    • 1
  • Gerhard Fettweis
    • 1
  1. 1.Vodafone Chair Mobile Communications SystemsTU DresdenDresdenGermany

Personalised recommendations