Skip to main content
Log in

The resource-constrained modulo scheduling problem: an experimental study

  • Published:
Computational Optimization and Applications Aims and scope Submit manuscript

Abstract

In this paper, we focus on the resource-constrained modulo scheduling problem (RCMSP), a general periodic scheduling problem, abstracted from the problem solved by compilers when optimizing inner loops at instruction level for VLIW parallel processors. Heuristic solving scheme have been proposed since many years to solve this problem, among which the decomposed software pipeling method. In this method, a cyclic scheduling problem ignoring resource constraints is first considered and a so-called legal retiming of the operations is issued. Second, a standard acyclic problem, taking this retiming as input, is solved through list scheduling techniques. In this paper, we propose a novel hybrid approach, which uses the decomposed software pipeling method to obtain a good retiming. Then the obtained retiming is used to build an integer linear programming formulation of reduced size, which allows to solve it exactly. Experimental results show that a lot more problems are solved with this new approach. The gap to the optimal solution is less than 1 % on most of the tested problem instances and the method appears to be competitive with a recently proposed constraint programming algorithm (Bonfietti et al., Lect. Notes Comput. Sci. 6876:130–144, 2011).

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Algorithm 1
Algorithm 2

Similar content being viewed by others

Notes

  1. The resources are: Issue for the instruction issue width, MEM for the memory access unit, and CTL for the control unit. An artificial resource ALIGN is also introduced to satisfy some encoding constraints.

  2. There are in our example, 10 classes of operations. ALU, MUL, MEM, and CTL correspond respectively to the arithmetic, multiply, memory, and control operations. The classes ALUX, MULX, and MEMX represent the operations that require an extended immediate operand. LDH, MULL, ADD, CMPNE, and BRF belong respectively to classes MEM, MUL, ALU, ALU and CTL.

