Issue No. 05 - May (1998 vol. 47)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/12.677228
<p><b>Abstract</b>—When parallel programs are executed on multiprocessors with private caches, a set of data may be repeatedly used and modified by different threads. Such data sharing can often result in cache thrashing, which degrades memory performance. This paper presents and evaluates a loop restructuring method to reduce or even eliminate cache thrashing caused by true data sharing in nested parallel loops. This method uses a compiler analysis which applies linear algebra and the theory of numbers to the subscript expressions of array references. Due to this method's simplicity, it can be efficiently implemented in any parallel compiler. Experimental results show quite significant performance improvements over existing static and dynamic scheduling methods.</p>
Multiprocessors, cache thrashing, true data sharing, parallel threads, loop transformations, parallelizing compilers.
F. Chen, G. Jin and Z. Li, "An Efficient Solution to the Cache Thrashing Problem Caused by True Data Sharing," in IEEE Transactions on Computers, vol. 47, no. , pp. 527-543, 1998.