Reducing Cache Conflicts by Multi-Level Cache Partitioning and Array Elements Mapping |
| |
Authors: | Chang Chih-Yung Sheu Jang-Ping Chen Hsi-Chiuen |
| |
Affiliation: | (1) Department of Computer and Information Science, Aletheia University, 32 Chen-Li St., Tamsui, Tapiei, Taiwan |
| |
Abstract: | This article presents an algorithm to reduce cache conflicts and improve cache localities. The proposed algorithm analyzes locality reference space for each reference pattern, partitions the multi-level cache into several parts with different sizes, and then maps array data onto the scheduled cache positions to eliminate cache conflicts. A greedy method for rearranging array variables in declared statement is also developed, to reduce the memory overhead for mapping arrays onto a partitioned cache. Besides, loop tiling and the proposed schemes are combined to exploit opportunities for both temporal and spatial reuse. Atom is used as a tool to develop a simulation of the behavior of the direct-mapping cache to demonstrate that our approach is effective at reducing number of cache conflicts and exploiting cache localities. Experimental results reveal that applying the cache partitioning scheme can greatly reduce the cache conflicts and thus save program execution time in both single-level cache and multi-level cache hierarchies. |
| |
Keywords: | cache conflict array padding cache partitioning multi-level cache direct mapping loop tiling |
本文献已被 SpringerLink 等数据库收录! |
|