The Effects of Granularity and Adaptivity on Private/Shared Classification for Coherence

Mahdad Davari, Alberto Ros, Erik Hagersten, Stefanos Kaxiras
2015 ACM Transactions on Architecture and Code Optimization (TACO)  
Classification of data into private and shared has proven to be a catalyst for techniques to reduce coherence cost, since private data can be taken out of coherence, and resources can be concentrated on providing coherence for shared data. In this paper we ask the question: how granularity-page-level vs. cache-line level-and adaptivity-going from shared to private-affect the outcome of classification and what is its final impact on coherence? To answer this, we create a classification
more » ... called Generational Classification, and a coherence protocol called Generational Coherence, which treats data as private or shared based on cache-line generations. We compare two coherence protocols based on selfinvalidation/self-downgrade with respect to data classification. Our findings are enlightening: (i) Some programs benefit from finer granularity, some benefit further from adaptivity, but some do not benefit from either. (ii) Reducing the amount of shared data has no perceptible impact on coherence misses caused by self-invalidation of shared data, hence no impact on performance. (iii) In contrast, classifying more data as private has implications for protocols that employ write-through as a means of self-downgrade, resulting in network traffic reduction-up to 30%-by reducing the write-through traffic.
doi:10.1145/2790301 fatcat:wk2bsaxxaje57b7sq2q4yqcxyq