References

  1. Ayala, M., Artigues, C.: On integer linear programming formulations for the resource-constrained modulo scheduling problem. Technical Report 10393, LAAS-CNRS, Toulouse, France (2010)

  2. Allan, V.H., Jones, R.B., Lee, R.M., Allan, S.J.: Software pipelining. ACM Comput. Surv. 27(3), 367–432 (1995)

    Article  Google Scholar 

  3. Blachot, F., Dupont de Dinechin, B., Huard, G.: A heuristic for near-optimal software pipelining. In: Euro-Par 2006 Parallel Processing. Lecture Notes in Computer Science (2006)

    Google Scholar 

  4. Brucker, P., Drexl, A., Mohring, R., Neumann, K., Pesch, E.: Resource-constrained project scheduling: Notation, classification, models, and methods. Eur. J. Oper. Res. 112(1), 3–41 (1999)

    Article  MATH  Google Scholar 

  5. Benabid, A., Hanen, C.: Decomposed software pipelining for cyclic unitary RCPSP with precedence delays. In: MISTA 09: Proceedings of the 4th Multidisciplinary International Scheduling Conference (2009)

    Google Scholar 

  6. Benabid, A., Hanen, C.: Modulo scheduling for unitary resource constrained cyclic problems. In: ROADEF (2009)

    Google Scholar 

  7. Benabid, A., Hanen, C.: Minimizing lateness for precedence graphs with constant delays on dedicated pipelined processors. In: ISCO: International Symposium on Combinatorial Optimization (2010)

    Google Scholar 

  8. Bonfietti, A., Lombardi, M., Benini, L., Milano, M.: A constraint based approach to cyclic rcpsp. In: Lee, J. (ed.) 17th International Conference on Principles and Practice of Constraint Programming, CP 2011. Lecture Notes in Computer Science, vol. 6876, pp. 130–144. Springer, Berlin (2011)

    Chapter  Google Scholar 

  9. Christofides, N., Alvarez-Valdés, R., Tamarit, J.: Project scheduling with resource constraints: a branch and bound approach. Eur. J. Oper. Res. 29, 262–273 (1987)

    Article  MATH  Google Scholar 

  10. Calland, P.-Y., Darte, A., Robert, Y.: Circuit retiming applied to decomposed software pipelining. IEEE Trans. Parallel Distrib. Syst. 9(1), 24–35 (1998)

    Article  Google Scholar 

  11. Calland, P.-Y., Darte, A., Robert, Y.: Circuit retiming applied to decomposed software pipelining. IEEE Trans. Parallel Distrib. Syst. 9(1), 24–35 (1998)

    Article  Google Scholar 

  12. Chaudhuri, S., Walker, R.A., Mitchell, J.E.: Analyzing and exploiting the structure of the constraints in the ILP approach to the scheduling problem. IEEE Trans. Very Large Scale Integr. Syst. 2, 456–471 (1994)

    Article  Google Scholar 

  13. Dupont de Dinechin, B., Artigues, C., Azem, S.: Resource-constrained modulo scheduling. In: Artigues, C., Demassey, S., Néron, E. (eds.) Resource Constrained Project Scheduling: Models, Algorithms, Extensions and Applications, Control Systems, Robotics and Manufacturing Series, pp. 267–277. ISTE, New York (2008). ISBN 978-1-84821-034-9

    Google Scholar 

  14. Dupont de Dinechin, B.: From machine scheduling to vliw instruction scheduling. ST J. Res. 1, 2 (2004)

    Google Scholar 

  15. Darte, A., Huard, G.: Loop shifting for loop compaction. In: Lecture Notes in Computer Science, vol. 1863, pp. 415–431 (2000)

    Google Scholar 

  16. Darte, A., Huard, G.: Loop shifting for loop compaction. Int. J. Parallel Program. 28(5), 499–534 (2000)

    Article  Google Scholar 

  17. Eichenberger, A., Davidson, E.S.: Efficient formulation for optimal modulo schedulers. In: SIGPLAN, PLDI’97 (1997)

    Google Scholar 

  18. Eichenberger, A., Davidson, E.S., Abraham, S.G.: Minimum register requirements for a modulo schedule. In: 27th Annual International Symposium on Microarchitecture (1994)

    Google Scholar 

  19. Faraboschi, P., Brown, G., Fisher, J.A., Desoli, G., Homewood, F.: Lx: a technology platform for customizable VLIW embedded processing. In: 27th Annual International Symposium on Computer Architecture, pp. 203–213 (2000)

    Google Scholar 

  20. Gondran, M., Minoux, M.: Graphes et algorithmes. Eyrolles, Paris (1985)

    Google Scholar 

  21. Gasperoni, F., Schwiegelshohn, U.: Generating close to optimum loop schedules on parallel processors. Parallel Process. Lett. 4, 391–403 (1994)

    Article  MathSciNet  Google Scholar 

  22. Hanen, C., Munier, A.: Cyclic scheduling on parallel processors: an overview. In: Chrétienne, P., Coffman, E.G., Lenstra, J.K., Liu, Z. (eds.) Scheduling Theory and Its Applications. Wiley, New York (1994)

    Google Scholar 

  23. Leiserson, C.E., Saxe, J.B.: Retiming synchronous circuitry. NASA STI/Recon Technical Report No. 89:17797 (1988)

  24. Pritsker, A., Watters, L., Wolfe, P.: Multi-project scheduling with limited resources: a zero-one programming approach. Manag. Sci. 16, 93–108 (1969)

    Article  Google Scholar 

  25. Ramakrishna Rau, B.: Dynamically scheduled VLIW processors. In: MICRO 26: Proceedings of the 26th Annual International Symposium on Microarchitecture, pp. 80–92. IEEE Computer Society Press, Los Alamitos (1993)

    Google Scholar 

  26. Ramakrishna Rau, B.: Iterative modulo scheduling: an algorithm for software pipelining loops. In: MICRO 27: Proceedings of the 27th Annual International Symposium on Microarchitecture, pp. 63–74. ACM, New York (1994)

    Google Scholar 

  27. Rajagopalan, S., Sharad, M.: Resource-Constrained Project Scheduling: Models, Algorithms, Extensions and Applications. CRC Press, Boca Raton (2002)

    Google Scholar 

  28. Sankaran, J., Bricker, D., Juang, S.: A strong fractional cutting-plane algorithm for resource-constrained project scheduling. Int. J. Ind. Eng. 6(2), 99–111 (1999)

    Google Scholar 

  29. Smelyanskiy, M., Mahlke, S., Davidson, E.S.: Probabilistic predicate-aware modulo scheduling. In: International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization (2004)

    Google Scholar 

  30. Šůcha, P., Hanzàlek, Z.: A cyclic scheduling problem with an undetermined number of parallel identical processors. Comput. Optim. Appl. 48(1), 71–90 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  31. Zinder, Y., Roper, D.: An iterative algorithm for scheduling unit-time operations with precedence constraints to minimise the maximum lateness. Ann. Oper. Res. 81, 321–340 (1998)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

The authors wish to warmly thank Benoit Dupont de Dinechin for making the ST200 instances available and for his helpful advice on modulo scheduling. This work was partially supported by the GdR RO (Operations Research) of the CNRS.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christian Artigues.

Appendix 1: Experimental result tables

Appendix 1: Experimental result tables

Table 13 Optimal integer solutions for the industrial instances
Table 14 Optimal integer solutions or lower bounds for the modified instances (random resource demands)
Table 15 Periods given by DSP algorithms
Table 16 Periods given by the hybrid approach for industrial instances
Table 17 Periods given by the hybrid approach for modified instances

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ayala, M., Benabid, A., Artigues, C. et al. The resource-constrained modulo scheduling problem: an experimental study. Comput Optim Appl 54, 645–673 (2013). https://doi.org/10.1007/s10589-012-9499-2

Download citation

  • Received:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10589-012-9499-2

Keywords

Navigation