Skip to main content

Implementation of GTS

  • Conference paper
  • First Online:
Book cover PARLE'94 Parallel Architectures and Languages Europe (PARLE 1994)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 817))

  • 128 Accesses

Abstract

Graph Traverse Scheduling, GTS [ALTB89], was developed as a technique suitable for parallelizing DO loops with cycles on their dependence graph, but actually, GTS is a generalization of many loop restructuring techniques. The improvements achieved with its application in front of other techniques are the reduction of synchronizations, the introduction of scalar optimizations and the better use of the memory hierarchy. The purpose of this work has been the implementation of this new technique for a particular existing shared-memory multiprocessor and its integration on a source-to-source restructuring compiler. We studied the limitations imposed by the architecture to the technique and modified it in order to adapt the generated parallel code to the architecture. Finally, we measured the improvements of the new scheduling comparing the execution time of some example loops obtained by the commercial parallelizer with the execution time obtained by GTS.

This work was supported by the Ministry of Education of Spain under contract TIC-880/92, by ESPRIT 6634 Basic Research Action (APPARC) and by the CEPBA (European Center of Parallelism of Barcelona).

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho A., Sheti R and Ullman J., “Principles of Compiler Design”, Reading, MA: Addison-Wesley, 1986.

    Google Scholar 

  2. Alliant Computer Systems Corp., “FX/Series Architecture Manual”, 1985.

    Google Scholar 

  3. Alliant Computer Corporation, “Product Summary”, Dec 1988.

    Google Scholar 

  4. Ayguadé E., Labarta J., Torres J. and Borensztejn P., “GTS: Parallelization and Vectorization of Tight Recurrences”, Proc. of the Supercomputing'89, pp.531–539, 1989.

    Google Scholar 

  5. Ayguadé E., Labarta J., Torres J., LLaberia J.M. and Valero M.,“Parallelism Evaluation and Partitioning of Nested Loops for Shared Memory Multiprocessors”, chap. 11 of Advances in Languages and Compilers for Parallel Processing, PITMAN, 1991.

    Google Scholar 

  6. Borensztejn P., Labarta J. and Barrado C., “Measures of Parallelism at Compile Time”, Euromicro Workshop on Parallel and Distributed Processing, Jan 1993.

    Google Scholar 

  7. Callaghan D., Cocke J., Kennedy K., “Estimating Interlock and Improving Balance for pipelined arquitectures”, Proc. of the International Conference on Parallel Processing, pp. 295–304, 1987.

    Google Scholar 

  8. Cytron R., “DOACROSS: Beyong Vectorization for Multiprocessors”, Proc. of the International Conference on Parallel Procesing, pp. 836–844, 1986.

    Google Scholar 

  9. Midkiff S., “Automatic Generation of Synchronization Instructions for Parallel Processors”, MS. Thesis, CSRD Report No. 588, Center of Supercomputing Research and Development, University of Illinois, IL, May 1986.

    Google Scholar 

  10. Midkiff S. and Padua D., “Compiler Algorithms for Synchronization”, IEEE Transactions on Computers, Vol C-36, No 12, pp.1485–1495, Dec 1987.

    Google Scholar 

  11. Padua D. and Wolfe M. “Advanced Compiler Optimizations for Supercomputers”, Communications of the ACM, vol. 29, no. 12, pp.1184–1201, December 1986.

    Article  Google Scholar 

  12. Pointer L., “Perfect Report: 1”, CSRD Report No. 896, Center of Supercomputing Research and Development, University of Illinois, IL, July 1989.

    Google Scholar 

  13. Polychronopoulos C. and Kuck D.,“Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputres”, IEEE Transactions on Computers, vol. C–36, no. 12, December 1987.

    Google Scholar 

  14. Polychronopoulos C et al. “Parafrase-2: An Environment for Parallelizing, Partitioning, Synchronizing and Scheduling of Programs on Multiprocessors”, Proc of the International Conference on Parallel Processing, vol II, pp.39–48, 1989.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Costas Halatsis Dimitrios Maritsas George Philokyprou Sergios Theodoridis

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Barrado, C., Labarta, J., Borensztejn, P. (1994). Implementation of GTS. In: Halatsis, C., Maritsas, D., Philokyprou, G., Theodoridis, S. (eds) PARLE'94 Parallel Architectures and Languages Europe. PARLE 1994. Lecture Notes in Computer Science, vol 817. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58184-7_131

Download citation

  • DOI: https://doi.org/10.1007/3-540-58184-7_131

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58184-0

  • Online ISBN: 978-3-540-48477-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics