Skip to main content

Integrated Modulo Scheduling for Clustered VLIW Architectures

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5409))

Abstract

We solve the problem of integrating modulo scheduling with instruction selection (including cluster assignment), instruction scheduling and register allocation, with optimal spill code generation and scheduling. Our method is based on integer linear programming. We prove that our algorithm delivers optimal results in finite time for a certain class of architectures. We believe that these results are interesting both from a theoretical point of view and as a reference point when devising heuristic methods.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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 

  2. Altman, E.R., Govindarajan, R., Gao, G.R.: Scheduling and mapping: Software pipelining in the presence of structural hazards. In: Proc. SIGPLAN 1995 Conf. on Programming Language Design and Implementation, pp. 139–150 (1995)

    Google Scholar 

  3. Charlesworth, A.E.: An approach to scientific array processing: The architectural design of the AP-120b/FPS-164 family. Computer 14(9), 18–27 (1981)

    Article  Google Scholar 

  4. Codina, J.M., Sánchez, J., González, A.: A unified modulo scheduling and register allocation technique for clustered processors. In: PACT 2001: Proc. 2001 Int. Conf. on Parallel Architectures and Compilation Techniques, pp. 175–184. IEEE Computer Society, Los Alamitos (2001)

    Chapter  Google Scholar 

  5. Cortadella, J., Badia, R.M., Sánchez, F.: A mathematical formulation of the loop pipelining problem. In: XI Conference on Design of Integrated Circuits and Systems, Barcelona, pp. 355–360 (1996)

    Google Scholar 

  6. Eriksson, M.V., Skoog, O., Kessler, C.W.: Optimal vs. heuristic integrated code generation for clustered VLIW architectures. In: SCOPES, pp. 11–20 (2008)

    Google Scholar 

  7. Gebotys, C.H., Elmasry, M.I.: Global optimization approach for architectural synthesis. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 12(9), 1266–1278 (1993)

    Article  Google Scholar 

  8. Huff, R.A.: Lifetime-sensitive modulo scheduling. In: Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 258–267 (1993)

    Google Scholar 

  9. Kessler, C., Bednarski, A., Eriksson, M.: Classification and generation of schedules for VLIW processors. Concurrency and Computation: Practice and Experience 19(18), 2369–2389 (2007)

    Article  Google Scholar 

  10. Lam, M.: Software pipelining: an effective scheduling technique for VLIW machines. SIGPLAN Not. 23(7), 318–328 (1988)

    Article  Google Scholar 

  11. Llosa, J., Gonzalez, A., Ayguade, E., Valero, M.: Swing modulo scheduling: a lifetime-sensitive approach. In: Proceedings of the Conference on Parallel Architectures and Compilation Techniques, pp. 80–86 (October 1996)

    Google Scholar 

  12. Nagarakatte, S.G., Govindarajan, R.: Register allocation and optimal spill code scheduling in software pipelined loops using 0-1 integer linear programming formulation. In: Krishnamurthi, S., Odersky, M. (eds.) CC 2007. LNCS, vol. 4420, pp. 126–140. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  13. Ning, Q., Gao, G.R.: A novel framework of register allocation for software pipelining. In: POPL 1993: Proceedings of the 20th ACM symp. on Principles of programming languages, pp. 29–42. ACM, New York (1993)

    Google Scholar 

  14. Pister, M., Kästner, D.: Generic software pipelining at the assembly level. In: SCOPES 2005: Proc. workshop on Software and compilers for embedded systems, pp. 50–61. ACM, New York (2005)

    Chapter  Google Scholar 

  15. Rau, B.R.: Iterative modulo scheduling: An algorithm for software pipelining loops. In: MICRO-27, pp. 63–74 (November 1994)

    Google Scholar 

  16. Rau, B.R., Glaeser, C.D.: Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. SIGMICRO Newsl. 12(4), 183–198 (1981)

    Article  Google Scholar 

  17. Stotzer, E., Leiss, E.: Modulo scheduling for the TMS320C6x VLIW DSP architecture. SIGPLAN Not. 34(7), 28–34 (1999)

    Article  Google Scholar 

  18. Texas Instruments Incorporated. TMS320C6000 CPU and Instruction Set Reference Guide (2000)

    Google Scholar 

  19. Touati, S.-A.-A.: On periodic register need in software pipelining. IEEE Trans. Comput. 56(11), 1493–1504 (2007)

    Article  MathSciNet  Google Scholar 

  20. živojnović, V., Velarde, J.M., Schläger, C., Meyr, H.: DSPSTONE: A DSP-oriented benchmarking methodology. In: Proc. Int. Conf. on Signal Processing and Technology (ICSPAT 1994) (1994)

    Google Scholar 

  21. Wilson, T.C., Grewal, G.W., Banerji, D.K.: An ILP Solution for Simultaneous Scheduling, Allocation, and Binding in Multiple Block Synthesis. In: Proc. Int. Conf. on Computer Design (ICCD), pp. 581–586 (1994)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Eriksson, M.V., Kessler, C.W. (2009). Integrated Modulo Scheduling for Clustered VLIW Architectures. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds) High Performance Embedded Architectures and Compilers. HiPEAC 2009. Lecture Notes in Computer Science, vol 5409. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92990-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-92990-1_7

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-92989-5

  • Online ISBN: 978-3-540-92990-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics