Skip to main content
Log in

Optimizing FORTRAN programs for hierarchical memory parallel processing systems

  • Regular Papers
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Parallel loops account for the greatest amount of parallelism in numerical programs. Executing nested loops in parallel with low run-time overhead is thus very important for achieving high performance in parallel processing systems. However, in parallel processing systems with caches or local memories in memory hierarchies, “thrashing problem” may arise whenever data move back and forth between the caches or local memories in different processors.

Previous techniques can only deal with the rather simple cases with one linear function in the perfect ly nested loop. In this paper, we present a parallel program optimizing technique called hybrid loop interchange (HL1) for the cases with multiple linear functions and loop-carried data dependences in the nested loop. With HLI we can easily eliminate or reduce the thrashing phenomena without reducing the program parallelism.

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

  1. J. Baer and W. Wang, Multilevel cache hierarchies: organizations, protocols, and performance,J. Parallel and Distributed Computing, 1989, 6(3), pp. 451–476.

    Article  Google Scholar 

  2. Z. Fang, Cache or local memory thrashing and compiler strategy in parallel processing systems. Proc. ICPP'90, St. Charles, IL, U.S.A., Aug. 13–17, 1990, pp. II271-II275.

  3. G. Jin, X. Yang and F. Chen, Loop staggering, loop compacting: Restructuring techniques for thrashing problem.J. of computer Science and Technology, 1993, 8(1), pp. 49–57.

    Article  Google Scholar 

  4. J. R. Allen and K. Kenedy, Automatic loop interchange,ACM SIGPLAN Notice, 1984, 19 (6), pp. 233–246.

    Article  Google Scholar 

  5. M. Wolfe, Advanced loop interchange. Proc. ICPP'86, St. Charles IL, U. S. A., Aug. 19–22, 1986, pp. 536–543.

  6. M. Wolfe, Optimizing supercompilers for supercomputing. Ph. D. Thesis, Univ Illinois at Urbana-Champaign, Dept. of Computer Science Rpt. No. 82-1009, 1982.

  7. C. D. Polychronopoulos, Parallel Programming and Compilers. Kluwer Academic Publishers, Boston, U. S. A. 1988.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Jin, G., Chen, F. Optimizing FORTRAN programs for hierarchical memory parallel processing systems. J. of Compt. Sci. & Technol. 8, 209–220 (1993). https://doi.org/10.1007/BF02939528

Download citation

  • Received:

  • Revised:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02939528

Keywords

Navigation