We investigate the benefit of combining directory-based schemes with software schemes as a method for maintaining cache coherence on multiprocessors. The main idea is to maintain the directory hardware while allowing eligible write references to bypass the invalidation process. Static analysis is applied to parallel programs in order to mark those eligible write references. The sample results suggest that such reference marking can reduce invalidation requests significantly when it is combined with locality-preserving task scheduling and when the array subscripts are not complex. >
['Zhiyuan Li']
Software assistance for directory-based caches