Journal of Combinatorial Optimization

, Volume 22, Issue 4, pp 819–844 | Cite as

SIRALINA: efficient two-steps heuristic for storage optimisation in single period task scheduling

  • Karine Deschinkel
  • Sid-Ahmed-Ali TouatiEmail author
  • Sébastien Briais


In this paper, we study the general problem of one-dimensional periodic task scheduling under storage requirement, irrespective of machine constraints. We have already presented in (Touati and Eisenbeis, Parallel Process. Lett. 14(2):287–313, 2004) a theoretical framework that allows an optimal optimisation of periodic storage requirement in a cyclic schedule. Since our optimisation problem is NP-hard (Touati, PhD thesis, 2002), solving an exact integer linear programming formulation is too expensive in practice. In this article, we propose an efficient two-steps heuristic using model’s properties that allows fast computation times while providing highly satisfactory results. This method includes the solution of an integer linear program with a totally unimodular constraints matrix in first step, then the solution of a linear assignment problem. Our heuristic is implemented for an industrial compiler for embedded VLIW processors.


Cyclic scheduling Storage requirement Repetitive tasks 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Ahuja RK, Orlin JB, Magnanti TL (1993) Network Flows. Prentice Hall, New York. ISBN:978-0-136-17549-X zbMATHGoogle Scholar
  2. Briais S, Touati S-A-A (2009) Schedule-sensitive register pressure reduction in innermost loops, basic blocks and super-blocks. Technical report HAL-INRIA-00436348, University of Versailles Saint-Quentin en Yvelines. Research report.
  3. Cormen T, Leiserson CE, Rivest R (1990) Introduction to algorithms. MIT Press/McGraw-Hill, Cambridge/New York zbMATHGoogle Scholar
  4. Crawley MJ (2007) The R book. Wiley, New York. ISBN-13: 978-0-470-51024-7 zbMATHCrossRefGoogle Scholar
  5. de Dinechin BD (1996) Parametric computation of margins and of minimum cumulative register lifetime dates. In: Sehr DC, Banerjee U, Gelernter D, Nicolau A, Padua DA (eds) LCPC. Lecture notes in computer science, vol 1239. Springer, Berlin, pp 231–245 Google Scholar
  6. de Werra D, Eisenbeis C, Lelait S, Marmol B (1999) On a graph-theoretical model for cyclic register allocation. Discrete Appl Math 93(2–3):191–203 MathSciNetzbMATHCrossRefGoogle Scholar
  7. Deschinkel K, Touati S-A-A (2008) Efficient method for periodic task scheduling with storage requirement minimization. In: Proceedings of 2nd annual international conference on combinatorial optimization and applications (COCOA 2008). Springer, Berlin Google Scholar
  8. Eichenberger AE, Davidson ES, Abraham SG (1996) Minimizing register requirements of a modulo schedule via optimum stage scheduling. Int J Parallel Program 24(2):103–132 Google Scholar
  9. Fimmel D, Muller J (2001) Optimal software pipelining under resource constraints. Int J Found Comput Sci (IJFCS) 12(6):697–718 MathSciNetCrossRefGoogle Scholar
  10. Goldberg AV (1992) An efficient implementation of a scaling minimum-cost flow algorithm. J Algorithms 22:1–29 CrossRefGoogle Scholar
  11. Goldberg AV, Tarjan RE (1990) Finding minimum-cost circulations by successive approximation. Math Oper Res 15(3):430–466 MathSciNetzbMATHCrossRefGoogle Scholar
  12. Hanen C, Munier A (1995) A study of the cyclic scheduling problem on parallel processors. Discrete Appl Math 57(2–3):167–192 MathSciNetzbMATHCrossRefGoogle Scholar
  13. Jain R (1991) The art of computer systems performance analysis: techniques for experimental design, measurement, simulation, and modeling. Wiley, New York zbMATHGoogle Scholar
  14. Janssen J (2001) Compilers strategies for transport triggered architectures. PhD thesis, Delft University, Netherlands Google Scholar
  15. Kuhn HW (1955) The Hungarian method for the assignment problem. Nav Res Logist Q 2:83–97 CrossRefGoogle Scholar
  16. Lawler EL (1972) Optimal cycles on graphs and minimal cost-to-time ratio problem. In: Marzojlo A (ed) Periodic optimization, vol 1. Springer, Berlin, pp 38–58 Google Scholar
  17. Ning Q, Gao GR (1993) A novel framework of register allocation for software pipelining. In: Conference record of the twentieth ACM SIGPLAN-SIGACT symposium on principles of programming languages, Charleston, South Carolina. ACM, New York, pp 29–42 Google Scholar
  18. Rau BR, Lee M, Tirumalai PP, Schlansker MS (1992) Register allocation for software pipelined loops. SIGPLAN Not 27(7):283–299. Proceedings of the ACM SIGPLAN ’92 conference on programming language design and implementation CrossRefGoogle Scholar
  19. Schrijver A (1987) Theory of linear and integer programming. Wiley, New York Google Scholar
  20. Strout MM, Carter L, Ferrante J, Simon B (1998) Schedule-independent storage mapping for loops. ACM SIGPLAN Not 33(11):24–33 CrossRefGoogle Scholar
  21. Thies W, Vivien F, Sheldon J, Amarasinghe S (2001) A unified framework for schedule and storage optimization. ACM SIGPLAN Not 36(5):232–242 CrossRefGoogle Scholar
  22. Touati S-A-A (2002) Register pressure in instruction level parallelisme. PhD thesis, Université de Versailles, France.
  23. Touati S-A-A (2007) On the periodic register need in software pipelining. IEEE Trans Comput 56(11) Google Scholar
  24. Touati S-A-A, Eisenbeis C (2004) Early periodic register allocation on ILP processors. Parallel Process Lett 14(2):287–313 MathSciNetCrossRefGoogle Scholar
  25. Touati S-A-A, Mathe Z (2009) Periodic register saturation in innermost loops. Parallel Comput 3:239–254 CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2010

Authors and Affiliations

  • Karine Deschinkel
    • 1
  • Sid-Ahmed-Ali Touati
    • 1
    Email author
  • Sébastien Briais
    • 1
  1. 1.University of Versailles Saint-Quentin-en-YvelinesVersailles cedexFrance

Personalised recommendations