论文部分内容阅读
Parallel loops account for the greatest amount of parallelism in numerical programs.Executingnested loops in parallel with low run-time overhead is thus very important for achievinghigh performance in parallel processing systems.However,in parallel processing systems with caches orlocal memories in memory hierarchies,“thrashing problem”may arise when data move back and forthfrequently between the caches or local memories in different processors.The techniques associated withparallel compiler to solve the problem are not completely developed.In this paper,wepresent two restructuring techniques called loop staggering,loop staggering and compacting,with whichwe can not only eliminate the cache or local memory thrashing phenomena significantly,but alsoexploit the potential parallelism existing in outer serial loop.Loop staggering benefits the dynamic loopscheduling strategies,whereas loop staggering and compacting is good for static loop schedulingstrategies,Our method especially benefits parallel programs,in which a parallel loop is enclosed by aserial loop and array elements are repeatedly used in the different iterations of the parallel loop.
Parallel loops account for the greatest amount of parallelism in numerical programs. Executingnested loops in parallel with low run-time overhead is thus important for achieving high performance in parallel processing systems. Despite, in parallel processing systems with caches or local memories in memory hierarchies, “ thrashing problem ”may arise when data move back and forthfrequently between the caches or local memories in different processors. techniques associated with parallel compiler to solve the problem are not completely developed. In this paper, wepresent two restructuring techniques called loop staggering, loop staggering and compacting, with which we can not only eliminate the cache or local memory thrashing phenomena significantly, but also exppit the potential parallelism existing in outer serial loop. Loop staggering and good for static loop scheduling strategies, Our method especially benef its parallel programs, in which a parallel loop is enclosed by aserial loop and array elements are repeatedly used in the different iterations of the parallel loop.