An Efficient Solution to the Cache Thrashing Problem Caused by True Data Sharing

  • Authors:
  • Guohua Jin;Zhiyuan Li;Fujie Chen

  • Affiliations:
  • Rice Univ., Houston, TX;Purdue Univ., West Lafayette, IN;Changsha Institute of Technology, Hunan, China

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 1998

Quantified Score

Hi-index 14.98

Visualization

Abstract

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.