Self-adaptive Address Mapping Mechanism for Access Pattern Awareness on DRAM
Published in 17th IEEE International Symposium on Parallel and Distributed Processing with Applications (ISPA 2019), 2019
Recommended citation: Self-adaptive Address Mapping Mechanism for Access Pattern Awareness on DRAM. Chundian Li, Mingzhe Zhang, Zhiwei Xu, Xianhe Sun. 17th IEEE International Symposium on Parallel and Distributed Processing with Applications. ISPA 2019.
Abstract
As DRAM is a considerably slow storage compared to CPU, the long access latency becomes a serious issue and affects the whole execution if fetching data is on the critical path. It is benefical if the data layout on DRAM, which is decided by address mapping, can serve data accesses with either great locality or bank-level parallelism. However for some cases, there exists a huge mismatch between access patterns and data layout of applications, which introduces the difficulty in obtaining locality or parallelism and current general address mapping cannot resolve it well.
In an effort to overcome this challenge, we present an self- adaptive address mapping mechanism in memory controller to be aware of different access patterns on DRAM without any prior knowledge of applications. Moreover, there is nearly no modification on softwares, including applications, libraries and OS. We take several versions of matrix multiplication as an early verification, since their patterns are regular and simple to control. Impressively, the results reveal that memory performance of naive version is improved up to 3.5x and 2.1x on average. The whole execution time is reduced by up to 40% and 21% on average. Even for optimized implementations, execution time is decreased by 8% averagely and memory performance speeds up to 1.8x.