Improving Data Locality and Reducing False-Sharing Based on Data Fusion
Li Zeng · Chinese Journal of Computers · 2004
Data transformation is an important method of locality optimizations. However, most of the existing optimizations focus on intra array data transformation. Although group transpose approach and inter array data regrouping method both faced the global data transformation, but they only gave a simple global data transformation method, and do not consider the performance portability on different architecture. This paper analyzes the data fusion based approach, which extends the inter array data regrouping methods. It describes the specific approach of how to fuse multiple arrays into one for some typical memory access pattern. In order to get the overall performance improvement, authors build a set of coarse performance cost rules to guide the compiler to fuse arrays. Based on the experimental evaluation of three programs on three different platforms, authors also analyze the performance portability of this locality optimization among different architectures, and add the architectural character to the performance cost rules to get performance portability on different architectures. The experimental results show that the data fusion based approach is effective for improving locality and reducing false sharing on different architectures for some kinds of applications. The performance improvement is especially notable on software DSM systems.