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.
Similar content being viewed by others
References
J. Baer and W. Wang, Multilevel cache hierarchies: organizations, protocols, and performance,J. Parallel and Distributed Computing, 1989, 6(3), pp. 451–476.
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.
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.
J. R. Allen and K. Kenedy, Automatic loop interchange,ACM SIGPLAN Notice, 1984, 19 (6), pp. 233–246.
M. Wolfe, Advanced loop interchange. Proc. ICPP'86, St. Charles IL, U. S. A., Aug. 19–22, 1986, pp. 536–543.
M. Wolfe, Optimizing supercompilers for supercomputing. Ph. D. Thesis, Univ Illinois at Urbana-Champaign, Dept. of Computer Science Rpt. No. 82-1009, 1982.
C. D. Polychronopoulos, Parallel Programming and Compilers. Kluwer Academic Publishers, Boston, U. S. A. 1988.
Author information
Authors and Affiliations
Rights 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
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF02939528