Skip to main content
Log in

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

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Ahuja RK, Orlin JB, Magnanti TL (1993) Network Flows. Prentice Hall, New York. ISBN:978-0-136-17549-X

    MATH  Google Scholar 

  • 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. http://hal.archives-ouvertes.fr/inria-00436348

  • Cormen T, Leiserson CE, Rivest R (1990) Introduction to algorithms. MIT Press/McGraw-Hill, Cambridge/New York

    MATH  Google Scholar 

  • Crawley MJ (2007) The R book. Wiley, New York. ISBN-13: 978-0-470-51024-7

    Book  MATH  Google Scholar 

  • 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 

  • 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

    Article  MathSciNet  MATH  Google Scholar 

  • 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 

  • 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 

  • Fimmel D, Muller J (2001) Optimal software pipelining under resource constraints. Int J Found Comput Sci (IJFCS) 12(6):697–718

    Article  MathSciNet  Google Scholar 

  • Goldberg AV (1992) An efficient implementation of a scaling minimum-cost flow algorithm. J Algorithms 22:1–29

    Article  Google Scholar 

  • Goldberg AV, Tarjan RE (1990) Finding minimum-cost circulations by successive approximation. Math Oper Res 15(3):430–466

    Article  MathSciNet  MATH  Google Scholar 

  • Hanen C, Munier A (1995) A study of the cyclic scheduling problem on parallel processors. Discrete Appl Math 57(2–3):167–192

    Article  MathSciNet  MATH  Google Scholar 

  • Jain R (1991) The art of computer systems performance analysis: techniques for experimental design, measurement, simulation, and modeling. Wiley, New York

    MATH  Google Scholar 

  • Janssen J (2001) Compilers strategies for transport triggered architectures. PhD thesis, Delft University, Netherlands

  • Kuhn HW (1955) The Hungarian method for the assignment problem. Nav Res Logist Q 2:83–97

    Article  Google Scholar 

  • 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 

  • 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 

  • 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

    Article  Google Scholar 

  • Schrijver A (1987) Theory of linear and integer programming. Wiley, New York

    Google Scholar 

  • Strout MM, Carter L, Ferrante J, Simon B (1998) Schedule-independent storage mapping for loops. ACM SIGPLAN Not 33(11):24–33

    Article  Google Scholar 

  • Thies W, Vivien F, Sheldon J, Amarasinghe S (2001) A unified framework for schedule and storage optimization. ACM SIGPLAN Not 36(5):232–242

    Article  Google Scholar 

  • Touati S-A-A (2002) Register pressure in instruction level parallelisme. PhD thesis, Université de Versailles, France. ftp.inria.fr/INRIA/Projects/a3/touati/thesis

  • Touati S-A-A (2007) On the periodic register need in software pipelining. IEEE Trans Comput 56(11)

  • Touati S-A-A, Eisenbeis C (2004) Early periodic register allocation on ILP processors. Parallel Process Lett 14(2):287–313

    Article  MathSciNet  Google Scholar 

  • Touati S-A-A, Mathe Z (2009) Periodic register saturation in innermost loops. Parallel Comput 3:239–254

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Sid-Ahmed-Ali Touati.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Deschinkel, K., Touati, SAA. & Briais, S. SIRALINA: efficient two-steps heuristic for storage optimisation in single period task scheduling. J Comb Optim 22, 819–844 (2011). https://doi.org/10.1007/s10878-010-9332-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-010-9332-8

Keywords

Navigation