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.
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
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
Crawley MJ (2007) The R book. Wiley, New York. ISBN-13: 978-0-470-51024-7
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
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
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
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
Fimmel D, Muller J (2001) Optimal software pipelining under resource constraints. Int J Found Comput Sci (IJFCS) 12(6):697–718
Goldberg AV (1992) An efficient implementation of a scaling minimum-cost flow algorithm. J Algorithms 22:1–29
Goldberg AV, Tarjan RE (1990) Finding minimum-cost circulations by successive approximation. Math Oper Res 15(3):430–466
Hanen C, Munier A (1995) A study of the cyclic scheduling problem on parallel processors. Discrete Appl Math 57(2–3):167–192
Jain R (1991) The art of computer systems performance analysis: techniques for experimental design, measurement, simulation, and modeling. Wiley, New York
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
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
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
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
Schrijver A (1987) Theory of linear and integer programming. Wiley, New York
Strout MM, Carter L, Ferrante J, Simon B (1998) Schedule-independent storage mapping for loops. ACM SIGPLAN Not 33(11):24–33
Thies W, Vivien F, Sheldon J, Amarasinghe S (2001) A unified framework for schedule and storage optimization. ACM SIGPLAN Not 36(5):232–242
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
Touati S-A-A, Mathe Z (2009) Periodic register saturation in innermost loops. Parallel Comput 3:239–254
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10878-010-9332-8